नेटवर्किंग

नेटवर्किंग

Lizard पर एक ही प्रोजेक्ट और रीजन की सर्विसेज़ <service>.lizard.internal पते पर प्राइवेट नेटवर्क के ज़रिए, किसी भी पोर्ट पर, बिना पब्लिक डोमेन के एक-दूसरे तक पहुँचती हैं। हर वेब सर्विस को डिप्लॉय होते ही ऑटोमैटिक TLS के साथ एक जेनरेटेड *.onlizard.com डोमेन भी मिलता है। आप अपना होस्टनाम भी जोड़ सकते हैं। Managed Postgres और Managed Redis भी इसी प्राइवेट नेटवर्क से जुड़ते हैं। सीधे प्राइवेट नेटवर्किंग, कस्टम डोमेन या पोर्ट पर जाएँ।

जेनरेटेड डोमेन

Lizard हर सर्विस के लिए <name>-<suffix>.onlizard.com रूप में एक डिफ़ॉल्ट डोमेन बनाता है। पुरानी सर्विसेज़ का डोमेन <words>.<region>.onlizard.com ही रहता है। डोमेन देखने के लिए:

lizard domain                    # show the service's current domain
lizard domain generate           # claim a *.onlizard.com subdomain if the service has none

अगर जेनरेटेड डोमेन पहले से है, तो lizard domain generate वही लौटाता है; और जब तक सर्विस पर कस्टम डोमेन लगा है, यह कमांड फ़ेल होती है। Managed Object Storage से सर्व की गई फ़ाइलें इसकी जगह एक गेटवे होस्ट इस्तेमाल करती हैं: s3-eu-west-1.onlizard.com या s3-us-east-1.onlizard.com।

कस्टम डोमेन जोड़ें

होस्टनाम को पोज़िशनल आर्गुमेंट के रूप में दें। add सबकमांड नहीं है:

lizard domain app.example.com --service web

Lizard वे DNS रिकॉर्ड लौटाता है जिन्हें आपको बनाना है (होस्टनाम के लिए एक CNAME और वेरिफ़िकेशन के लिए एक TXT रिकॉर्ड)। इन्हें अपने DNS प्रोवाइडर के पास जोड़ें।

वेरिफ़ाई करें

DNS प्रोपेगेट हो जाने के बाद डोमेन एक्टिव करें:

lizard domain verify app.example.com --service web

Lizard TXT रिकॉर्ड जाँचता है, डोमेन एक्टिव करता है और TLS सर्टिफ़िकेट प्रोविज़न करता है।

डोमेन हटाएँ

lizard domain delete app.example.com --service web
lizard domain rm app.example.com --service web --yes   # alias, skip confirmation

अपनी सर्विस का लिसनिंग पोर्ट बदलें

डोमेन सर्विस के कंटेनर पोर्ट पर रूट होते हैं। अगर आपकी सर्विस किसी दूसरे पोर्ट पर लिसन करती है, तो कंटेनर पोर्ट बदलें और रीडिप्लॉय करें:

lizard port 8080 --service web
lizard redeploy --service web

वर्कर सर्विसेज़

वर्कर-मोड सर्विस (containerPort=0) पर अब भी जेनरेटेड डोमेन दिख सकता है, लेकिन वह कुछ भी सर्व नहीं करती: न कोई लिसनर है, न लोड-बैलेंसर रूट। वर्कर पर कस्टम डोमेन न जोड़ें।

प्राइवेट नेटवर्किंग

एक ही प्रोजेक्ट की सर्विसेज़ <service>.lizard.internal पते पर, सर्विस जिस भी पोर्ट पर लिसन करती हो उस पर, बिना पब्लिक डोमेन के एक-दूसरे तक पहुँचती हैं। होस्टनाम को ${{api.LIZARD_PRIVATE_DOMAIN}} रेफ़रेंस से इस्तेमाल करें। Managed Postgres और Managed Redis इसी नेटवर्क पर DATABASE_PRIVATE_URL और REDIS_PRIVATE_URL उपलब्ध कराते हैं; Postgres कनेक्शन स्ट्रिंग देखें। ये नाम सिर्फ़ प्रोजेक्ट के अंदर रिज़ॉल्व होते हैं, और दूसरे प्रोजेक्ट्स की सर्विसेज़ इन पतों तक नहीं पहुँच सकतीं। ट्रैफ़िक Lizard के नेटवर्क के अंदर ही रहता है, इसलिए सर्विसेज़ के बीच सादा http:// काफ़ी है।

प्राइवेट नाम सिर्फ़ एक ही रीजन की सर्विसेज़ और डेटाबेस के बीच काम करते हैं। अलग-अलग रीजन के बीच पब्लिक URL इस्तेमाल करें। Lizard यह नाम एक बार सेट करता है: सर्विस के नाम को लोअरकेस में बदलकर, बाकी कैरेक्टर को - से बदलकर, और नाम टकराने पर -2, -3 जोड़कर। सर्विस का नाम बदलने से यह नहीं बदलता, इसलिए नाम हाथ से टाइप करने के बजाय ${{api.LIZARD_PRIVATE_DOMAIN}} रेफ़रेंस इस्तेमाल करें।

lizard secrets set API_URL='http://${{api.LIZARD_PRIVATE_DOMAIN}}:8080' --service web

डैशबोर्ड में मैनेज करें

डैशबोर्ड (lizard open) में सर्विस खोलें और सेटिंग्स → नेटवर्किंग पर जाएँ। वहाँ हर डोमेन का वेरिफ़िकेशन और DNS की स्थिति दिखती है, और आप होस्टनाम जोड़ या हटा सकते हैं।

यह भी देखें

अपडेट: