आईपीवी6 पतों का इस्तेमाल करके, कंपनी की इमारत में मौजूद होस्ट से Google API को ऐक्सेस करें

1. परिचय

कंपनी की इमारत में होस्ट करने के लिए निजी Google ऐक्सेस, कंपनी की इमारत में मौजूद सिस्टम को Google API और सेवाओं से कनेक्ट करने का तरीका देता है. यह ट्रैफ़िक को Cloud वीपीएन टनल या Cloud इंटरकनेक्ट के लिए VLAN अटैचमेंट के ज़रिए रूट करता है. कंपनी की इमारत में होस्ट किए जाने वाले होस्ट के लिए, Google का निजी ऐक्सेस, इंटरनेट पर Google API और सेवाओं से कनेक्ट करने का एक विकल्प है.

कंपनी की इमारत में मौजूद होस्ट के लिए, निजी Google ऐक्सेस का इस्तेमाल करने के लिए ज़रूरी है कि आप Google API के अनुरोधों को वर्चुअल आईपी पतों (वीआईपी) पर भेजें. आईपीवी6 के लिए, इन आईपी पतों का इस्तेमाल किया जाता है:

  • Private.googleapis.com के लिए: 2600:2d00:0002:2000::/64
  • प्रतिबंधित.googleapis.com के लिए: 2600:2d00:0002:1000::/64

आपके चुने गए VIP के आधार पर ही यह तय किया जाता है कि आपके पास किन सेवाओं का ऐक्सेस है. इस कोडलैब में, हम private.googleapis.com का इस्तेमाल करेंगे. ज़्यादा जानकारी के लिए, डोमेन के विकल्प देखें.

इस कोडलैब में, कंपनी की इमारत में मौजूद उन होस्ट के लिए निजी Google ऐक्सेस चालू करने का तरीका बताया गया है जो IPv6 पतों का इस्तेमाल करते हैं. आपको कंपनी की इमारत में एनवायरमेंट दिखाने के लिए, on-premises-vpc नाम का VPC नेटवर्क सेट अप करना होगा. डिप्लॉयमेंट के लिए, कंपनी की इमारत में vpc या कंपनी की इमारत में मौजूद डेटा सेंटर पर हाइब्रिड नेटवर्किंग की सुविधा का इस्तेमाल किया जाएगा. इसके बजाय, क्लाउड सेवा देने वाली कंपनी का इस्तेमाल किया जाएगा.

आपको क्या बनाना होगा

इस कोडलैब में, एंड-टू-एंड IPv6 नेटवर्क बनाया जा रहा है. यह नेटवर्क कंपनी में, क्लाउड स्टोरेज एपीआई का ऐक्सेस दिखाता है. ऐसा करने के लिए, CNAME *.googleapis.com से private.googleapis.com आईपीवी6 पते 2600:2d00:0002:2000::/64 का इस्तेमाल करें, जैसा कि पहली इमेज में दिखाया गया है.

इमेज 1

a0fc56abf24f3535.png

आप इन चीज़ों के बारे में जानेंगे

  • ड्यूअल स्टैक VPC नेटवर्क बनाने का तरीका
  • आईपीवी6 के साथ एचए वीपीएन कैसे बनाएं
  • Google का निजी ऐक्सेस ऐक्सेस करने के लिए डीएनएस को अपडेट करने का तरीका
  • निजी Google ऐक्सेस कनेक्टिविटी को सेट अप करने और उसकी पुष्टि करने का तरीका

आपको इनकी ज़रूरत होगी

  • Google Cloud प्रोजेक्ट

2. शुरू करने से पहले

कोडलैब के साथ काम करने के लिए प्रोजेक्ट अपडेट करें

यह कोडलैब, Cloud Shell में gcloud कॉन्फ़िगरेशन लागू करने में मदद करने के लिए $variables का इस्तेमाल करता है.

Cloud Shell के अंदर, यह तरीका अपनाएं:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

3. ट्रांज़िट-वीपीसी बनाएं

f6932f551b5acac0.png

