Private Service Connect इंटरफ़ेस

1. परिचय

Private Service Connect इंटरफ़ेस एक ऐसा संसाधन है जिसकी मदद से, प्रोड्यूसर वर्चुअल प्राइवेट क्लाउड (VPC) नेटवर्क, कंज्यूमर वीपीसी नेटवर्क में मौजूद अलग-अलग डेस्टिनेशन से कनेक्शन शुरू कर सकता है. प्रड्यूसर और कंज्यूमर नेटवर्क, अलग-अलग प्रोजेक्ट और संगठनों में हो सकते हैं.

अगर कोई नेटवर्क अटैचमेंट, Private Service Connect इंटरफ़ेस से कनेक्शन स्वीकार करता है, तो Google Cloud, इंटरफ़ेस को उपभोक्ता सबनेट से एक आईपी पता असाइन करता है. यह सबनेट, नेटवर्क अटैचमेंट से तय होता है. उपभोक्ता और प्रॉड्यूसर नेटवर्क कनेक्ट होते हैं और इंटरनल आईपी पतों का इस्तेमाल करके कम्यूनिकेट कर सकते हैं.

नेटवर्क अटैचमेंट और Private Service Connect इंटरफ़ेस के बीच कनेक्शन, Private Service Connect एंडपॉइंट और सर्विस अटैचमेंट के बीच कनेक्शन जैसा ही होता है. हालांकि, इन दोनों में दो मुख्य अंतर होते हैं:

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

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

इस ट्यूटोरियल में, आपको Private Service Connect (PSC) इंटरफ़ेस का एक ऐसा आर्किटेक्चर बनाना है जो Cloud Firewall के नियमों का इस्तेमाल करता हो. इससे, प्रोड्यूसर से लेकर उपभोक्ता के कंप्यूट तक कनेक्टिविटी को अनुमति दी जा सके और उसे अस्वीकार किया जा सके. इसे इमेज 1 में दिखाया गया है.

इमेज 1

d39bf35e55bdf9e6.png

उपयोगकर्ता वीपीसी में एक ही psc-network-attachment बनाया जाएगा. इससे ये इस्तेमाल के उदाहरण मिलेंगे:

  1. भालू से शेर को ऐक्सेस देने के लिए, Cloud Firewall का नियम बनाएं
  2. Cloud Firewall का ऐसा नियम बनाएं जिससे भालू को बाघ से ऐक्सेस न मिले
  3. cosmo से bear को ऐक्सेस करने की अनुमति देने के लिए, Cloud फ़ायरवॉल का नियम बनाएं

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

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

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

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

ट्यूटोरियल के साथ काम करने के लिए प्रोजेक्ट को अपडेट करना

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

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

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

3. उपयोगकर्ता का सेटअप

उपयोगकर्ता वीपीसी बनाना

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

gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom

उपयोगकर्ता के सबनेट बनाना

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

gcloud compute networks subnets create lion-subnet-1 --project=$projectid --range=192.168.20.0/28 --network=consumer-vpc --region=us-central1

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

gcloud compute networks subnets create tiger-subnet-1 --project=$projectid --range=192.168.30.0/28 --network=consumer-vpc --region=us-central1

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

gcloud compute networks subnets create cosmo-subnet-1 --project=$projectid --range=192.168.40.0/28 --network=consumer-vpc --region=us-central1

Private Service Connect Network Attachment सबनेट बनाना

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

gcloud compute networks subnets create intf-subnet --project=$projectid --range=192.168.10.0/28 --network=consumer-vpc --region=us-central1

Cloud Router और NAT कॉन्फ़िगरेशन

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

Cloud Shell में, क्लाउड राउटर बनाएं.

gcloud compute routers create cloud-router-for-nat --network consumer-vpc --region us-central1

Cloud Shell में, NAT गेटवे बनाएं.

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

4. IAP की सुविधा चालू करना

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

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

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

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

