नीति पर आधारित रूट (PBR) कोडलैब (कोड बनाना सीखना)

1. परिचय

नीति पर आधारित रूट

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

नीति पर आधारित रूट बनाते समय, आपको यह चुनना होता है कि किन संसाधनों के ट्रैफ़िक को रूट किया जा सकता है. रूट इन पर लागू हो सकता है:

  • पूरा नेटवर्क: सभी वर्चुअल मशीन (वीएम) इंस्टेंस, वीपीएन गेटवे, और इंटरकनेक्ट
  • नेटवर्क टैग का इस्तेमाल करना: VPC में वीएम इंस्टेंस चुनें
  • इंटरकनेक्ट क्षेत्र: किसी क्षेत्र के लिए VLAN अटैचमेंट के ज़रिए VPC नेटवर्क में आने वाला पूरा ट्रैफ़िक

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

इंटरनल नेटवर्क लोड बैलेंसर, डिफ़ॉल्ट रूप से सिमेट्रिक हैशिंग का इस्तेमाल करते हैं. इससे ट्रैफ़िक, सोर्स एनएटी (NAT) को कॉन्फ़िगर किए बिना, आउटगोइंग और रिटर्न पाथ पर एक ही उपकरण तक पहुंच सकता है.

नीति पर आधारित रास्तों की प्राथमिकता दूसरे टाइप की तुलना में ज़्यादा होती है. हालांकि, सामान लौटाने के खास पाथ को छोड़कर ऐसा किया जाता है.

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

एकतरफ़ा ट्रैफ़िक के लिए एक ही नियम या दोनों तरफ़ के ट्रैफ़िक को मैनेज करने के लिए एक से ज़्यादा नियम बनाए जा सकते हैं.

क्लाउड इंटरकनेक्ट के साथ नीति-आधारित रूट का इस्तेमाल करने के लिए, रूट को एक पूरे क्षेत्र में सभी क्लाउड इंटरकनेक्ट कनेक्शन पर लागू किया जाना चाहिए. नीति-आधारित रूट को सिर्फ़ किसी व्यक्तिगत क्लाउड इंटरकनेक्ट कनेक्शन पर लागू नहीं किया जा सकता.

नीति-आधारित रूट से ट्रैफ़िक पाने वाले वीएम इंस्टेंस में आईपी फ़ॉरवर्डिंग चालू होनी चाहिए.

PBR के साथ ध्यान देने वाली बातें

नीति-आधारित रूट का इस्तेमाल करने के लिए खास कॉन्फ़िगरेशन ज़रूरी है. ये तरीके नीचे बताए गए हैं.

उदाहरण के लिए, GKE, PSC या PGA/PSA के साथ PBR का इस्तेमाल करना.

GKE (जीकेई) के साथ PBR के बारे में ज़्यादा जानकारी यहां मिल सकती है. साथ ही, PBR की सामान्य सीमाओं का सेक्शन यहां देखा जा सकता है.

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

  • नीति के हिसाब से रूट कॉन्फ़िगर करने का तरीका

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

  • इंस्टेंस को डिप्लॉय करने और नेटवर्किंग कॉम्पोनेंट को कॉन्फ़िगर करने की जानकारी
  • VPC फ़ायरवॉल के कॉन्फ़िगरेशन की जानकारी

2. टेस्ट एनवायरमेंट

यह कोडलैब, एक ही VPC का इस्तेमाल करेगा. इस एनवायरमेंट में दो कंप्यूट रिसॉर्स, Clienta और clientb होंगे जो किसी दूसरे सर्वर रिसॉर्स को पैकेट भेजेंगे. PBR और फ़िल्टर का इस्तेमाल करके, हम फ़ायरवॉल लागू करने के लिए दूसरे कंप्यूट रिसॉर्स के ज़रिए Clienta से ट्रैफ़िक को फ़ोर्स करेंगे. जबकि, Clientb ट्रैफ़िक सीधे सर्वर पर जाता है. नीचे दिया गया डायग्राम, पाथ को दिखाता है.

bff32b01ada8e9ad.png