ट्रांज़िट VPC नेटवर्क बनाना

Cloud Shell के अंदर, यह तरीका अपनाएं:

gcloud compute networks create transit-vpc --project=$projectname --subnet-mode=custom --mtu=1460 --enable-ula-internal-ipv6 --bgp-routing-mode=regional

4. कंपनी की इमारत में नेटवर्क बनाना

58d75cbc9cb20a51.png

यह VPC नेटवर्क, कंपनी की इमारत में मौजूद एनवायरमेंट को दिखाता है.

कंपनी की इमारत में VPC नेटवर्क बनाना

Cloud Shell के अंदर, यह तरीका अपनाएं:

gcloud compute networks create on-premises-vpc --project=$projectname --subnet-mode=custom --mtu=1460 --enable-ula-internal-ipv6 --bgp-routing-mode=regional

सबनेट बनाएं

Cloud Shell के अंदर, यह तरीका अपनाएं:

gcloud compute networks subnets create on-premises-subnet1-us-central1 --project=$projectname --range=172.16.10.0/27 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --network=on-premises-vpc --region=us-central1

5. ट्रांज़िट-वीपीसी और ऑन-प्रिमाइस-वीपीसी के लिए, एचए वीपीएन बनाएं

ट्रांज़िट-vpc के लिए HA VPN GW बनाएं

a0fc56abf24f3535.png

हर गेटवे बन जाने पर, दो बाहरी IPv4 पते अपने-आप असाइन हो जाते हैं. इसका मतलब है कि हर गेटवे इंटरफ़ेस के लिए एक पता. इन आईपी पतों को नोट कर लें, ताकि इन्हें बाद में कॉन्फ़िगरेशन के चरणों में इस्तेमाल किया जा सके.

Cloud Shell के अंदर, स्टैक टाइप IPV4_IPV6 के साथ HA VPN GW बनाएं.

gcloud compute vpn-gateways create transit-vpc-vpngw \
   --network=transit-vpc\
   --region=us-central1 \
   --stack-type=IPV4_IPV6

ऑन-प्रिमाइसेस-vpc के लिए HA VPN GW बनाएं

Cloud Shell के अंदर, स्टैक टाइप IPV4_IPV6 के साथ HA VPN GW बनाएं

gcloud compute vpn-gateways create on-premises-vpc-vpngw \
   --network=on-premises-vpc\
   --region=us-central1 \
   --stack-type=IPV4_IPV6

एचए वीपीएन GW बनाने की पुष्टि करें

कंसोल का इस्तेमाल करके, हाइब्रिड कनेक्टिविटी → वीपीएन → cloud VPN GATEWAYS पर जाएं.

c8eed6ca929935bc.png

ट्रांज़िट-वीपीसी के लिए क्लाउड राऊटर बनाएं

Cloud Shell के अंदर, us-central1 में मौजूद Cloud राऊटर बनाएं

gcloud compute routers create transit-vpc-cr-us-central1 \
   --region=us-central1 \
   --network=transit-vpc\
   --asn=65001

ऑन-प्रिमाइसेस-vpc के लिए क्लाउड राऊटर बनाएं

Cloud Shell के अंदर, us-central1 में मौजूद Cloud राऊटर बनाएं

gcloud compute routers create on-premises-vpc-cr-us-central1 \
   --region=us-central1 \
   --network=on-premises-vpc \
   --asn=65002

बस, मेट्रो वगैरह के लिए वीपीएन टनल बनाएं

आपको हर एचए वीपीएन गेटवे पर दो वीपीएन टनल बनाने होंगे.

VPN टनल0 बनाएं

Cloud Shell के अंदर, टनल बनाएं0:

gcloud compute vpn-tunnels create transit-vpc-tunnel0 \
    --peer-gcp-gateway on-premises-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router transit-vpc-cr-us-central1 \
    --vpn-gateway transit-vpc-vpngw \
    --interface 0

वीपीएन टनल1 बनाएं

Cloud Shell के अंदर, टनल बनाएं1:

gcloud compute vpn-tunnels create transit-vpc-tunnel1 \
    --peer-gcp-gateway on-premises-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router transit-vpc-cr-us-central1 \
    --vpn-gateway transit-vpc-vpngw \
    --interface 1

कंपनी की इमारत के लिए वीपीएन टनल बनाना

आपको हर एचए वीपीएन गेटवे पर दो वीपीएन टनल बनाने होंगे.

VPN टनल0 बनाएं

Cloud Shell के अंदर, टनल बनाएं0:

gcloud compute vpn-tunnels create on-premises-tunnel0 \
    --peer-gcp-gateway transit-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-premises-vpc-cr-us-central1 \
    --vpn-gateway on-premises-vpc-vpngw \
    --interface 0

वीपीएन टनल1 बनाएं

Cloud Shell के अंदर, टनल बनाएं1:

gcloud compute vpn-tunnels create on-premises-tunnel1 \
    --peer-gcp-gateway transit-vpc-vpngw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-premises-vpc-cr-us-central1 \
    --vpn-gateway on-premises-vpc-vpngw \
    --interface 1

वीपीएन टनल बनाने की पुष्टि करें

कंसोल का इस्तेमाल करके, हाइब्रिड कनेक्टिविटी → वीपीएन → इसकी मदद से, क्लाउड वीपीएन के शॉर्टकट पर स्विच किया जा सकता है.

85fd5aef4b2c4010.png

बीजीपी सेशन बनाना

इस सेक्शन में, Cloud Router इंटरफ़ेस और BGP पीयर को कॉन्फ़िगर किया जाता है.

आईपीवी6 ट्रैफ़िक की अनुमति देने वाले वीपीएन टनल बनाते समय, add-bgp-peer कमांड इस्तेमाल करते समय --enable-ipv6 तय करें.

ट्रांज़िट-वीपीसी के लिए BGP इंटरफ़ेस और पीयरिंग बनाना

Cloud Shell के अंदर, BGP इंटरफ़ेस बनाएं:

gcloud compute routers add-interface transit-vpc-cr-us-central1 \
    --interface-name if-tunnel1-to-onpremise \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel transit-vpc-tunnel0 \
    --region us-central1

Cloud Shell के अंदर, BGP पीयर बनाएं:

gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onpremise \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2

Cloud Shell के अंदर, BGP इंटरफ़ेस बनाएं:

gcloud compute routers add-interface transit-vpc-cr-us-central1 \
    --interface-name if-tunnel2-to-onpremise \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel transit-vpc-tunnel1 \
    --region us-central1

Cloud Shell के अंदर, BGP पीयर बनाएं:

gcloud compute routers add-bgp-peer transit-vpc-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel2 \
    --interface if-tunnel2-to-onpremise \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12

BGP इंटरफ़ेस बनाएं और कंपनी की इमारत में वीपीसी के लिए पीयरिंग करें

Cloud Shell के अंदर, BGP इंटरफ़ेस बनाएं:

gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
    --interface-name if-tunnel1-to-hub-vpc \
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-premises-tunnel0 \
    --region us-central1

Cloud Shell के अंदर, BGP पीयर बनाएं:

gcloud compute routers add-bgp-peer on-premises-vpc-cr-us-central1 \
    --peer-name bgp-transit-vpc-tunnel0 \
    --interface if-tunnel1-to-hub-vpc \
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:2 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:1

Cloud Shell के अंदर, BGP इंटरफ़ेस बनाएं:

gcloud compute routers add-interface on-premises-vpc-cr-us-central1\
    --interface-name if-tunnel2-to-hub-vpc \
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-premises-tunnel1 \
    --region us-central1

Cloud Shell के अंदर, BGP पीयर बनाएं:

gcloud compute routers add-bgp-peer  on-premises-vpc-cr-us-central1\
    --peer-name bgp-transit-vpc-tunnel1\
    --interface if-tunnel2-to-hub-vpc \
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region us-central1 \
    --enable-ipv6 \
    --ipv6-nexthop-address 2600:2d00:0:3:0:0:0:12 \
    --peer-ipv6-nexthop-address 2600:2d00:0:3:0:0:0:11