5. उपयोगकर्ता वीएम इंस्टेंस बनाना

Cloud Shell में, उपभोक्ता वीएम इंस्टेंस lion बनाएं.

gcloud compute instances create lion \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=lion-subnet-1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to the lion app server !!' | tee /var/www/html/index.html
      EOF"

Cloud Shell में, कंज्यूमर वीएम इंस्टेंस, tiger बनाएं.

gcloud compute instances create tiger \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=tiger-subnet-1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to the tiger app server !!' | tee /var/www/html/index.html
      EOF"

Cloud Shell में, कंज्यूमर वीएम इंस्टेंस cosmo बनाएं.

gcloud compute instances create cosmo \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=cosmo-subnet-1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to the cosmo app server !!' | tee /var/www/html/index.html
      EOF"

इंस्टेंस के आईपी पते पाना और उन्हें सेव करना:

Cloud Shell में, शेर और बाघ के वीएम इंस्टेंस के बारे में जानकारी पाएं.

gcloud compute instances describe lion --zone=us-central1-a | grep  networkIP:

gcloud compute instances describe tiger --zone=us-central1-a | grep  networkIP:

gcloud compute instances describe cosmo --zone=us-central1-a | grep  networkIP:

6. Private Service Connect नेटवर्क अटैचमेंट

नेटवर्क अटैचमेंट, क्षेत्रीय संसाधन होते हैं. ये Private Service Connect इंटरफ़ेस के उपभोक्ता पक्ष को दिखाते हैं. नेटवर्क अटैचमेंट से एक सबनेट को जोड़ा जाता है. इसके बाद, प्रोड्यूसर उस सबनेट से Private Service Connect इंटरफ़ेस को आईपी पते असाइन करता है. सबनेट उसी इलाके में होना चाहिए जहां नेटवर्क अटैचमेंट है. नेटवर्क अटैचमेंट, प्रोड्यूसर सेवा वाले क्षेत्र में ही होना चाहिए.

नेटवर्क अटैचमेंट बनाना

Cloud Shell में, नेटवर्क अटैचमेंट बनाएं.

gcloud compute network-attachments create psc-network-attachment \
    --region=us-central1 \
    --connection-preference=ACCEPT_MANUAL \
    --producer-accept-list=$projectid \
    --subnets=intf-subnet

नेटवर्क अटैचमेंट की सूची बनाना

Cloud Shell में, नेटवर्क अटैचमेंट की सूची बनाएं.

gcloud compute network-attachments list

नेटवर्क अटैचमेंट के बारे में जानकारी

Cloud Shell में, नेटवर्क अटैचमेंट के बारे में बताएं.

gcloud compute network-attachments describe psc-network-attachment --region=us-central1

psc-network-attachment यूआरआई को नोट करें. इसका इस्तेमाल, Private Service Connect इंटरफ़ेस बनाते समय प्रोड्यूसर करेगा. यहां दिया गया उदाहरण देखें:

user@cloudshell$ gcloud compute network-attachments describe psc-network-attachment --region=us-central1 
connectionPreference: ACCEPT_MANUAL
creationTimestamp: '2023-06-06T20:57:12.623-07:00'
fingerprint: 4Yq6xAfaRO0=
id: '3235195049527328503'
kind: compute#networkAttachment
name: psc-network-attachment
network: https://www.googleapis.com/compute/v1/projects/$projectid/global/networks/consumer-vpc
producerAcceptLists:
- $projectid
region: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/networkAttachments/psc-network-attachment
subnetworks:
- https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/subnetworks/intf-subnet

7. Producer Setup

प्रोड्यूसर वीपीसी नेटवर्क बनाना

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

gcloud compute networks create producer-vpc --project=$projectid --subnet-mode=custom

प्रोड्यूसर सबनेट बनाना

Cloud Shell में, पीएससी इंटरफ़ेस के vNIC0 के लिए इस्तेमाल किया जाने वाला सबनेट बनाएं.

