Cloud DNS FQDN आउटबाउंड डीएनएस फ़ॉरवर्डिंग

1. परिचय

ef2d068c413a15bd.png

इस कोडलैब में, आपको फ़ॉरवर्डिंग टारगेट के तौर पर पूरी तरह क्वालिफ़ाइड डोमेन नेम (एफ़क्यूडीएन) का इस्तेमाल करके, Cloud DNS आउटबाउंड फ़ॉरवर्डिंग ज़ोन सेट अप करने का तरीका बताया जाएगा. इस सुविधा की मदद से, डीएनएस ट्रैफ़िक को डीएनएस नाम से हल किए गए आईपी पतों पर भेजा जा सकता है. इसके बजाय, फ़ॉरवर्डिंग ज़ोन के कॉन्फ़िगरेशन में आईपी पतों को हार्ड-कोड किया जा सकता है. यह खास तौर पर तब फ़ायदेमंद होता है, जब आपके बैकएंड डीएनएस रिज़ॉल्वर के आईपी पते बदलते हैं. ऐसा इसलिए, क्योंकि आपके पास FQDN के लिए डीएनएस रिकॉर्ड अपडेट करने का विकल्प होता है. साथ ही, Cloud DNS अपने-आप बदलावों को चुन लेता है.

इस कोडलैब के आखिर तक, Cloud DNS फ़ॉरवर्डिंग ज़ोन को कॉन्फ़िगर किया जा सकेगा. ये ज़ोन इनका इस्तेमाल करते हैं:

  • ऐसा टारगेट FQDN जो A/AAAA रिकॉर्ड वाले किसी निजी ज़ोन से मेल खाता हो.
  • यह एक ऐसा एफ़क्यूडीएन टारगेट होता है जिसे Cloud DNS की राउटिंग नीतियों (जियोलोकेशन या वेटेड राउंड रॉबिन) के ज़रिए बैक किया जाता है. इसका इस्तेमाल, क्षेत्रीय अफ़िनिटी या ट्रैफ़िक डिस्ट्रिब्यूशन के लिए किया जाता है.

एफ़क्यूडीएन फ़ॉरवर्ड करने के बारे में खास जानकारी

Cloud DNS फ़ॉरवर्डिंग की मदद से, Google Cloud Platform के संसाधनों से, Google Cloud Platform के बाहर होस्ट किए गए प्राइवेट डीएनएस नामों को हल किया जा सकता है. उदाहरण के लिए, ऑन-प्रिमाइसेस या अन्य क्लाउड पर. आम तौर पर, यह सुविधा टारगेट आईपी पतों की सूची पर फ़ॉरवर्ड करने की सुविधा देती है. एफ़क्यूडीएन फ़ॉरवर्डिंग की मदद से, इसे और बेहतर बनाया जा सकता है. इसकी मदद से, फ़ॉरवर्डिंग ज़ोन में एफ़क्यूडीएन को फ़ॉरवर्डिंग टारगेट के तौर पर सेट किया जा सकता है.

जब कोई एफ़क्यूडीएन तय किया जाता है, तो Cloud DNS उसे आईपी पतों में बदल देता है. इसके लिए, वह इंटरनल लुकअप का इस्तेमाल करता है. यह लुकअप, सोर्स नेटवर्क के रिज़ॉल्यूशन लॉजिक का इस्तेमाल करता है. इसका मतलब है कि एफ़क्यूडीएन टारगेट, किसी निजी ज़ोन, डीएनएस राउटिंग नीति (जियोलोकेशन या वेटेड राउंड रॉबिन) या इंटरनेट के सार्वजनिक डोमेन नेम से भी मेल खा सकता है. इसके बाद, Cloud DNS क्वेरी को हल किए गए डेस्टिनेशन आईपी पर फ़ॉरवर्ड करता है.

आपको क्या बनाने को मिलेगा

नए प्राइवेट ज़ोन के साथ रीजनल FQDN फ़ॉरवर्डिंग

आपको ऐसा सेटअप बनाना होगा जो डीएनएस ट्रैफ़िक के लिए, रीजनल अफ़िनिटी को पूरा करता हो. इसके लिए, एक निजी डीएनएस ज़ोन बनाया जाता है. साथ ही, इसमें जियोलोकेशन राउटिंग की नीति कॉन्फ़िगर की जाती है. इसके बाद, फ़ॉरवर्डिंग ज़ोन को इस FQDN टारगेट से लिंक किया जाता है. इससे यह पक्का होता है कि किसी खास इलाके (उदाहरण के लिए, us-east1) से आने वाले ट्रैफ़िक को, उस इलाके के डीएनएस सर्वर पर फ़ॉरवर्ड किया जाए.

मौजूदा प्राइवेट ज़ोन के साथ FQDN फ़ॉरवर्ड करना