वीपीएन टनल की जानकारी देखने के लिए, हाइब्रिड कनेक्टिविटी → वीपीएन पर जाएं.

e100e31ea22c8124.png

पुष्टि करना कि ट्रांज़िट-vpc, एचए वीपीएन पर आईपीवी4 और आईपीवी6 रूट सीख रहा है

एचए वीपीएन टनल और बीजीपी सेशन पहले से ही सेट हैं. इसलिए, हमारी कंपनी की इमारत-VPC के रूट, ट्रांज़िट-वीपीसी से लिए जाते हैं. कंसोल का इस्तेमाल करके, VPC नेटवर्क → VPC नेटवर्क → ट्रांज़िट-vpc → ROUTES पर जाएं.

नीचे बताए गए तरीके से बताए गए IPv4 और IPv6 डायनैमिक रूट को देखें:

216bde7d08d75ec4.png

पुष्टि करना कि एचए वीपीएन के बजाय, on-प्रिमाइसेस-vpc को लर्निंग रूट नहीं दिया जा रहा

Transit-vpc में सबनेट नहीं है, इसलिए क्लाउड राऊटर, कंपनी की इमारत में किसी सबनेट का विज्ञापन नहीं करेगा. कंसोल का इस्तेमाल करके, VPC नेटवर्क → VPC नेटवर्क → ऑन-प्रिमाइस-वीपीसी → रूट पर जाएं.

6. IPv6 private.googleapis.com VIP का विज्ञापन करें

कंपनी की इमारत से निजी Google ऐक्सेस ऐक्सेस करने के लिए, आपको ट्रांज़िट-वीपीसी से पसंद के मुताबिक रास्ते का विज्ञापन बनाना होगा. आईपीवी6 पते 2600:2d00:0002:2000:: का विज्ञापन, कंपनी की इमारत में किया जाएगा. साथ ही, लोकल डीएनएस के अपडेट होने के बाद, इसका इस्तेमाल Google API जैसे Cloud Storage, Cloud BigQuery, और Cloud Bigtable को ऐक्सेस करने के लिए किया जाएगा.

इस कोडलैब में, ज़्यादातर Google API और सेवाओं के लिए एपीआई का ऐक्सेस चालू किया जा सकता है. भले ही, वे VPC सर्विस कंट्रोल के साथ काम करती हों या नहीं.

कंसोल से हाइब्रिड कनेक्टिविटी → क्लाउड राऊटर → ट्रांज़िट-vpc-cr-us-central1 पर जाएं. इसके बाद, 'बदलाव करें' को चुनें.

3e36e3b5ea741ec5.png

विज्ञापन वाले रूट सेक्शन में, कस्टम रूट बनाएं विकल्प चुनें. इसके बाद, नीचे दिए गए उदाहरण के आधार पर फ़ील्ड अपडेट करें. इसके बाद, हो गया चुनें और सेव करें पर क्लिक करें.

9283AB7b214f70d.png

पुष्टि करना कि कंपनी की इमारत, आईपीवी6 रूट सीख रही है

अब जब IPv6 private.googleapis.com VIP का विज्ञापन ट्रांज़िट-vpc से किया जाता है, तो ऑन-प्रिमाइस-वीपीसी को वीआईपी के लिए IPv6 डाइनैमिक रूट पता चल जाएगा. कंसोल का इस्तेमाल करके, VPC नेटवर्क → VPC नेटवर्क → ऑन-प्रिमाइस-वीपीसी → रूट पर जाएं.

ट्रांज़िट-वीपीसी से दिखाए गए IPv6 रास्तों को देखें:

caf3b79b035b2a20.png

7. निजी Google ऐक्सेस का इस्तेमाल करके Google API के लिए कम्यूनिकेशन सेट अप करना