gcloud compute networks subnets create prod-subnet --project=$projectid --range=10.20.1.0/28 --network=producer-vpc --region=us-central1

8. IAP की सुविधा चालू करना

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

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

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

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

9. Private Service Connect इंटरफ़ेस बनाना

Private Service Connect इंटरफ़ेस एक ऐसा संसाधन है जिसकी मदद से, प्रोड्यूसर वर्चुअल प्राइवेट क्लाउड (VPC) नेटवर्क, कंज्यूमर वीपीसी नेटवर्क में मौजूद अलग-अलग डेस्टिनेशन से कनेक्शन शुरू कर सकता है. प्रड्यूसर और कंज्यूमर नेटवर्क, अलग-अलग प्रोजेक्ट और संगठनों में हो सकते हैं.

अगर कोई नेटवर्क अटैचमेंट, Private Service Connect इंटरफ़ेस से कनेक्शन स्वीकार करता है, तो Google Cloud, इंटरफ़ेस को उपभोक्ता सबनेट से एक आईपी पता असाइन करता है. यह सबनेट, नेटवर्क अटैचमेंट से तय होता है. उपभोक्ता और प्रॉड्यूसर नेटवर्क कनेक्ट होते हैं और इंटरनल आईपी पतों का इस्तेमाल करके कम्यूनिकेट कर सकते हैं.

Cloud Shell में, Private Service Connect इंटरफ़ेस (bear) बनाएं. इसके बाद, नेटवर्क अटैचमेंट की जानकारी देने वाले आउटपुट से, पहले पहचाना गया psc-network-attachment यूआरआई डालें.

gcloud compute instances create bear --zone us-central1-a --machine-type=f1-micro --can-ip-forward --network-interface subnet=prod-subnet,network=producer-vpc,no-address --network-interface network-attachment=https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/networkAttachments/psc-network-attachment

एक से ज़्यादा एनआईसी की पुष्टि करना

पुष्टि करें कि पीएससी इंटरफ़ेस को सही आईपी पते के साथ कॉन्फ़िगर किया गया हो. vNIC0, प्रोड्यूसर prod-subnet (10.20.1.0/28) का इस्तेमाल करेगा और vNIC1, उपभोक्ता intf-subnet (192.168.10.0/28) का इस्तेमाल करेगा.

gcloud compute instances describe bear --zone=us-central1-a | grep networkIP:

उदाहरण:

user$ gcloud compute instances describe bear --zone=us-central1-a | grep networkIP:
  networkIP: 10.20.1.2
  networkIP: 192.168.10.2

10. उपयोगकर्ता के फ़ायरवॉल के नियमों को अपडेट करना

भालू से शेर तक ऐक्सेस की अनुमति देने के लिए, Cloud Firewall का नियम बनाएं

Cloud Shell में, ज़्यादा प्राथमिकता वाला एक ऐसा नियम बनाएं जो अटैचमेंट-सबनेट (intf-subnet) के आईपी पते की रेंज से, lion-subnet-1 के पते की रेंज में मौजूद डेस्टिनेशन तक डेटा ट्रांसफ़र करने की अनुमति देता हो.

gcloud compute firewall-rules create allow-limited-egress-to-lion \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=EGRESS \
    --priority=1000 \
    --source-ranges="192.168.10.0/28" \
    --destination-ranges="192.168.20.0/28" \
    --enable-logging

Cloud Shell में, इन्ग्रेस डेटा ट्रैफ़िक को अनुमति देने वाला ऐसा नियम बनाएं जो psc-network-attachment सबनेट से आने वाले ट्रैफ़िक के लिए, इन्ग्रेस डेटा ट्रैफ़िक को डिफ़ॉल्ट रूप से अस्वीकार करने वाले नियम को बदल दे.