ऊपर दिए गए डायग्राम में, PBR पाथ के लिए तकनीकी रूप से एक ILB (नेटवर्क इंटरनल लोड बैलेंसर) होना चाहिए. डायग्राम को आसान बनाने के लिए, इसे शामिल नहीं किया गया है.

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

कोडलैब के लिए एक प्रोजेक्ट होना ज़रूरी है.

Cloud Shell से:

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

4. एपीआई चालू करें

अगर आपने पहले से ऐसा नहीं किया है, तो प्रॉडक्ट इस्तेमाल करने के लिए एपीआई चालू करें

Cloud Shell से:

gcloud services enable compute.googleapis.com
gcloud services enable networkconnectivity.googleapis.com

5. VPC नेटवर्क और सबनेट बनाएं

VPC नेटवर्क

codelab-pbr-vpc VPC बनाएं:

Cloud Shell से:

gcloud compute networks create $prefix-vpc --subnet-mode=custom 

सबनेट

चुने गए क्षेत्र में संबंधित सबनेट बनाएं:

Cloud Shell से:

gcloud compute networks subnets create $prefix-vpc-subnet \
   --range=10.10.10.0/24 --network=$prefix-vpc --region=${region}

6. फ़ायरवॉल के नियम बनाएं

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

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

Cloud Shell से:

gcloud compute firewall-rules create $prefix-allow-iap-proxy \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=35.235.240.0/20

सर्वर को स्टैंडर्ड एचटीटीपी पोर्ट (टीसीपी 80) और आईसीएमपी प्रोटोकॉल की अनुमति देने के लिए:

  • नेटवर्क टैग "सर्वर" वाले संसाधनों पर लागू होता है
  • सभी सोर्स से इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है

Cloud Shell से:

gcloud compute firewall-rules create $prefix-allow-http-icmp \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:80,icmp \
--source-ranges=0.0.0.0/0 \
--target-tags=server

एफ़डब्ल्यू को पैकेट भेजने की अनुमति देने के लिए, सभी प्रोटोकॉल और पोर्ट पर इन्ग्रेस डेटा ट्रैफ़िक की अनुमति दें.

  • नेटवर्क टैग "fw" वाले संसाधनों पर लागू होता है
  • यह नीति, 10.10.10.0/24 सोर्स से इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देती है

Cloud Shell से:

gcloud compute firewall-rules create $prefix-fw-allow-ingress \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=all \
--source-ranges=10.10.10.0/24 \
--target-tags=fw

स्वास्थ्य की जांच की अनुमति देने के लिए

  • नेटवर्क टैग "fw" वाले संसाधनों पर लागू होता है
  • स्वास्थ्य जांच की रेंज से इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है

Cloud Shell से:

gcloud compute firewall-rules create $prefix-allow-hc-ingress \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:80 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=fw

7. क्लाउड राऊटर बनाएं और क्लाउड एनएटी

इस सेक्शन का मकसद यह है कि निजी वर्चुअल मशीनें, इंटरनेट से सही सॉफ़्टवेयर पैकेज डाउनलोड कर सकें.

क्लाउड राऊटर बनाएं

Cloud Shell से:

gcloud compute routers create ${prefix}-cr \
--region=${region} \
--network=${prefix}-vpc

Cloud NAT गेटवे बनाएं

Cloud Shell से:

gcloud compute routers nats create ${prefix}-nat-gw-${region} \
--router=${prefix}-cr \
--router-region=${region} \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges

8. कंप्यूट इंस्टेंस बनाएं

ClientA, ClientB, FW, और Server कंप्यूट इंस्टेंस बनाएं:

Cloud Shell से:

gcloud compute instances create clienta \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.10 \
   --zone $zone \
   --tags client \
   --metadata startup-script='#! /bin/bash
apt-get update'

Cloud Shell से:

gcloud compute instances create clientb \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.11 \
   --zone $zone \
   --tags client \
   --metadata startup-script='#! /bin/bash
apt-get update'

Cloud Shell से:

gcloud compute instances create server \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.200 \
   --zone $zone \
   --tags server \
   --metadata startup-script='#! /bin/bash
sudo su
apt-get update
apt-get -y install tcpdump
apt-get -y install nginx
cat > /var/www/html/index.html << EOF
<html><body><p>Server</p></body></html>
EOF'

Cloud Shell से:

gcloud compute instances create fw \
   --subnet=$prefix-vpc-subnet \
   --can-ip-forward \
   --no-address \
   --private-network-ip=10.10.10.75 \
   --zone $zone \
   --tags fw \
   --metadata startup-script='#! /bin/bash
apt-get update
sudo apt-get -y install tcpdump
sudo apt-get -y install nginx
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -I FORWARD -d 10.10.10.200 -j REJECT'

9. PBR के बिना कनेक्टिविटी की जांच करें

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

Cloudshell1 लॉग इन से Clienta तक:

gcloud compute ssh clienta --zone=$zone --tunnel-through-iap

इन कमांड को चलाएं:

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

पिंग और कर्ल के लिए किए गए अनुरोध सही तरीके से पूरे होने चाहिए.

आउटपुट:

root@clienta:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=64 time=1.346 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=64 time=0.249 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 10.10.10.200: icmp_seq=4 ttl=64 time=0.329 ms
64 bytes from 10.10.10.200: icmp_seq=5 ttl=64 time=0.240 ms
root@clienta:~$ curl 10.10.10.200/index.html
<html><body><p>Server</p></body></html>

+ पर क्लिक करके, एक और Cloud Shell टैब खोलें.

3722d8574c3812b1.png

Cloudshell2 से, इस्तेमाल करने के लिए वैरिएबल सेट करें:

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

Cloudshell2 एसएसएच से clientb तक:

gcloud compute ssh clientb --zone=$zone --tunnel-through-iap

इन कमांड को चलाएं:

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

पिंग और कर्ल के लिए किए गए अनुरोध सही तरीके से पूरे होने चाहिए.

आउटपुट:

root@clientb:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=64 time=1.346 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=64 time=0.249 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 10.10.10.200: icmp_seq=4 ttl=64 time=0.329 ms
64 bytes from 10.10.10.200: icmp_seq=5 ttl=64 time=0.240 ms
root@clientb:~$ curl 10.10.10.200/index.html
<html><body><p>Server</p></body></html>

अब वीएम टर्मिनल से बाहर निकलें और Cloud Shell पर जाएं.

10. इंस्टेंस ग्रुप बनाना

अपनी fw वीएम के लिए, मैनेज नहीं किया जा रहा इंस्टेंस ग्रुप बनाएं.

Cloud Shell से:

gcloud compute instance-groups unmanaged create pbr-uig --zone=$zone

मैनेज नहीं किए जा रहे इंस्टेंस ग्रुप में fw इंस्टेंस जोड़ें.

Cloud Shell से:

gcloud compute instance-groups unmanaged add-instances pbr-uig --instances=fw --zone=$zone

11. स्वास्थ्य जांच की सुविधा बनाएं

बैकएंड सेवा के लिए, परफ़ॉर्मेंस की जांच करें. हम आसान टीसीपी पोर्ट 80 हेल्थ जांच करेंगे.

Cloud Shell से:

gcloud compute health-checks create tcp $prefix-hc-tcp-80 --region=$region --port 80

12. बैकएंड सेवा बनाना

फ़ॉरवर्ड करने के नियम में अटैच करने के लिए, कोई बैकएंड सेवा बनाएं.

Cloud Shell से:

gcloud compute backend-services create be-pbr --load-balancing-scheme=internal --protocol=tcp --region=$region --health-checks=$prefix-hc-tcp-80 --health-checks-region=$region

अब बैकएंड सेवा में इंस्टेंस ग्रुप जोड़ें.

Cloud Shell से:

gcloud compute backend-services add-backend be-pbr --region=$region --instance-group=pbr-uig --instance-group-zone=$zone

13. आगे बढ़ाने का नियम बनाएं

Cloud Shell से:

gcloud compute forwarding-rules create fr-pbr --region=$region --load-balancing-scheme=internal --network=$prefix-vpc --subnet=$prefix-vpc-subnet --ip-protocol=TCP --ports=ALL --backend-service=be-pbr --backend-service-region=$region --address=10.10.10.25 --network-tier=PREMIUM

14. PBR नियम बनाएं

यह PBR नियम क्लाइंट पर लागू होता है. अगर सोर्स आईपी 10.10.10.10/32 (क्लाइंट का पता) और डेस्टिनेशन आईपी 10.10.10.0/24 है, तो यह सभी आईपीवी4 ट्रैफ़िक को, फ़ॉरवर्ड करने के नियम 10.10.10.25 पर भेज देगा.

इसका मतलब है कि Clienta, PBR से मेल खाएगा, कि clientb से.

Cloud Shell से:

gcloud network-connectivity policy-based-routes create pbr-client \
   --network=projects/$project_id/global/networks/$prefix-vpc \
   --next-hop-ilb-ip=10.10.10.25 \
   --source-range=10.10.10.10/32 \
   --destination-range=10.10.10.0/24 \
   --protocol-version=IPv4 \
   --priority=1000 \
   --tags=client

यह PBR नियम सर्वर पर लागू होता है. अगर सोर्स आईपी 10.10.10.200/32 और डेस्टिनेशन आईपी 10.10.10.10/32 है, तो यह सभी आईपीवी4 ट्रैफ़िक को फ़ॉरवर्ड करने के नियम 10.10.10.25 पर भेज देगा.

Cloud Shell से:

gcloud network-connectivity policy-based-routes create pbr-server \
   --network=projects/$project_id/global/networks/$prefix-vpc \
   --next-hop-ilb-ip=10.10.10.25 \
   --source-range=10.10.10.200/32 \
   --destination-range=10.10.10.10/32 \
   --protocol-version=IPv4 \
   --priority=2000 \
   --tags=server

15. PBR के साथ कनेक्टिविटी की जांच करें

अब हम PBR के काम करने के तरीके की पुष्टि करेंगे. "एफ़डब्ल्यू" इंस्टेंस को iptables के साथ कॉन्फ़िगर किया गया हो, ताकि सर्वर से जुड़े अनुरोध अस्वीकार किए जा सकें. अगर PBR काम कर रहा है, तो Clienta पर पहले काम करने वाले अनुरोध अब काम नहीं करेंगे, जबकि Clientb अब भी काम कर रहा है.

एसएसएच का इस्तेमाल, Clienta कंप्यूट वीएम में एसएसएच की मदद से किया जाता है और वही टेस्ट चलाए जाते हैं.

Cloudshell1 से:

gcloud compute ssh clienta --zone=$zone --tunnel-through-iap

इन कमांड को चलाएं:

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

आउटपुट:

root@clienta:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
From 10.10.10.75 icmp_seq=1 Destination Port Unreachable
From 10.10.10.75 icmp_seq=2 Destination Port Unreachable
From 10.10.10.75 icmp_seq=3 Destination Port Unreachable
From 10.10.10.75 icmp_seq=4 Destination Port Unreachable
From 10.10.10.75 icmp_seq=5 Destination Port Unreachable
root@clienta:~$ curl 10.10.10.200/index.html
curl: (7) Failed to connect to 10.10.10.200 port 80: Connection refused

अनुरोध पूरे न होने की वजह से, हम पुष्टि कर सकते हैं कि PBR, Clienta के ट्रैफ़िक को उस fw इंस्टेंस पर लगातार रूट कर रहा है जिसे इस ट्रैफ़िक को ब्लॉक करने के लिए कॉन्फ़िगर किया गया था.

एसएसएच को Clientb में चलाएं और वही कनेक्टिविटी टेस्ट चलाएं.

Cloudshell2 से:

gcloud compute ssh clientb --zone=$zone --tunnel-through-iap

इन कमांड को चलाएं:

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

आउटपुट:

root@clientb:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=63 time=0.361 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=63 time=0.475 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=63 time=0.379 ms
root@clientb:~$ curl 10.10.10.200
<html><body><p>Server</p></body></html>