नीचे दिए गए सेक्शन में, हम IPv6 private.googleapis.com VIP का इस्तेमाल करके Cloud Storage की कनेक्टिविटी को ऐक्सेस और उसकी पुष्टि करेंगे. ऐसा करने के लिए, हमें कंपनी की इमारत में वीपीसी पर ये कार्रवाइयां करनी होंगी.

  • एसएसएच ऐक्सेस के लिए, आइडेंटिटी अवेयर प्रॉक्सी (आईएपी) ऐक्सेस देने के लिए, इन्ग्रेस डेटा ट्रैफ़िक का नियम बनाएं.
  • tcpdump और dnsutils को डाउनलोड करने के लिए, Cloud राऊटर और Cloud NAT बनाएं.
  • googleapis.com के लिए, निजी Cloud DNS ज़ोन बनाएं.
  • Cloud Storage बकेट बनाएं.

आईएपी फ़ायरवॉल नियम बनाएं

आईएपी को अपने वीएम इंस्टेंस से कनेक्ट करने की अनुमति देने के लिए, फ़ायरवॉल का नियम बनाएं:

  • यह उन सभी वीएम इंस्टेंस पर लागू होता है जिन्हें आपको आईएपी का इस्तेमाल करके ऐक्सेस करना है.
  • आईपी रेंज 35.235.240.0/20 से, इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है. इस रेंज में वे सभी आईपी पते शामिल होते हैं जिनका इस्तेमाल आईएपी, टीसीपी फ़ॉरवर्ड करने के लिए करता है.

Cloud Shell के अंदर, IAP फ़ायरवॉल का नियम बनाएं.

gcloud compute firewall-rules create ssh-iap-on-premises-vpc \
    --network on-premises-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

Cloud राऊटर और NAT का कॉन्फ़िगरेशन

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

Cloud Shell के अंदर, Cloud राऊटर बनाएं.

gcloud compute routers create on-premises-cr-us-central1-nat --network on-premises-vpc --region us-central1

Cloud Shell के अंदर, NAT गेटवे बनाएं.

gcloud compute routers nats create on-premises-nat-us-central1 --router=on-premises-cr-us-central1-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

ऑन-प्रिमाइसेस-टेस्टबॉक्स के लिए, टेस्ट इंस्टेंस बनाना

ऐसा टेस्ट इंस्टेंस बनाएं जिसका इस्तेमाल IPv6 private.googleapis.com VIP की कनेक्टिविटी की जांच और पुष्टि करने के लिए किया जाएगा.

Cloud Shell के अंदर, इंस्टेंस बनाएं.

gcloud compute instances create on-premises-testbox \
    --project=$projectname \
    --machine-type=e2-micro \
    --stack-type=IPV4_IPV6 \
    --image-family debian-10 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=on-premises-subnet1-us-central1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump -y
      sudo apt-get install dnsutils -y"

Cloud DNS निजी ज़ोन बनाना

हम प्राइवेट ज़ोन और *.googleapis.com के लिए रिकॉर्ड बनाने के लिए, Cloud DNS का इस्तेमाल करेंगे. इसके लिए, यहां कुछ ज़रूरी चरण दिए गए हैं.

Cloud Shell के अंदर, निजी डीएनएस ज़ोन v6-googleapis.com बनाएं.

gcloud dns --project=$projectname managed-zones create v6-googleapis --description="" --dns-name="googleapis.com." --visibility="private" --networks="on-premises-vpc"

Cloud Shell के अंदर, private.googleapis.com के लिए AAAA रिकॉर्ड बनाएं. आईपीवी6 पते 2600:2d00:0002:2000:: पर ले जाने वाला.

gcloud dns --project=$projectname record-sets create private.googleapis.com. --zone="v6-googleapis" --type="AAAA" --ttl="300" --rrdatas="2600:2d00:0002:2000::"

Cloud शेल के अंदर, private.googleapis.com पर जाने के लिए *.googleapis.com के लिए एक CNAME बनाएं.

gcloud dns --project=$projectname record-sets create *.googleapis.com. --zone="v6-googleapis" --type="CNAME" --ttl="300" --rrdatas="private.googleapis.com."

क्लाउड डीएनएस के प्राइवेट ज़ोन की पुष्टि करें