gcloud compute firewall-rules create allow-ingress \
--network=consumer-vpc \
--action=ALLOW \
--rules=ALL \
--direction=INGRESS \
--priority=1000 \
--source-ranges="192.168.10.0/28" \
--enable-logging

Cloud Firewall का ऐसा नियम बनाएं जिससे भालू को सभी रेंज (टाइगर भी शामिल है) से ऐक्सेस न मिले

Cloud Shell में, कम प्राथमिकता वाला ऐसा नियम बनाएं जो नेटवर्क अटैचमेंट के सबनेट, intf-subnet की आईपी पते की रेंज से निकलने वाले सभी ट्रैफ़िक को अस्वीकार कर दे.

gcloud compute firewall-rules create deny-all-egress \
    --network=consumer-vpc \
    --action=DENY \
    --rules=ALL \
    --direction=EGRESS \
    --priority=65534 \
    --source-ranges="192.168.10.0/28" \
    --destination-ranges="0.0.0.0/0" \
    --enable-logging

cosmo से bear को ऐक्सेस करने की अनुमति देने के लिए, Cloud Firewall का नियम बनाएं

Cloud Shell में, इन्ग्रेस डेटा ट्रैफ़िक को अनुमति देने वाला ऐसा नियम बनाएं जो psc-network-attachment सबनेट से आने वाले ट्रैफ़िक के लिए, इन्ग्रेस डेटा ट्रैफ़िक को डिफ़ॉल्ट रूप से अस्वीकार करने वाले नियम को बदल दे.

gcloud compute firewall-rules create vm-subnet-allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="192.168.40.0/28" \
    --destination-ranges="192.168.10.0/28" \
    --enable-logging

11. पीएससी इंटरफ़ेस के लिए Linux रूट बनाएं

पीएसए इंटरफ़ेस इंस्टेंस से, Linux रूट कॉन्फ़िगर करें. इससे प्रोड्यूसर, कंज्यूमर सबनेट से कम्यूनिकेट कर पाएगा.

Private Service Connect इंटरफ़ेस के गेस्ट ओएस का नाम ढूंढना

राउटिंग को कॉन्फ़िगर करने के लिए, आपको Private Service Connect इंटरफ़ेस के गेस्ट ओएस का नाम पता होना चाहिए. यह नाम, Google Cloud में इंटरफ़ेस के नाम से अलग होता है.

Cloud Shell में, नया टैब खोलें और यह काम करें:

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

Cloud Shell में IAP का इस्तेमाल करके, psc-interface vm, bear में लॉग इन करें.

gcloud compute ssh bear --project=$projectid --zone=us-central1-a --tunnel-through-iap

Cloud Shell में, psc-interface इंस्टेंस का आईपी पता पाएं

ip a

उदाहरण:

user@bear:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 42:01:0a:14:01:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 10.20.1.2/32 brd 10.20.1.2 scope global dynamic ens4
       valid_lft 85991sec preferred_lft 85991sec
    inet6 fe80::4001:aff:fe14:102/64 scope link 
       valid_lft forever preferred_lft forever
3: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 42:01:c0:a8:0a:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    inet 192.168.10.2/32 brd 192.168.10.2 scope global dynamic ens5
       valid_lft 85991sec preferred_lft 85991sec
    inet6 fe80::4001:c0ff:fea8:a02/64 scope link 
       valid_lft forever preferred_lft forever

अपने पीएससी इंटरफ़ेस का गेटवे आईपी ढूंढना

नेटवर्क इंटरफ़ेस की सूची में, उस इंटरफ़ेस का नाम ढूंढें और सेव करें जो आपके Private Service Connect इंटरफ़ेस के आईपी पते से जुड़ा है. उदाहरण के लिए, ens5 (vNIC1)

रूटिंग कॉन्फ़िगर करने के लिए, आपको Private Service Connect इंटरफ़ेस के डिफ़ॉल्ट गेटवे का आईपी पता पता होना चाहिए

