1. परिचय
इस कोडलैब में, फ़ॉरवर्डिंग टारगेट के तौर पर पूरी तरह क्वालिफ़ाइड डोमेन नेम (एफ़क्यूडीएन) का इस्तेमाल करके, Cloud DNS के आउटबाउंड फ़ॉरवर्डिंग ज़ोन सेट अप करने का तरीका बताया गया है. इस सुविधा की मदद से, फ़ॉरवर्डिंग ज़ोन के कॉन्फ़िगरेशन में आईपी पतों को हार्ड कोड करने के बजाय, डीएनएस नेम से रिज़ॉल्व किए गए आईपी पतों पर डीएनएस ट्रैफ़िक भेजा जा सकता है. यह खास तौर पर तब फ़ायदेमंद होता है, जब आपके बैकएंड डीएनएस रिज़ॉल्वर के आईपी पते बदलते हैं. ऐसा इसलिए, क्योंकि एफ़क्यूडीएन के लिए डीएनएस रिकॉर्ड को अपडेट किया जा सकता है और Cloud DNS, बदलावों को अपने-आप पिक अप कर लेता है.
इस कोडलैब के आखिर तक, आपके पास Cloud DNS फ़ॉरवर्डिंग ज़ोन को कॉन्फ़िगर करने का विकल्प होगा. ये ज़ोन इनका इस्तेमाल करते हैं:
- एफ़क्यूडीएन टारगेट, जो A/AAAA रिकॉर्ड वाले निजी ज़ोन से मैच करता है.
- क्षेत्र के हिसाब से या ट्रैफ़िक के बंटवारे के लिए, Cloud DNS की रूटिंग नीतियों (जियोलोकेशन या वेटेड राउंड रॉबिन) के साथ काम करने वाला एफ़क्यूडीएन टारगेट.
एफ़क्यूडीएन फ़ॉरवर्डिंग के बारे में खास जानकारी
Cloud DNS फ़ॉरवर्डिंग की मदद से, Google Cloud Platform के संसाधनों से, Google Cloud Platform के बाहर होस्ट किए गए निजी डीएनएस नेम को रिज़ॉल्व किया जा सकता है. उदाहरण के लिए, ऑन-प्राइमिस या अन्य क्लाउड. आम तौर पर, यह सुविधा टारगेट किए गए आईपी पतों की सूची में फ़ॉरवर्ड करने की सुविधा देती है. एफ़क्यूडीएन फ़ॉरवर्डिंग की सुविधा, फ़ॉरवर्डिंग ज़ोन में एफ़क्यूडीएन को फ़ॉरवर्डिंग टारगेट के तौर पर तय करने की सुविधा देती है.
एफ़क्यूडीएन तय करने पर, Cloud DNS उसे आईपी पतों में बदल देता है. इसके लिए, वह इंटरनल लुकअप का इस्तेमाल करता है. यह लुकअप, सोर्स नेटवर्क के रिज़ॉल्यूशन लॉजिक का इस्तेमाल करता है. इसका मतलब है कि एफ़क्यूडीएन टारगेट, किसी निजी ज़ोन, डीएनएस रूटिंग नीति (जियोलोकेशन या वेटेड राउंड रॉबिन) या इंटरनेट के सार्वजनिक डोमेन नेम से मेल खा सकता है. इसके बाद, Cloud DNS क्वेरी को रिज़ॉल्व किए गए डेस्टिनेशन आईपी पर फ़ॉरवर्ड करता है.
आपको क्या बनाना है
नए निजी ज़ोन की मदद से, रीजनल एफ़क्यूडीएन फ़ॉरवर्डिंग
आपको एक ऐसा सेटअप बनाना होगा जो डीएनएस ट्रैफ़िक के लिए क्षेत्रीय अफ़िनिटी हासिल करता हो. इसके लिए, निजी डीएनएस ज़ोन बनाना और उसमें जगह की जानकारी के हिसाब से रूटिंग की नीति कॉन्फ़िगर करना ज़रूरी है. इसके बाद, फ़ॉरवर्डिंग ज़ोन को इस एफ़क्यूडीएन टारगेट से लिंक करना होगा. इससे यह पक्का होता है कि किसी खास इलाके (उदाहरण के लिए, us-east1) से आने वाला ट्रैफ़िक, उसी इलाके के डीएनएस सर्वर पर भेजा जाए.
मौजूदा निजी ज़ोन के साथ एफ़क्यूडीएन फ़ॉरवर्ड करना
आपको फ़ॉरवर्डिंग ज़ोन बनाने का तरीका पता चलेगा. यह ज़ोन, किसी मौजूदा निजी डीएनएस ज़ोन में A/AAAA रिकॉर्ड के ज़रिए बैक किए गए एफ़क्यूडीएन को टारगेट करता है. इस इमेज में, एफ़क्यूडीएन फ़ॉरवर्डिंग टारगेट का इस्तेमाल करके, स्टैटिक तौर पर तय किए गए आईपी पतों पर क्वेरी फ़ॉरवर्ड करने का तरीका दिखाया गया है.
आपको क्या सीखने को मिलेगा
एफ़क्यूडीएन फ़ॉरवर्डिंग का कॉन्सेप्ट
आपको पता चलेगा कि एफ़क्यूडीएन फ़ॉरवर्डिंग, डीएनएस फ़ॉरवर्डिंग को बढ़ाती है. ऐसा इसलिए होता है, क्योंकि इसमें आउटबाउंड क्वेरी के लिए, आईपी पतों के बजाय एफ़क्यूडीएन फ़ॉरवर्डिंग टारगेट तय करने की सुविधा मिलती है.
एफ़क्यूडीएन फ़ॉरवर्डिंग के फ़ायदे
आपको पता चलेगा कि इस सुविधा की मदद से, बैकएंड डीएनएस रिज़ॉल्वर के आईपी पते बदलने पर, मैन्युअल अपडेट करने की ज़रूरत नहीं होती. इसकी वजह यह है कि Cloud DNS, एफ़क्यूडीएन के डीएनएस रिकॉर्ड में होने वाले बदलावों को अपने-आप अपडेट कर देता है. इससे डीएनएस इन्फ़्रास्ट्रक्चर को ज़्यादा आसानी से स्केल किया जा सकता है. इसके लिए, डीएनएस सर्वर को शेयर किए गए नेम सर्वर के पीछे रखा जाता है या डाइनैमिक तरीके से स्केल किया जाता है.
Cloud DNS की रूटिंग नीतियों के साथ इंटिग्रेशन
इस लेख में, क्षेत्र के हिसाब से उपयोगकर्ताओं को रीडायरेक्ट करने के लिए, एफ़क्यूडीएन फ़ॉरवर्डिंग को Cloud DNS की रूटिंग नीतियों (जियोलोकेशन या वेटेड राउंड रॉबिन) के साथ जोड़ने का तरीका बताया गया है. इससे, अलग-अलग जगहों पर डिप्लॉय किए गए वर्शन की परफ़ॉर्मेंस को ऑप्टिमाइज़ किया जा सकता है. साथ ही, कॉन्फ़िगर किए गए वेट के आधार पर ट्रैफ़िक को बांटा जा सकता है.
Google Cloud सीएलआई कमांड सिंटैक्स
एफ़क्यूडीएन फ़ॉरवर्डिंग ज़ोन सेट अप करने के लिए, आपको gcloud dns managed-zones create
कमांड और उससे जुड़े फ़्लैग (--forwarding-targets
, --private-forwarding-targets
) के बारे में पता चलेगा.
ज़रूरी शर्तें
इस कोडलैब को पूरा करने के लिए, आपके पास ये चीज़ें होनी चाहिए:
- एक Google खाता
- बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट
- gcloud कमांड-लाइन टूल इंस्टॉल और कॉन्फ़िगर किया गया हो
- क्लाउड डीएनएस और डीएनएस के कॉन्सेप्ट की बुनियादी जानकारी
2. सेट अप करना
एफ़क्यूडीएन फ़ॉरवर्डिंग की स्थितियों को समझना
Cloud DNS FQDN फ़ॉरवर्डिंग का इस्तेमाल कई मामलों में किया जा सकता है:
- A/AAAA रिकॉर्ड वाला निजी ज़ोन: अगर एफ़क्यूडीएन, निजी ज़ोन में मौजूद A/AAAA रिकॉर्ड से मेल खाता है, तो हल किए गए आईपी पते, फ़ॉरवर्ड करने की सूची में जोड़ दिए जाते हैं. साथ ही, यह व्यवहार, सीधे टारगेट आईपी पतों पर फ़ॉरवर्ड करने जैसा ही होता है.
- जियोलोकेशन की नीति वाला निजी ज़ोन: जियोलोकेशन की नीतियों की मदद से, सोर्स की जियोलोकेशन की जानकारी दी जा सकती है और उससे जुड़े जवाब दिए जा सकते हैं. इससे, देश/इलाके के हिसाब से ट्रैफ़िक डिस्ट्रिब्यूशन की पुष्टि की जा सकती है. यह रीजनल डीएनएस फ़ॉरवर्डिंग और अफ़िनिटी के लिए अहम है.
- वज़न वाले राउंड रॉबिन (डब्ल्यूआरआर) नीति वाला निजी ज़ोन: डब्ल्यूआरआर नीतियों की मदद से, किसी डीएनएस नेम के लिए हर आईपी पते के लिए अलग-अलग वज़न तय किए जा सकते हैं. इससे यह पक्का किया जा सकता है कि ट्रैफ़िक, कॉन्फ़िगर किए गए वज़न के हिसाब से बांटा गया है.
- A/AAAA रिकॉर्ड वाला सार्वजनिक ज़ोन: अगर एफ़क्यूडीएन, उसी नेटवर्क पर दिखने वाले किसी निजी नेम से मेल नहीं खाता है, तो Cloud DNS सार्वजनिक इंटरनेट का इस्तेमाल करके उसे रिज़ॉल्व करने की कोशिश करता है.
एफ़क्यूडीएन फ़ॉरवर्डिंग के लिए, Google Cloud सीएलआई कमांड को समझना
gcloud सीएलआई कमांड का इस्तेमाल करके, एफ़क्यूडीएन फ़ॉरवर्डिंग टारगेट वाला फ़ॉरवर्डिंग ज़ोन बनाने के लिए, आपको gcloud dns managed-zones create
कमांड का इस्तेमाल करना होगा. एफ़क्यूडीएन टारगेट की जानकारी देने के लिए, --forwarding-targets
या --private-forwarding-targets
मुख्य फ़्लैग होते हैं. स्टैंडर्ड और निजी रूटिंग के तरीकों के बारे में जानकारी के लिए, कृपया दस्तावेज़ देखें.
--forwarding-targets
: टारगेट नेम सर्वर के IPv4/IPv6 पतों या एक डोमेन नेम की सूची, जिस पर ज़ोन क्वेरी फ़ॉरवर्ड करेगा. सार्वजनिक तौर पर दिखने के लिए अनदेखा किया जाता है. RFC1918 के अलावा दूसरे पतों को इंटरनेट के ज़रिए टारगेट पर फ़ॉरवर्ड किया जाएगा. RFC1918 पते, VPC के ज़रिए फ़ॉरवर्ड किए जाएंगे.--private-forwarding-targets
: टारगेट नेम सर्वर के IPv4/IPv6 पतों या एक डोमेन नेम की सूची, जिस पर ज़ोन क्वेरी फ़ॉरवर्ड करेगा. सार्वजनिक तौर पर दिखने के लिए अनदेखा किया जाता है. इस पैरामीटर के लिए बताए गए सभी पतों को वीपीसी के ज़रिए ऐक्सेस किया जाएगा.
सिंटैक्स का सैंपल:
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=DEFAULT_FQDN_TARGET \
--visibility=private
ध्यान दें कि --forwarding-targets
के बजाय --private-forwarding-targets
का इस्तेमाल किया जा सकता है.
Google Cloud Platform प्रोजेक्ट सेट अप करना
gcloud सीएलआई में लॉगिन करें.
gcloud auth login
प्रोजेक्ट बनाएं.
gcloud projects create my-codelab-project
Cloud DNS API को चालू करें. इसके लागू होने में कुछ मिनट लग सकते हैं.
gcloud services enable dns.googleapis.com
इस कोडलैब में, नए प्रोजेक्ट के साथ बनाए गए डिफ़ॉल्ट VPC नेटवर्क का इस्तेमाल किया जाता है. इसके बजाय, कोई नया नेटवर्क भी बनाया जा सकता है.
3. नए प्राइवेट ज़ोन के साथ, क्षेत्र के हिसाब से एफ़क्यूडीएन फ़ॉरवर्डिंग सेट अप करना
इस उदाहरण में, क्षेत्र के हिसाब से डीएनएस फ़ॉरवर्डिंग करने का तरीका बताया गया है. इससे यह पक्का किया जा सकता है कि किसी खास इलाके का ट्रैफ़िक, उसी इलाके के डीएनएस सर्वर पर फ़ॉरवर्ड किया जाए.
निजी डीएनएस ज़ोन बनाना
सबसे पहले, एक निजी डीएनएस ज़ोन (उदाहरण के लिए, foo.com) बनाएं. यह ज़ोन आपके एफ़क्यूडीएन और उससे जुड़ी जगह की जानकारी के आधार पर रूटिंग की नीति को होस्ट करेगा. यह ज़ोन आपके डिफ़ॉल्ट नेटवर्क को दिखना चाहिए.
gcloud dns managed-zones create my-zone \
--description="Private Zone for FQDN outbound DNS forwarding." \
--dns-name=foo.com. \
--networks=default \
--visibility=private
निजी ज़ोन में, जगह की जानकारी के हिसाब से रूटिंग की नीति का रिकॉर्ड सेट करना
इसके बाद, my-zone में एक रिकॉर्ड सेट (उदाहरण के लिए, geo.foo.com) बनाएं और जियोलोकेशन रूटिंग की नीति लागू करें. इस उदाहरण में, asia-east1 और asia-west1 के लिए आईपी पते कॉन्फ़िगर किए गए हैं.
gcloud dns record-sets create geo.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--routing-policy-type="GEO" \
--routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"
ध्यान दें: अगर जियोफ़ेंसिंग की सुविधा बंद है (डिफ़ॉल्ट और सुझाई गई), तो अगर ओरिजनल इलाके में कोई टारगेट खराब है, तो क्वेरी को सबसे नज़दीक के ऐसे इलाके पर भेजा जाएगा जहां इंटरनेट की सेवा ठीक है.
एफ़क्यूडीएन टारगेट के साथ फ़ॉरवर्डिंग ज़ोन बनाना
उसी डिफ़ॉल्ट नेटवर्क में दिखने वाला फ़ॉरवर्डिंग ज़ोन (geo.test.com.) बनाएं और geo.foo.com. (जियोलोकेशन रूटिंग नीति वाला एफ़क्यूडीएन) को फ़ॉरवर्डिंग टारगेट के तौर पर सेट करें.
gcloud dns managed-zones create my-geo-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
--dns-name=geo.test.com. \
--networks=default \
--private-forwarding-targets=geo.foo.com. \
--visibility=private
geo.test.com से मैच करने वाली किसी भी डीएनएस क्वेरी को अब geo.foo.com के रिज़ॉल्व किए गए आईपी पते (उदाहरण के लिए, 192.168.0.1 या 192.168.0.2) पर फ़ॉरवर्ड किया जाता है.यह क्वेरी के सोर्स क्षेत्र के आधार पर किया जाता है.
4. मौजूदा प्राइवेट ज़ोन के साथ एफ़क्यूडीएन फ़ॉरवर्डिंग सेट अप करना
आपके पास पहले से मौजूद निजी डीएनएस ज़ोन हो
मान लें कि आपके पास पहले से ही my-zone (foo.com.) नाम का निजी डीएनएस ज़ोन है, जो डिफ़ॉल्ट नेटवर्क को दिखता है.
इस निजी ज़ोन में डीएनएस संसाधन रिकॉर्ड बनाना
अपने मौजूदा my-zone में, a.foo.com के लिए A टाइप रिकॉर्ड बनाएं.
gcloud dns record-sets create a.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--rrdatas=1.2.3.4
फ़ॉरवर्डिंग ज़ोन बनाना और एफ़क्यूडीएन टारगेट तय करना
क्षेत्रीय एफ़क्यूडीएन के मामले की तरह ही, फ़ॉरवर्डिंग ज़ोन बनाएं और फ़ॉरवर्डिंग टारगेट के तौर पर a.foo.com. डालें.
gcloud dns managed-zones create my-a-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
--dns-name=a.test.com. \
--networks=default \
--private-forwarding-targets=a.foo.com. \
--visibility=private
a.test.com से मैच होने वाली कोई भी डीएनएस क्वेरी, a.foo.com के रिज़ॉल्व किए गए आईपी पते 1.2.3.4 पर फ़ॉरवर्ड की जाएगी.
5. व्यवस्थित करें
किसी निजी ज़ोन को मिटाने से पहले, उसमें मौजूद सभी ResourceRecordSet मिटाने होंगे. हालांकि, NS और SOA रिकॉर्ड को मिटाने की ज़रूरत नहीं है. ये रिकॉर्ड अपने-आप जनरेट होते हैं और निजी ज़ोन में हमेशा मौजूद रहते हैं.
प्राइवेट ज़ोन में, जगह की जानकारी के आधार पर रूटिंग की नीति मिटाएं.
gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"
प्राइवेट ज़ोन में मौजूद A रिकॉर्ड मिटाएं.
gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"
प्राइवेट ज़ोन मिटाएं.
gcloud dns managed-zones delete "my-zone"
जगह की जानकारी के आधार पर रूटिंग की नीति के लिए, फ़ॉरवर्डिंग ज़ोन मिटाएं.
gcloud dns managed-zones delete "my-geo-fwd-zone"
A रिकॉर्ड के लिए फ़ॉरवर्डिंग ज़ोन मिटाएं.
gcloud dns managed-zones delete "my-a-fwd-zone"
6. बधाई हो
बधाई हो, आपने एफ़क्यूडीएन आउटबाउंड डीएनएस फ़ॉरवर्डिंग का इस्तेमाल करना सीख लिया है!
इसके बारे में और पढ़ें
- Cloud DNS
- Cloud DNS फ़ॉरवर्डिंग ज़ोन बनाना
- आउटबाउंड डीएनएस फ़ॉरवर्डिंग
- डीएनएस के बारे में बुनियादी जानकारी