नेटवर्क की सेवाओं पर जाएं → Cloud DNS → v6-googleapis.

455e355195a2a48f.png

Cloud Storage बकेट बनाना

Cloud Shell में, क्लाउड स्टोरेज बकेट बनाएं और बकेट_नाम को अपनी पसंद के मुताबिक दुनिया भर में इस्तेमाल होने वाले यूनीक नाम से बदलें. अगर पहले से इस्तेमाल किया जा रहा है, तो कोई दूसरा नाम डालकर देखें.

gsutil mb  -l us-central1 -b on gs://bucket_name

8. आईपीवी6 पतों का इस्तेमाल करके Google API को ऐक्सेस करें और उनकी पुष्टि करें

नीचे दिए गए सेक्शन में, दो Cloud Shell टर्मिनल में एसएसएच की प्रक्रिया होगी. पहले टर्मिनल का इस्तेमाल, tcpdump की मदद से आईपीवी6 लुकअप की पुष्टि करने के लिए किया जाता है. वहीं, दूसरे टर्मिनल का इस्तेमाल क्लाउड स्टोरेज बकेट को ऐक्सेस करने के लिए किया जाता है.

Cloud Shell के अंदर, इंस्टेंस की जांच करने के लिए, ssh का इस्तेमाल करें on-प्रिमाइस-टेस्टबॉक्स को टेस्ट करने के लिए.

 gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

Cloud Shell टर्मिनल एक के अंदर, tcpdump को शुरू करें और डीएनएस ट्रैफ़िक के लिए, पोर्ट 53 को मॉनिटर करें.

sudo tcpdump -nn -i ens4 port 53

नीचे उदाहरण दिया गया है.

user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53

"+" को चुनकर, नया Cloud Shell टर्मिनल खोलें. नया टैब खुलने के बाद, प्रोजेक्ट के नाम का वैरिएबल अपडेट करें.

Cloud Shell में, प्रोजेक्ट के नाम का वैरिएबल अपडेट करें.

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname

दूसरे क्लाउड शेल के अंदर, इंस्टेंस की जांच करने के लिए ssh इस्तेमाल करें on-प्रिमाइस-टेस्टबॉक्स.

gcloud compute ssh --zone "us-central1-a" "on-premises-testbox" --project "$projectname"

डीएनएस लुकअप की पुष्टि करने के लिए, बारीकी से जांच करें

Cloud Shell टर्मिनल दो के अंदर, Storage.googleapis.com की जांच करें.

dig AAAA storage.googleapis.com

ANSWER SECTION, निजी डीएनएस ज़ोन Storage.googleapis.com CNAME से private.googleapis.com AAAA 2600:2d00:2:2000:: की जांच करें. इसका उदाहरण नीचे दिया गया है:

user@on-premises-testbox:~$ dig AAAA storage.googleapis.com

; <<>> DiG 9.11.5-P4-5.1+deb10u8-Debian <<>> AAAA storage.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2782
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;storage.googleapis.com.                IN      AAAA

;; ANSWER SECTION:
storage.googleapis.com. 300     IN      CNAME   private.googleapis.com.
private.googleapis.com. 300     IN      AAAA    2600:2d00:2:2000::

;; Query time: 9 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Mon Feb 20 01:56:33 UTC 2023
;; MSG SIZE  rcvd: 101

Cloud Shell टर्मिनल एक के अंदर, tcpdump की जांच करें, जो AAAA 2600:2d00:2:2000:: में डीएनएस रिज़ॉल्यूशन की पुष्टि करता है.

user@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
01:56:33.473208 IP 172.16.10.3.41476 > 169.254.169.254.53: 2782+ [1au] AAAA? storage.googleapis.com. (63)
01:56:33.482580 IP 169.254.169.254.53 > 172.16.10.3.41476: 2782 2/0/1 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (101)

खुदाई और tcpdump के आधार पर हम इस नतीजे पर पहुंच सकते हैं कि Storage.googleapis.com के लिए डीएनएस रिज़ॉल्यूशन 2600:2d00:2:2000:: से लिया जाता है, जो कि private.googleapis.com का आईपीवी6 पता है.