आपको एक ऐसा फ़ॉरवर्डिंग ज़ोन बनाने का तरीका बताया जाएगा जो किसी मौजूदा प्राइवेट डीएनएस ज़ोन में मौजूद A/AAAA रिकॉर्ड से जुड़े FQDN को टारगेट करता है. इससे, स्टैटिक तौर पर तय किए गए आईपी पतों पर क्वेरी फ़ॉरवर्ड करने का पता चलता है. इन आईपी पतों को एफ़क्यूडीएन फ़ॉरवर्डिंग टारगेट का इस्तेमाल करके रिज़ॉल्व किया जाता है.

आपको क्या सीखने को मिलेगा

एफ़क्यूडीएन फ़ॉरवर्ड करने का कॉन्सेप्ट

आपको यह पता चलेगा कि एफ़क्यूडीएन फ़ॉरवर्डिंग, डीएनएस फ़ॉरवर्डिंग की सुविधा को बेहतर बनाती है. इसकी मदद से, आउटबाउंड क्वेरी के लिए फ़ॉरवर्डिंग टारगेट के तौर पर सिर्फ़ आईपी पतों के बजाय, एफ़क्यूडीएन फ़ॉरवर्डिंग टारगेट तय किया जा सकता है.

एफ़क्यूडीएन फ़ॉरवर्डिंग के फ़ायदे

आपको पता चलेगा कि इस सुविधा से, बैकएंड डीएनएस रिज़ॉल्वर के आईपी पते बदलने पर, मैन्युअल तरीके से अपडेट करने की ज़रूरत नहीं पड़ती. ऐसा इसलिए, क्योंकि Cloud DNS, FQDN के डीएनएस रिकॉर्ड से बदलावों को अपने-आप पिक कर लेता है. यह डीएनएस इंफ़्रास्ट्रक्चर को ज़्यादा आसानी से स्केल करने की सुविधा भी देता है. इससे डीएनएस सर्वर को शेयर किए गए नाम के पीछे रखा जा सकता है या डाइनैमिक तरीके से स्केल किया जा सकता है.

Cloud DNS की राउटिंग नीतियों के साथ इंटिग्रेशन

आपको यह पता चलेगा कि क्षेत्र के हिसाब से उपयोगकर्ताओं को टारगेट करने के लिए, FQDN फ़ॉरवर्डिंग को Cloud DNS की राउटिंग नीतियों (जियोलोकेशन या वेटेड राउंड रॉबिन) के साथ कैसे जोड़ा जा सकता है. साथ ही, भौगोलिक रूप से अलग-अलग जगहों पर डिप्लॉयमेंट के लिए परफ़ॉर्मेंस को कैसे ऑप्टिमाइज़ किया जा सकता है. इसके अलावा, कॉन्फ़िगर किए गए वेट के आधार पर ट्रैफ़िक को कैसे डिस्ट्रिब्यूट किया जा सकता है.

Google Cloud CLI कमांड का सिंटैक्स

आपको एफ़क्यूडीएन फ़ॉरवर्डिंग ज़ोन सेट अप करने के लिए, gcloud dns managed-zones create कमांड और इससे जुड़े फ़्लैग (--forwarding-targets, --private-forwarding-targets) के बारे में जानकारी मिलेगी.

ज़रूरी शर्तें

इस कोडलैब को पूरा करने के लिए, आपके पास ये चीज़ें होनी चाहिए:

  • एक Google खाता
  • बिलिंग की सुविधा वाला Google Cloud प्रोजेक्ट
  • gcloud कमांड-लाइन टूल इंस्टॉल और कॉन्फ़िगर किया गया हो
  • Cloud DNS और डीएनएस के कॉन्सेप्ट की बुनियादी जानकारी

2. सेट अप करना

एफ़क्यूडीएन फ़ॉरवर्ड करने की स्थितियों के बारे में जानकारी