क्लाउड शेल में, हम 1 का इस्तेमाल करेंगे, क्योंकि पीएससी इंटरफ़ेस vNIC1 से जुड़ा है.

curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo

इस उदाहरण से डिफ़ॉल्ट gw 192.168.10.1 बनता है

user@bear:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo
192.168.10.1

उपयोगकर्ता सबनेट के लिए रूट जोड़ना

आपको अपने Private Service Connect इंटरफ़ेस के डिफ़ॉल्ट गेटवे में एक रूट जोड़ना होगा. ऐसा हर उस उपभोक्ता सबनेट के लिए करना होगा जो आपके Private Service Connect इंटरफ़ेस से कनेक्ट होता है. इससे यह पक्का होता है कि उपभोक्ता नेटवर्क के लिए तय किया गया ट्रैफ़िक, Private Service Connect इंटरफ़ेस से बाहर निकल जाए.

बियर इंस्टेंस में, उपभोक्ता सबनेट के लिए रूट जोड़ें.

sudo ip route add 192.168.20.0/28 via 192.168.10.1 dev ens5
sudo ip route add 192.168.30.0/28 via 192.168.10.1 dev ens5
sudo ip route add 192.168.40.0/28 via 192.168.10.1 dev ens5

रास्ते की जानकारी देने वाली टेबल की पुष्टि करना

Cloud Shell में, हाल ही में जोड़े गए रूट की पुष्टि करें.

ip route show

उदाहरण.

user@bear:~$ ip route show
default via 10.20.1.1 dev ens4 
10.20.1.0/28 via 10.20.1.1 dev ens4 
10.20.1.1 dev ens4 scope link 
192.168.10.0/28 via 192.168.10.1 dev ens5 
192.168.10.1 dev ens5 scope link 
192.168.20.0/28 via 192.168.10.1 dev ens5 
192.168.30.0/28 via 192.168.10.1 dev ens5 
192.168.40.0/28 via 192.168.10.1 dev ens5 

12. भालू और शेर के बीच कनेक्टिविटी की पुष्टि करना

आइए, पुष्टि करते हैं कि प्रोड्यूसर वीएम इंस्टेंस, bear, उपभोक्ता इंस्टेंस, lion से कम्यूनिकेट कर सकता है या नहीं. इसके लिए, curl कमांड का इस्तेमाल करें.

भालू के इंस्टेंस से, शेर के आईपी पते के ख़िलाफ़ कर्ल करें. इस आईपी पते की पहचान ट्यूटोरियल में पहले ही कर ली गई थी.

curl -v <lions IP Address>

उदाहरण:

user@bear:~$ curl -v 192.168.20.2
*   Trying 192.168.20.2:80...
* Connected to 192.168.20.2 (192.168.20.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 192.168.20.2
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Tue, 06 Jun 2023 03:53:08 GMT
< Server: Apache/2.4.56 (Debian)
< Last-Modified: Mon, 05 Jun 2023 19:41:26 GMT
< ETag: "1e-5fd6716a1e11b"
< Accept-Ranges: bytes
< Content-Length: 30
< Content-Type: text/html
< 
Welcome to lion app server !!
* Connection #0 to host 192.168.20.2 left intact

13. पुष्टि करें कि Bear to Tiger कनेक्टिविटी ब्लॉक है

फ़ायरवॉल के लॉग देखकर पुष्टि करते हैं कि इग्रेस फ़ायरवॉल का नियम, भालू को बाघ के ऐक्सेस करने से रोक रहा है.

नए Cloud Console सेशन से, Logging → Logs Explorer → Show query को चुनें

2ae597e6d970cddf.png

नीचे दी गई क्वेरी स्ट्रिंग को खोज फ़ील्ड में चिपकाएं. इसके बाद, स्ट्रीम चुनें

jsonPayload.rule_details.reference="network:consumer-vpc/firewall:deny-all-egress"

30d7bfae315f2ee3.png

bear इंस्टेंस से, tiger के आईपी पते के लिए curl कमांड चलाएं. इस आईपी पते की पहचान ट्यूटोरियल में पहले की गई थी. यह कर्ल कुछ समय बाद अपने-आप हट जाएगा.

curl -v <tiger's IP Address>

उदाहरण:

user@bear:~$ curl -v 192.168.30.2 
*   Trying 192.168.30.2:80...
* connect to 192.168.30.2 port 80 failed: Connection timed out
* Failed to connect to 192.168.30.2 port 80: Connection timed out
* Closing connection 0
curl: (28) Failed to connect to 192.168.30.2 port 80: Connection timed out

पुष्टि करें कि Log Explorer ने फ़ायरवॉल के उन लॉग को कैप्चर किया है जिन्हें अनुमति नहीं दी गई है. मेटाडेटा देखने के लिए, कोई लॉग एंट्री चुनें और नेस्ट किए गए फ़ील्ड को बड़ा करें.

5c42a6587300be55.png

14. पुष्टि करें कि कनेक्टिविटी के लिए cosmo को चालू किया गया है

Cloud Shell का नया टैब खोलें और अपने प्रोजेक्ट की सेटिंग अपडेट करें.

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

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

Cloud Shell में IAP का इस्तेमाल करके, cosmo इंस्टेंस में लॉग इन करें.

gcloud compute ssh cosmo --project=$projectid --zone=us-central1-a --tunnel-through-iap

Cloud Shell में, bear के IP vNIV1 आईपी पते को पिंग करें. इस पते की पहचान ट्यूटोरियल में पहले की गई थी

ping <bears vNIC1 IP Address>

उदाहरण:

user@cosmo:~$ ping 192.168.10.2 -c 5
PING 192.168.10.2 (192.168.10.2) 56(84) bytes of data.
64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=0.277 ms
64 bytes from 192.168.10.2: icmp_seq=2 ttl=64 time=0.288 ms
64 bytes from 192.168.10.2: icmp_seq=3 ttl=64 time=0.265 ms
64 bytes from 192.168.10.2: icmp_seq=4 ttl=64 time=0.264 ms
64 bytes from 192.168.10.2: icmp_seq=5 ttl=64 time=0.366 ms

15. व्यवस्थित करें

Cloud Shell से, ट्यूटोरियल के कॉम्पोनेंट मिटाएं.

gcloud compute instances delete bear --zone=us-central1-a --quiet

gcloud compute instances delete lion --zone=us-central1-a --quiet

gcloud compute instances delete tiger --zone=us-central1-a --quiet

gcloud compute instances delete cosmo --zone=us-central1-a --quiet

gcloud compute network-attachments delete psc-network-attachment --region=us-central1 --quiet

gcloud compute firewall-rules delete allow-ingress allow-limited-egress-to-lion deny-all-egress ssh-iap-consumer ssh-iap-producer vm-subnet-allow-ingress --quiet

gcloud compute networks subnets delete cosmo-subnet-1 intf-subnet lion-subnet-1 prod-subnet tiger-subnet-1 --region=us-central1 --quiet

gcloud compute routers delete cloud-router-for-nat --region=us-central1 --quiet 

gcloud compute networks delete consumer-vpc --quiet

gcloud compute networks delete producer-vpc --quiet

16. बधाई हो

बधाई हो, आपने फ़ायरवॉल के नियमों को लागू करके, Private Service Connect इंटरफ़ेस और उपभोक्ता और प्रोड्यूसर कनेक्टिविटी को कॉन्फ़िगर और पुष्टि कर लिया है.

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

Cosmopup को ट्यूटोरियल बहुत पसंद हैं!!

e6d3675ca7c6911f.jpeg

आगे क्या करना है?

इनमें से कुछ ट्यूटोरियल देखें...

ज़्यादा जानकारी और वीडियो

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