क्लाउड स्टोरेज के ऐक्सेस की पुष्टि करने के लिए, gsutil सूची चलाएं

Cloud Shell टर्मिनल दो के अंदर, gsutil का इस्तेमाल करके, पहले बनाए गए स्टोरेज बकेट की मदद से सूची बनाएं. बकेट_नाम को उस बकेट में बदलें जिसे आपने पहले कभी बनाया था.

gsutil -d ls gs://bucket_name

क्लाउड स्टोरेज बकेट codelab-ipv6 का इस्तेमाल करने का उदाहरण, storage.googleapis.com और HTTP/1.1 200 OK बताने वाले डीबग आउटपुट की जांच करें.

user@on-premises-testbox:~$ gsutil -d ls gs://codelab-ipv6
***************************** WARNING *****************************
*** You are running gsutil with debug output enabled.
*** Be aware that debug output includes authentication credentials.
*** Make sure to remove the value of the Authorization header for
*** each HTTP request printed to the console prior to posting to
*** a public medium such as a forum post or Stack Overflow.
***************************** WARNING *****************************
gsutil version: 5.19
checksum: 49a18b9e15560adbc187bab09c51b5fd (OK)
boto version: 2.49.0
python version: 3.9.16 (main, Jan 10 2023, 02:29:25) [Clang 12.0.1 ]
OS: Linux 4.19.0-23-cloud-amd64
multiprocessing available: True
using cloud sdk: True
pass cloud sdk credentials to gsutil: True
config path(s): /etc/boto.cfg
gsutil path: /usr/lib/google-cloud-sdk/bin/gsutil
compiled crcmod: True
installed via package manager: False
editable install: False
shim enabled: False
Command being run: /usr/lib/google-cloud-sdk/platform/gsutil/gsutil -o GSUtil:default_project_id=myprojectid -o GoogleCompute:service_account=default -d ls gs://codelab-ipv6
config_file_list: ['/etc/boto.cfg']
config: [('working_dir', '/mnt/pyami'), ('debug', '0'), ('https_validate_certificates', 'true'), ('working_dir', '/mnt/pyami'), ('debug', '0'), ('default_project_id', 'myproject'), ('default_api_version', '2')]
DEBUG 0220 02:01:14.713012 multiprocess_file_storage.py] Read credential file
INFO 0220 02:01:14.714742 base_api.py] Calling method storage.objects.list with StorageObjectsListRequest: <StorageObjectsListRequest
 bucket: 'codelab-ipv6'
 delimiter: '/'
 maxResults: 1000
 projection: ProjectionValueValuesEnum(noAcl, 1)
 versions: False>
INFO 0220 02:01:14.715939 base_api.py] Making http GET to https://storage.googleapis.com/storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False
INFO 0220 02:01:14.716369 base_api.py] Headers: {'accept': 'application/json',
 'accept-encoding': 'gzip, deflate',
 'content-length': '0',
 'user-agent': 'apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled '
               'interactive/True command/ls google-cloud-sdk/416.0.0'}
INFO 0220 02:01:14.716875 base_api.py] Body: (none)
connect: (storage.googleapis.com, 443)
send: b'GET /storage/v1/b/codelab-ipv6/o?alt=json&fields=prefixes%2Citems%2Fname%2CnextPageToken&delimiter=%2F&maxResults=1000&projection=noAcl&versions=False HTTP/1.1\r\nHost: storage.googleapis.com\r\ncontent-length: 0\r\nuser-agent: apitools Python/3.9.16 gsutil/5.19 (linux) analytics/disabled
<SNIP>
reply: 'HTTP/1.1 200 OK\r\n'
header: X-GUploader-UploadID: ADPycdvunHlbN1WQBxDr_LefzLaH_HY1bBH22X7IxX9sF1G2Yo_7-nhYwjxUf6N7AF9Zg_JDwPxYtuNJiFutfd6qauEfohYPs7mE
header: Content-Type: application/json; charset=UTF-8
header: Date: Mon, 20 Feb 2023 02:01:14 GMT
header: Vary: Origin
header: Vary: X-Origin
header: Cache-Control: private, max-age=0, must-revalidate, no-transform
header: Expires: Mon, 20 Feb 2023 02:01:14 GMT
header: Content-Length: 3
header: Server: UploadServer
INFO 0220 02:01:14.803286 base_api.py] Response of type Objects: <Objects
 items: []
 prefixes: []>