Cloud DNS में FQDN फ़ॉरवर्ड करने की सुविधा का इस्तेमाल कई तरह से किया जा सकता है:

  • A/AAAA रिकॉर्ड वाला प्राइवेट ज़ोन: अगर FQDN, किसी प्राइवेट ज़ोन में मौजूद A/AAAA रिकॉर्ड से मेल खाता है, तो हल किए गए आईपी पतों को फ़ॉरवर्डिंग सूची में जोड़ दिया जाता है. साथ ही, इसका व्यवहार सीधे तौर पर टारगेट आईपी पतों पर फ़ॉरवर्ड करने जैसा होता है.
  • जियोलोकेशन की नीति वाला प्राइवेट ज़ोन: जियोलोकेशन की नीतियों की मदद से, सोर्स जियोलोकेशन तय किया जा सकता है और उसके हिसाब से जवाब दिए जा सकते हैं. इससे, भौगोलिक जगह के हिसाब से ट्रैफ़िक डिस्ट्रिब्यूशन की पुष्टि की जा सकती है. यह रीजनल डीएनएस फ़ॉरवर्डिंग और अफ़िनिटी के लिए ज़रूरी है.
  • वेटेड राउंड रॉबिन (डब्ल्यूआरआर) नीति वाला प्राइवेट ज़ोन: डब्ल्यूआरआर नीतियों की मदद से, डीएनएस नाम के लिए हर आईपी पते के हिसाब से अलग-अलग वेट तय किए जा सकते हैं. इससे यह पुष्टि की जा सकती है कि ट्रैफ़िक को कॉन्फ़िगर किए गए वेट के हिसाब से डिस्ट्रिब्यूट किया गया है.
  • A/AAAA रिकॉर्ड वाला सार्वजनिक ज़ोन: अगर एफ़क्यूडीएन, उसी नेटवर्क पर दिखने वाले किसी भी निजी नाम से मेल नहीं खाता है, तो Cloud DNS उसे सार्वजनिक इंटरनेट का इस्तेमाल करके हल करने की कोशिश करता है.

FQDN फ़ॉरवर्डिंग के लिए, Google Cloud CLI कमांड के बारे में जानकारी

gcloud सीएलआई कमांड का इस्तेमाल करके, FQDN फ़ॉरवर्डिंग टारगेट वाला फ़ॉरवर्डिंग ज़ोन बनाने के लिए, आपको gcloud dns managed-zones create कमांड का इस्तेमाल करना होगा. एफ़क्यूडीएन टारगेट तय करने के लिए, मुख्य फ़्लैग --forwarding-targets या --private-forwarding-targets होते हैं. स्टैंडर्ड और प्राइवेट राउटिंग के तरीकों के बारे में जानकारी के लिए, कृपया दस्तावेज़ देखें.

  • --forwarding-targets: IPv4/IPv6 पतों की सूची या टारगेट नेम सर्वर का एक डोमेन नेम, जिस पर ज़ोन क्वेरी फ़ॉरवर्ड करेगा. इसे सार्वजनिक तौर पर दिखाने के लिए अनदेखा किया जाता है. RFC1918 के अलावा दूसरे पते, इंटरनेट के ज़रिए टारगेट पर फ़ॉरवर्ड किए जाएंगे. RFC1918 पते, वीपीसी के ज़रिए फ़ॉरवर्ड किए जाएंगे.
  • --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

इस कोडलैब में, डिफ़ॉल्ट वीपीसी नेटवर्क का इस्तेमाल किया जाता है. यह नेटवर्क, नए प्रोजेक्ट के साथ बनाया जाता है. इसके अलावा, आपके पास इस्तेमाल करने के लिए एक नया नेटवर्क बनाने का विकल्प भी है.

3. रीजनल FQDN फ़ॉरवर्डिंग सेट अप करना (नए प्राइवेट ज़ोन के साथ)

इस उदाहरण में, क्षेत्र के हिसाब से डीएनएस फ़ॉरवर्डिंग को लागू करने का तरीका बताया गया है. इससे यह पक्का किया जा सकता है कि किसी खास क्षेत्र का ट्रैफ़िक, उसी क्षेत्र के डीएनएस सर्वर पर फ़ॉरवर्ड किया जाए.

निजी डीएनएस ज़ोन बनाना

सबसे पहले, एक निजी डीएनएस ज़ोन बनाएं. उदाहरण के लिए, foo.com. यह आपके FQDN और उससे जुड़ी जियोलोकेशन राउटिंग नीति को होस्ट करेगा. यह ज़ोन आपके डिफ़ॉल्ट नेटवर्क को दिखना चाहिए.

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. (जियोलोकेशन राउटिंग की नीति वाला FQDN) को फ़ॉरवर्डिंग टारगेट के तौर पर सेट करें.

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.) नाम का एक निजी डीएनएस ज़ोन है. यह default नेटवर्क को दिखता है.

इस निजी ज़ोन में डीएनएस संसाधन रिकॉर्ड बनाना

अपने मौजूदा 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

फ़ॉरवर्डिंग ज़ोन बनाना और FQDN टारगेट तय करना

रीजनल FQDN की तरह ही, फ़ॉरवर्डिंग ज़ोन बनाएं और 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. व्यवस्थित करें

प्राइवेट ज़ोन को मिटाने से पहले, उसके सभी ResourceRecordSets को मिटाना ज़रूरी है. हालांकि, 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. बधाई हो

बधाई हो, आपने आउटबाउंड डीएनएस फ़ॉरवर्डिंग के लिए एफ़क्यूडीएन का इस्तेमाल करना सीख लिया है!

इस बारे में और पढ़ें

रेफ़रंस दस्तावेज़