जैसा कि आपको दिख रहा है, clientb से सर्वर पर किए गए अनुरोध स्वीकार किए जाते हैं. ऐसा इसलिए है, क्योंकि अनुरोध, सोर्स आईपी के लिए PBR नियम से मेल नहीं खाते.

16. [ज़रूरी नहीं] फ़ायरवॉल पर कैप्चर किए गए डेटा की मदद से पुष्टि की जा रही है

इस वैकल्पिक सेक्शन में, आपके पास फ़ायरवॉल वीएम पर पैकेट कैप्चर लेकर, PBR की पुष्टि करने का विकल्प है.

आपके पास अब भी cloudshell1 और cloudshell2 में clienta और clientb के लिए एसएसएच कनेक्शन होना चाहिए.

+ पर क्लिक करके, एक और Cloud Shell टैब खोलें.

5eb3a9956f7e41a2.png

Cloudshell3 से, वैरिएबल सेट करें:

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

एसएसएच की मदद से प्रॉपर्टी भेजें:

gcloud compute ssh fw --zone=$zone --tunnel-through-iap

fw (cloudshell3) पर यहां दिया गया कमांड चलाएं:

sudo tcpdump -i any icmp -nn

Clienta (cloudshell1) से पिंग टेस्ट चलाएं:

ping 10.10.10.200 -c 5

Clientb (cloudshell2) से पिंग टेस्ट चलाएं:

ping 10.10.10.200 -c 5

fw पर आउटपुट (क्लाउडशेल 3):

root@fw:~$ sudo tcpdump -i any icmp -nn
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
17:07:42.215297 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 1, length 64
17:07:42.215338 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 51064 unreachable, length 92
17:07:43.216122 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 2, length 64
17:07:43.216158 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 30835 unreachable, length 92
17:07:44.219064 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 3, length 64
17:07:44.219101 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 2407 unreachable, length 92

आपको Clientb (10.10.10.11) से tcpdump पर कोई पैकेट नहीं दिखेगा, क्योंकि PBR लागू नहीं होता.

संसाधनों को साफ़ करने के लिए, Cloud Shell पर वापस जाएं.

17. क्लीनअप का तरीका

Cloud Shell से, PBR नियम, फ़ॉरवर्ड करने के नियम, बैकएंड सेवा, स्वास्थ्य की जांच, इंस्टेंस ग्रुप, कंप्यूट इंस्टेंस, NAT, Cloud राऊटर, और फ़ायरवॉल के नियमों को हटाएं.

gcloud -q network-connectivity policy-based-routes delete pbr-client

gcloud -q network-connectivity policy-based-routes delete pbr-server

gcloud -q compute forwarding-rules delete fr-pbr --region=$region

gcloud -q compute backend-services delete be-pbr --region=$region

gcloud -q compute health-checks delete $prefix-hc-tcp-80 --region=$region

gcloud -q compute instance-groups unmanaged delete pbr-uig --zone=$zone

gcloud -q compute instances delete clienta --zone=$zone
gcloud -q compute instances delete clientb --zone=$zone
gcloud -q compute instances delete server --zone=$zone
gcloud -q compute instances delete fw --zone=$zone


gcloud -q compute routers nats delete ${prefix}-nat-gw-${region} \
--router=$prefix-cr --router-region=$region

gcloud -q compute routers delete $prefix-cr --region=$region

gcloud -q compute firewall-rules delete $prefix-allow-iap-proxy
gcloud -q compute firewall-rules delete $prefix-allow-http-icmp
gcloud -q compute firewall-rules delete $prefix-fw-allow-ingress
gcloud -q compute firewall-rules delete $prefix-allow-hc-ingress

सबनेट और VPC हटाएं:

gcloud -q compute networks subnets delete $prefix-vpc-subnet \
    --region $region

gcloud -q compute networks delete $prefix-vpc

18. बधाई हो!

कोडलैब पूरा करने के लिए बधाई.

हमने इन विषयों के बारे में बताया

  • नीति पर आधारित रूट