user@on-premises-testbox:~$ 

Cloud Shell टर्मिनल एक के अंदर, tcpdump की जांच करें, जो AAAA 2600:2d00:2:2000:: में डीएनएस रिज़ॉल्यूशन की पुष्टि करता है.

eepakmichael@on-premises-testbox:~$ sudo tcpdump -nn -i ens4 port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens4, link-type EN10MB (Ethernet), capture size 262144 bytes
02:01:14.725000 IP 172.16.10.3.48792 > 169.254.169.254.53: 7056+ A? storage.googleapis.com. (40)
02:01:14.725106 IP 172.16.10.3.48792 > 169.254.169.254.53: 50841+ AAAA? storage.googleapis.com. (40)
02:01:14.732516 IP 169.254.169.254.53 > 172.16.10.3.48792: 50841 2/0/0 CNAME private.googleapis.com., AAAA 2600:2d00:2:2000:: (90)

Cloud Shell के प्रॉम्प्ट पर वापस आने के बाद, ऑन-प्रिमाइसेस-टेस्टबॉक्स इंस्टेंस ऑपरेटिंग सिस्टम से बाहर निकलें.

9. साफ़-सफ़ाई सेवा

Cloud Shell के अंदर यह काम करता है:

gcloud compute vpn-tunnels delete transit-vpc-tunnel0 transit-vpc-tunnel1 on-premises-tunnel1   --region=us-central1 --quiet

gcloud compute vpn-tunnels delete on-premises-tunnel0 on-premises-tunnel1 --region=us-central1 --quiet

gcloud compute vpn-gateways delete on-premises-vpc-vpngw transit-vpc-vpngw --region=us-central1 --quiet

gcloud compute routers delete transit-vpc-cr-us-central1  on-premises-vpc-cr-us-central1 on-premises-cr-us-central1-nat --region=us-central1 --quiet

gcloud compute instances delete on-premises-testbox --zone=us-central1-a --quiet

gcloud compute networks subnets delete on-premises-subnet1-us-central1 --region=us-central1 --quiet

gcloud compute firewall-rules delete ssh-iap-on-premises-vpc --quiet

gcloud compute networks delete on-premises-vpc --quiet


gcloud compute networks delete transit-vpc --quiet

gsutil rb gs://bucket_name

gcloud dns record-sets delete *.googleapis.com. \
    --type=CNAME \
    --zone=v6-googleapis
        
gcloud dns record-sets delete private.googleapis.com. \
        --type=AAAA \
        --zone=v6-googleapis
        
gcloud dns managed-zones delete v6-googleapis

10. बधाई हो

बधाई हो, आपने IPv6 के साथ निजी Google ऐक्सेस को कॉन्फ़िगर कर लिया है और उसकी पुष्टि कर ली है.

आपने ट्रांज़िट और कंपनी की इमारत में इन्फ़्रास्ट्रक्चर बनाया है. साथ ही, आईपीवी6 का इस्तेमाल करके Google API डोमेन के लिए, रिज़ॉल्यूशन चालू करने वाला निजी डीएनएस ज़ोन बनाया है. आपने डिक और क्लाउड स्टोरेज का इस्तेमाल करके, आईपीवी6 ऐक्सेस की जांच और पुष्टि करने का तरीका सीखा है.

Cosmopup को लगता है कि कोडलैब शानदार हैं!!

8c2a10eb841f7b01.jpeg

आगे क्या होगा?

इनमें से कुछ कोडलैब देखें...

आगे पढ़ें और वीडियो

पहचान फ़ाइलें