1. परिचय
हाइब्रिड कनेक्टिविटी वाला इंटरनल रीजनल टीसीपी प्रॉक्सी लोड बैलेंसर, आपको ऐसी सेवा बनाने की सुविधा देता है जिसे ऑन-प्रिमाइसेस या अन्य क्लाउड एनवायरमेंट में होस्ट किया गया है. साथ ही, इसे आपके वीपीसी नेटवर्क में मौजूद क्लाइंट के लिए उपलब्ध कराया जा सकता है.
अगर आपको हाइब्रिड सेवा को अन्य वीपीसी नेटवर्क में उपलब्ध कराना है, तो Private Service Connect का इस्तेमाल करके सेवा को पब्लिश किया जा सकता है. अपने इंटरनल रीजनल टीसीपी प्रॉक्सी लोड बैलेंसर के सामने सर्विस अटैचमेंट रखकर, अन्य वीपीसी नेटवर्क में मौजूद क्लाइंट को, ऑन-प्रिमाइसेस या अन्य क्लाउड एनवायरमेंट में चल रही हाइब्रिड सेवाओं तक पहुंचने की अनुमति दी जा सकती है.
आपको क्या बनाने को मिलेगा
इस कोड लैब में, आपको नेटवर्क एंडपॉइंट ग्रुप का इस्तेमाल करके, किसी ऑन-प्रिमाइसेस सेवा से हाइब्रिड कनेक्टिविटी के साथ इंटरनल टीसीपी प्रॉक्सी लोड बैलेंसर बनाना है. उपयोगकर्ता का वीपीसी, ऑन-प्रिमाइसेस सेवा से कम्यूनिकेट कर पाएगा.

आपको क्या सीखने को मिलेगा
- हाइब्रिड एनईजी बैकएंड सेवा के साथ टीसीपी प्रॉक्सी आईएलबी बनाने का तरीका
- Private Service Connect के प्रोड्यूसर (सर्विस अटैचमेंट) और उपभोक्ता (फ़ॉरवर्डिंग नियम) को कैसे सेट अप करें
- उपयोगकर्ता से प्रोड्यूसर तक सेवा से जुड़ी जानकारी के कम्यूनिकेशन की जांच और पुष्टि करने का तरीका
आपको इन चीज़ों की ज़रूरत होगी
- हाइब्रिड नेटवर्किंग की सुविधा उपलब्ध हो.जैसे, एचए वीपीएन, इंटरकनेक्ट, SW-WAN
- Google Cloud प्रोजेक्ट
हाइब्रिड कनेक्टिविटी सेट अप करना
आपके Google Cloud और ऑन-प्रिमाइसेस या अन्य क्लाउड एनवायरमेंट, हाइब्रिड कनेक्टिविटी के ज़रिए कनेक्ट होने चाहिए. इसके लिए, Cloud Router के साथ Cloud Interconnect वीएलएएन अटैचमेंट या Cloud वीपीएन टनल का इस्तेमाल करें. हमारा सुझाव है कि आप हाई अवेलेबिलिटी कनेक्शन का इस्तेमाल करें.
ग्लोबल डाइनैमिक राउटिंग की सुविधा चालू होने पर, Cloud Router को बीजीपी के ज़रिए किसी खास एंडपॉइंट के बारे में पता चलता है. इसके बाद, वह इसे आपके Google Cloud वीपीसी नेटवर्क में प्रोग्राम करता है. रीजनल डाइनैमिक राउटिंग की सुविधा उपलब्ध नहीं है. स्टैटिक राउट भी काम नहीं करते.
Cloud Interconnect या Cloud VPN को कॉन्फ़िगर करने के लिए इस्तेमाल किया जाने वाला Google Cloud वीपीसी नेटवर्क, वही नेटवर्क होता है जिसका इस्तेमाल हाइब्रिड लोड बैलेंसिंग डिप्लॉयमेंट को कॉन्फ़िगर करने के लिए किया जाता है. पक्का करें कि आपके वीपीसी नेटवर्क के सबनेट सीआईडीआर रेंज, रिमोट सीआईडीआर रेंज से मेल न खाती हों. जब आईपी पते ओवरलैप होते हैं, तो रिमोट कनेक्टिविटी के मुकाबले सबनेट रूट को प्राथमिकता दी जाती है.
निर्देशों के लिए, यहां जाएं:
कस्टम रूट ऐडवर्टाइज़मेंट
नीचे दिए गए सबनेट के लिए, Cloud Router से ऑन-प्रिमाइसेस नेटवर्क तक कस्टम विज्ञापन दिखाने की ज़रूरत होती है. इससे यह पक्का किया जा सकता है कि ऑन-प्रिमाइसेस फ़ायरवॉल के नियम अपडेट किए गए हों.
सबनेट | ब्यौरा |
172.16.0.0/23 | टीसीपी प्रॉक्सी सबनेट का इस्तेमाल, सीधे तौर पर ऑन-प्रिमाइसेस सेवा से कम्यूनिकेट करने के लिए किया जाता है |
130.211.0.0/22, 35.191.0.0/16 |
2. शुरू करने से पहले
कोडलैब के साथ काम करने के लिए प्रोजेक्ट को अपडेट करना
इस कोडलैब में, Cloud Shell में gcloud कॉन्फ़िगरेशन लागू करने में मदद करने के लिए, $variables का इस्तेमाल किया गया है.
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
psclab=YOUR-PROJECT-NAME
echo $psclab
3. प्रोड्यूसर का सेटअप
प्रोड्यूसर वीपीसी बनाना
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute networks create producer-vpc --project=$psclab --subnet-mode=custom
प्रोड्यूसर सबनेट बनाना
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute networks subnets create subnet-201 --project=$psclab --range=10.10.1.0/24 --network=producer-vpc --region=us-central1
टीसीपी प्रॉक्सी सबनेट बनाना
प्रॉक्सी का असाइनमेंट, वीपीसी लेवल पर होता है, न कि लोड बैलेंसर लेवल पर. आपको वर्चुअल नेटवर्क (वीपीसी) के हर उस क्षेत्र में एक सिर्फ़ प्रॉक्सी वाला सबनेट बनाना होगा जिसमें Envoy पर आधारित लोड बैलेंसर का इस्तेमाल किया जाता है. अगर एक ही क्षेत्र और एक ही वीपीसी नेटवर्क में कई लोड बैलेंसर डिप्लॉय किए जाते हैं, तो वे लोड बैलेंसिंग के लिए, प्रॉक्सी-ओनली सबनेट का इस्तेमाल करते हैं.
- क्लाइंट, लोड बैलेंसर के फ़ॉरवर्डिंग नियम के आईपी पते और पोर्ट से कनेक्ट होता है.
- हर प्रॉक्सी, लोड बैलेंसर के फ़ॉरवर्डिंग नियम में बताए गए आईपी पते और पोर्ट पर सुनता है. कोई प्रॉक्सी, क्लाइंट के नेटवर्क कनेक्शन को स्वीकार करती है और उसे बंद कर देती है.
- प्रॉक्सी, एनईजी में मौजूद सही बैकएंड वीएम या एंडपॉइंट से कनेक्शन बनाता है. यह कनेक्शन, लोड बैलेंसर के यूआरएल मैप और बैकएंड सेवाओं के हिसाब से तय होता है.
आपको प्रॉक्सी-ओनली सबनेट बनाने होंगे. इससे कोई फ़र्क़ नहीं पड़ता कि आपका नेटवर्क ऑटो-मोड में है या कस्टम मोड में. सिर्फ़ प्रॉक्सी वाले सबनेट में 64 या इससे ज़्यादा आईपी पते होने चाहिए. यह /26 या उससे कम लंबाई के प्रीफ़िक्स से मेल खाता है. सबनेट का सुझाया गया साइज़ /23 (सिर्फ़ प्रॉक्सी के लिए 512 पते) है.
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute networks subnets create proxy-subnet-us-central \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=us-central1 \
--network=producer-vpc \
--range=172.16.0.0/23
Private Service Connect NAT सबनेट बनाना
Private Service Connect के साथ इस्तेमाल करने के लिए, एक या उससे ज़्यादा सबनेट बनाएं. अगर कोई सेवा पब्लिश करने के लिए Google Cloud Console का इस्तेमाल किया जा रहा है, तो इस प्रोसेस के दौरान सबनेट बनाए जा सकते हैं. सबनेट को उसी इलाके में बनाएं जहां सेवा का लोड बैलेंसर मौजूद है. सामान्य सबनेट को Private Service Connect सबनेट में नहीं बदला जा सकता.
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute networks subnets create psc-nat-subnet --network=producer-vpc --region=us-central1 --range=100.100.10.0/24 --purpose=private-service-connect
प्रोड्यूसर के लिए फ़ायरवॉल के नियम बनाना
प्राइवेट सर्विस कनेक्ट एंडपॉइंट और सर्विस अटैचमेंट के बीच ट्रैफ़िक की अनुमति देने के लिए, फ़ायरवॉल के नियम कॉन्फ़िगर करें. इस कोडलैब में, एक इनग्रेस फ़ायरवॉल नियम बनाया गया है. इससे NAT सबनेट 100.100.10.0/24 को Private Service Connect सेवा अटैचमेंट (इंटरनल लोड बैलेंसर) को ऐक्सेस करने की अनुमति मिलती है.
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute --project=$psclab firewall-rules create allow-to-ingress-nat-subnet --direction=INGRESS --priority=1000 --network=producer-vpc --action=ALLOW --rules=all --source-ranges=100.100.10.0/24
Cloud Shell में, fw-allow-health-check नियम बनाएं. इससे Google Cloud के हेल्थ चेक, टीसीपी पोर्ट 80 पर मौजूद ऑन-प्रिमाइसेस सेवा (बैकएंड सेवा) तक पहुंच पाएंगे
gcloud compute firewall-rules create fw-allow-health-check \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--rules=tcp:80
इन्ग्रेस फ़ायरवॉल का ऐसा नियम बनाएं जिससे ऑन-प्रिमाइसेस सेवाएं, पोर्ट 80 पर प्रॉक्सी सबनेट से कम्यूनिकेट कर सकें
gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=172.16.0.0/23 \
--rules=tcp:80
हाइब्रिड कनेक्टिविटी वाला NEG सेट अप करना
NEG बनाते समय, ऐसे ज़ोन का इस्तेमाल करें जिससे Google Cloud और कंपनी की इमारत या किसी अन्य क्लाउड प्लैटफ़ॉर्म के बीच की भौगोलिक दूरी कम हो. उदाहरण के लिए, अगर आपको जर्मनी के फ़्रैंकफ़र्ट में ऑन-प्रिमाइसेस एनवायरमेंट में कोई सेवा होस्ट करनी है, तो NEG बनाते समय europe-west3-a Google Cloud ज़ोन की जानकारी दी जा सकती है.
इसके अलावा, अगर Cloud Interconnect का इस्तेमाल किया जा रहा है, तो NEG बनाने के लिए इस्तेमाल किया गया ज़ोन, उसी क्षेत्र में होना चाहिए जहां Cloud Interconnect अटैचमेंट को कॉन्फ़िगर किया गया था.
उपलब्ध क्षेत्रों और ज़ोन के बारे में जानने के लिए, Compute Engine का दस्तावेज़: उपलब्ध क्षेत्र और ज़ोन देखें.
Cloud Shell में, gcloud compute network-endpoint-groups create कमांड का इस्तेमाल करके, हाइब्रिड कनेक्टिविटी वाला एनईजी बनाएं
gcloud compute network-endpoint-groups create on-prem-service-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--zone=us-central1-a \
--network=producer-vpc
Cloud Shell में, हाइब्रिड एनईजी में ऑन-प्रिमाइसेस आईपी:पोर्ट एंडपॉइंट जोड़ें.
gcloud compute network-endpoint-groups update on-prem-service-neg \
--zone=us-central1-a \
--add-endpoint="ip=192.168.1.5,port=80"
लोड बैलेंसर को कॉन्फ़िगर करना
यहां दिए गए चरणों में, लोड बैलेंसर (फ़ॉरवर्डिंग का नियम) को कॉन्फ़िगर किया जाएगा. साथ ही, इसे नेटवर्क एंडपॉइंट ग्रुप से जोड़ा जाएगा
Cloud Shell में, ऑन-प्रिमाइसेस सेवा को पास किया गया रीजनल हेल्थ-चेक बनाएं
gcloud compute health-checks create tcp on-prem-service-hc \
--region=us-central1 \
--use-serving-port
Cloud Shell में, ऑन-प्रिमाइसेस बैकएंड के लिए बैकएंड सेवा बनाएं
gcloud compute backend-services create on-premise-service-backend \
--load-balancing-scheme=INTERNAL_MANAGED \
--protocol=TCP \
--region=us-central1 \
--health-checks=on-prem-service-hc \
--health-checks-region=us-central1
Cloud Shell में, हाइब्रिड NEG बैकएंड को बैकएंड सेवा में जोड़ें. MAX_CONNECTIONS के लिए, एक साथ होने वाले ज़्यादा से ज़्यादा कनेक्शन की संख्या डालें. यह वह संख्या है जिसे बैकएंड को हैंडल करना चाहिए.
gcloud compute backend-services add-backend on-premise-service-backend \
--network-endpoint-group=on-prem-service-neg \
--network-endpoint-group-zone=us-central1-a \
--region=us-central1 \
--balancing-mode=CONNECTION \
--max-connections=100
Cloud Shell में जाकर, टारगेट प्रॉक्सी बनाएं
gcloud compute target-tcp-proxies create on-premise-svc-tcpproxy \
--backend-service=on-premise-service-backend \
--region=us-central1
Cloud Shell में, फ़ॉरवर्ड करने का नियम (आईएलबी) बनाएं
gcloud compute forwarding-rules create कमांड का इस्तेमाल करके, फ़ॉरवर्ड करने का नियम बनाएं.
FWD_RULE_PORT को 1 से 65535 के बीच के किसी पोर्ट नंबर से बदलें. फ़ॉरवर्ड करने का नियम, सिर्फ़ उन पैकेट को फ़ॉरवर्ड करता है जिनका डेस्टिनेशन पोर्ट मैच करता है.
gcloud compute forwarding-rules create tcp-ilb-psc \
--load-balancing-scheme=INTERNAL_MANAGED \
--network=producer-vpc \
--subnet=subnet-201 \
--ports=80 \
--region=us-central1 \
--target-tcp-proxy=on-premise-svc-tcpproxy \
--target-tcp-proxy-region=us-central1
इंटरनल लोड बैलेंसर का आईपी पता पाना
gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:
Example output:
gcloud compute forwarding-rules describe tcp-ilb-psc --region=us-central1 | grep -i IPAddress:
IPAddress: 10.10.1.2
4. लोड बैलेंसर की पुष्टि करना
Cloud Console में, नेटवर्क सेवाएं → लोड बैलेंसिंग → लोड बैलेंसर पर जाएं. ध्यान दें कि 1 NEG ‘Green' है. इससे पता चलता है कि ऑन-प्रिमाइसेस सेवा के लिए हेल्थ चेक पूरा हो गया है

‘on-premise-service-backend' चुनने पर, फ़्रंट एंड का आईपी पता मिलता है

5. ऑन-प्रिमाइसेस से सीखे गए रूट देखना
VPC नेटवर्क → रास्तों पर जाएं. ध्यान दें, ऑन-प्रिमाइसेस सेवा का सबनेट 192.168.1.0/27 है

6. कंपनी की इमारत में मौजूद सेवा से कनेक्टिविटी की पुष्टि करना
हम प्रोड्यूसर के वीपीसी से एक वीएम बनाएंगे, ताकि ऑन-प्रिमाइसेस सेवा से कनेक्टिविटी की जांच की जा सके. इसके बाद, सर्विस अटैचमेंट को कॉन्फ़िगर किया जाएगा.
Cloud Shell में, प्रोड्यूसर वीपीसी में टेस्ट इंस्टेंस बनाएं
gcloud compute instances create test-box-us-central1 \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-201 \
--no-address
आईएपी को अपने वीएम इंस्टेंस से कनेक्ट करने की अनुमति देने के लिए, फ़ायरवॉल का ऐसा नियम बनाएं जो:
- यह उन सभी वीएम इंस्टेंस पर लागू होता है जिन्हें आपको आईएपी का इस्तेमाल करके ऐक्सेस करना है.
- इसकी मदद से, 35.235.240.0/20 आईपी रेंज से इन्ग्रेस ट्रैफ़िक को आने की अनुमति मिलती है. इस रेंज में वे सभी आईपी पते शामिल हैं जिनका इस्तेमाल IAP, टीसीपी फ़ॉरवर्डिंग के लिए करता है.
Cloud Shell में, प्रोड्यूसर वीपीसी में टेस्ट इंस्टेंस बनाएं
gcloud compute firewall-rules create ssh-iap \
--network producer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
Cloud Shell में IAP का इस्तेमाल करके, test-box-us-central1 में लॉग इन करें. इसके बाद, लोड बैलेंस आईपी पते के ख़िलाफ़ कर्ल करके, ऑन-प्रिमाइसेस सेवा से कनेक्टिविटी की पुष्टि करें. अगर समयसीमा खत्म हो गई है, तो फिर से कोशिश करें.
gcloud compute ssh test-box-us-central1 --project=$psclab --zone=us-central1-a --tunnel-through-iap
कंपनी की इमारत में मौजूद सेवा से कनेक्टिविटी की पुष्टि करने के लिए, कर्ल करें. पुष्टि हो जाने के बाद, वीएम से बाहर निकलें और Cloud Shell प्रॉम्प्ट पर वापस जाएं. तीसरे और चौथे चरण में पहचाने गए आउटपुट के आधार पर, इंटरनल लोड बैलेंसर आईपी को बदलें.
deepakmichael@test-box-us-central1:~$ curl -v 10.10.1.2
* Expire in 0 ms for 6 (transfer 0x55b9a6b2f0f0)
* Trying 10.10.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b9a6b2f0f0)
* Connected to 10.10.1.2 (10.10.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.10.1.2
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:42:38 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:42:38 GMT
< Server: lighttpd/1.4.53
<
Welcome to my on-premise service!!
7. Private Service Connect सेवा अटैचमेंट बनाना
यहां दिए गए चरणों में, हम सर्विस अटैचमेंट बनाएंगे. इसे उपभोक्ता एंडपॉइंट के साथ पेयर करने के बाद, वीपीसी पीयरिंग की ज़रूरत के बिना ही ऑन-प्रिमाइसेस सेवा को ऐक्सेस किया जा सकेगा.
सेवा अटैचमेंट बनाना
Cloud Shell में, सेवा अटैचमेंट बनाएं
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet
ज़रूरी नहीं: अगर शेयर किए गए वीपीसी का इस्तेमाल किया जा रहा है, तो सेवा से जुड़े प्रोजेक्ट में सर्विस अटैचमेंट बनाएं
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=tcp-ilb-psc --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=projects/<hostproject>/regions/<region>/subnetworks/<natsubnet>
टीसीपी सेवा अटैचमेंट की पुष्टि करना
gcloud compute service-attachments describe service-1 --region us-central1
8. ज़रूरी नहीं: नए बनाए गए सर्विस अटैचमेंट को देखने के लिए, नेटवर्क सेवाएं → Private Service Connect पर जाएं

Service-1 को चुनने पर, ज़्यादा जानकारी मिलती है. इसमें वह सेवा अटैचमेंट यूआरआई भी शामिल होता है जिसका इस्तेमाल उपभोक्ता, Private Service Connection बनाने के लिए करता है. यूआरआई को नोट कर लें, क्योंकि इसका इस्तेमाल बाद के चरण में किया जाएगा.

सर्विस अटैचमेंट की जानकारी: projects/<projectname>/regions/us-central1/serviceAttachments/service-1
9. उपयोगकर्ता का सेटअप
उपयोगकर्ता वीपीसी बनाना
Cloud Shell में जाकर, यह कार्रवाई करें
gcloud compute networks create consumer-vpc --project=$psclab --subnet-mode=custom
उपयोगकर्ता के सबनेट बनाना
Cloud Shell में GCE सबनेट बनाएं
gcloud compute networks subnets create subnet-101 --project=$psclab --range=10.100.1.0/24 --network=consumer-vpc --region=us-central1
Cloud Shell में, कंज्यूमर एंडपॉइंट सबनेट बनाएं
gcloud compute networks subnets create subnet-102 --project=$psclab --range=10.100.2.0/24 --network=consumer-vpc --region=us-central1
उपयोगकर्ता के लिए एंडपॉइंट (फ़ॉरवर्ड करने का नियम) बनाना
Cloud Shell में, ऐसा स्टैटिक आईपी पता बनाएं जिसका इस्तेमाल उपभोक्ता एंडपॉइंट के तौर पर किया जाएगा
gcloud compute addresses create psc-consumer-ip-1 --region=us-central1 --subnet=subnet-102 --addresses 10.100.2.10
इससे पहले से जनरेट किए गए सर्विस अटैचमेंट यूआरआई का इस्तेमाल करके, उपभोक्ता एंडपॉइंट बनाया जा सकता है
Cloud Shell में जाकर, कंज्यूमर एंडपॉइंट बनाएं
gcloud compute forwarding-rules create psc-consumer-1 --region=us-central1 --network=consumer-vpc --address=psc-consumer-ip-1 --target-service-attachment=projects/$psclab/regions/us-central1/serviceAttachments/service-1
10. Validate Consumer Private Service Connect - Consumer VPC
उपभोक्ता वीपीसी से, Private Service Connect के कनेक्शन की पुष्टि करें. इसके लिए, नेटवर्क सेवाएं → Private Service Connect→ कनेक्ट किए गए एंडपॉइंट पर जाएं. हमने पहले से ही psc-consumer-1 कनेक्शन और उससे जुड़ा आईपी पता बना रखा है. इसे नोट करें.

psc-consumer-1 को चुनने पर, सेवा अटैचमेंट यूआरआई सहित अन्य जानकारी दी जाती है

11. Validate Consumer Private Service Connect - Producer VPC
प्रोड्यूसर वीपीसी में जाकर, Private Service Connect की स्थिति की पुष्टि करें. इसके लिए, नेटवर्क सेवाएं → Private Service Connect→पब्लिश की गई सेवा पर जाएं. ध्यान दें कि पब्लिश की गई सेवा-1 के कनेक्शन में अब कॉल को दूसरे नंबर पर भेजे जाने से जुड़ा एक नियम (कनेक्शन एंडपॉइंट) दिखता है.

12. प्राइवेट डीएनएस ज़ोन और ए रिकॉर्ड बनाना
पीएससी कनेक्शन एंडपॉइंट पर मैप किया गया प्राइवेट डीएनएस ज़ोन बनाएं. इससे वीपीसी में मौजूद किसी भी होस्ट से, प्रोड्यूसर को आसानी से ऐक्सेस किया जा सकेगा.
Cloud Shell से
gcloud dns --project=$psclab managed-zones create codelab-zone --description="" --dns-name="codelab.net." --visibility="private" --networks="consumer-vpc"
gcloud dns --project=$psclab record-sets create service1.codelab.net. --zone="codelab-zone" --type="A" --ttl="300" --rrdatas="10.100.2.10"
13. वीएम का इस्तेमाल करके, पुष्टि करें कि उपभोक्ता के पास सेवा देने वाली कंपनियों की सेवा का ऐक्सेस है
हम Consumers VPC से एक वीएम बनाएंगे. इससे हम consumer endpoint service1.codelabs.net को ऐक्सेस करके, ऑन-प्रिमाइसेस सेवा से कनेक्टिविटी की जांच करेंगे
Cloud Shell में, कंज्यूमर वीपीसी में टेस्ट इंस्टेंस बनाएं
gcloud compute instances create consumer-vm \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-101 \
--no-address
आईएपी को अपने वीएम इंस्टेंस से कनेक्ट करने की अनुमति देने के लिए, फ़ायरवॉल का ऐसा नियम बनाएं जो:
- यह उन सभी वीएम इंस्टेंस पर लागू होता है जिन्हें आपको आईएपी का इस्तेमाल करके ऐक्सेस करना है.
- इसकी मदद से, 35.235.240.0/20 आईपी रेंज से इन्ग्रेस ट्रैफ़िक को आने की अनुमति मिलती है. इस रेंज में वे सभी आईपी पते शामिल हैं जिनका इस्तेमाल IAP, टीसीपी फ़ॉरवर्डिंग के लिए करता है.
Cloud Shell में, कंज्यूमर वीपीसी में टेस्ट इंस्टेंस बनाएं
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
Cloud Shell में IAP का इस्तेमाल करके, consumer-vm में लॉग इन करें. इसके बाद, dns FQDN service1.codelab.net के ख़िलाफ़ कर्ल करके, ऑन-प्रिमाइसेस सेवा से कनेक्टिविटी की पुष्टि करें. अगर टाइम आउट होता है, तो फिर से कोशिश करें.
gcloud compute ssh consumer-vm --project=$psclab --zone=us-central1-a --tunnel-through-iap
कंपनी की इमारत में मौजूद सेवा से कनेक्टिविटी की पुष्टि करने के लिए, कर्ल करें. पुष्टि हो जाने के बाद, वीएम से बाहर निकलें और Cloud Shell प्रॉम्प्ट पर वापस जाएं
Cloud Shell में curl कमांड का इस्तेमाल करें
$ curl -v service1.codelab.net
* Trying 10.100.2.10...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x5650fc3390f0)
* Connected to service1.codelab.net (10.100.2.10) port 80 (#0)
> GET / HTTP/1.1
> Host: service1.codelab.net
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:15:41 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:15:41 GMT
< Server: lighttpd/1.4.53
<
Welcome to my on-premise service!!
यहां ऑन-प्रिमाइसेस सेवा से कैप्चर किए गए डेटा का एक उदाहरण दिया गया है. ध्यान दें कि सोर्स आईपी पता 172.16.0.2, टीसीपी प्रॉक्सी सबनेट रेंज 172.16.0.0/23 का है

14. प्रोड्यूसर के चैनल पर बिना अनुमति के की गई गतिविधियों को मिटाना
Producer कॉम्पोनेंट मिटाना
Cloud Shell में जाकर, प्रोड्यूसर कॉम्पोनेंट मिटाएं
gcloud compute instances delete test-box-us-central1 --zone=us-central1-a --quiet
gcloud compute service-attachments delete service-1 --region=us-central1 --quiet
gcloud compute forwarding-rules delete tcp-ilb-psc --region=us-central1 --quiet
gcloud compute target-tcp-proxies delete on-premise-svc-tcpproxy --region=us-central1 --quiet
gcloud compute backend-services delete on-premise-service-backend --region=us-central1 --quiet
gcloud compute network-endpoint-groups delete on-prem-service-neg --zone=us-central1-a --quiet
gcloud compute networks subnets delete psc-nat-subnet subnet-201 proxy-subnet-us-central --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap fw-allow-proxy-only-subnet allow-to-ingress-nat-subnet fw-allow-health-check --quiet
gcloud compute health-checks delete on-prem-service-hc --region=us-central1 --quiet
gcloud compute networks delete producer-vpc --quiet
15. उपयोगकर्ता के डेटा को हटाने की सुविधा
उपभोक्ता के लिए उपलब्ध कॉम्पोनेंट मिटाना
Cloud Shell में जाकर, उपभोक्ता कॉम्पोनेंट मिटाएं
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-1 --region=us-central1 --quiet
gcloud compute addresses delete psc-consumer-ip-1 --region=us-central1 --quiet
gcloud compute networks subnets delete subnet-101 subnet-102 --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud dns record-sets delete service1.codelab.net --type=A --zone=codelab-zone --quiet
gcloud dns managed-zones delete codelab-zone --quiet
gcloud compute networks delete consumer-vpc --quiet
16. बधाई हो
बधाई हो, आपने टीसीपी प्रॉक्सी के साथ Private Service Connect को कॉन्फ़िगर और पुष्टि कर लिया है.
आपने प्रोड्यूसर इंफ़्रास्ट्रक्चर बनाया है. साथ ही, आपने प्रोड्यूसर वीपीसी में एक सेवा अटैचमेंट जोड़ा है, जो ऑन-प्रिमाइसेस सेवा की ओर इशारा करता है. आपने सीखा कि उपभोक्ता वीपीसी में उपभोक्ता एंडपॉइंट कैसे बनाया जाता है. इससे ऑन-प्रिमाइसेस सेवा से कनेक्ट किया जा सकता है.
आगे क्या करना है?
यहां दिए गए कुछ कोडलैब आज़माएं...
- GKE के साथ सेवाओं को पब्लिश और इस्तेमाल करने के लिए Private Service का इस्तेमाल करना
- सेवाओं को पब्लिश करने और उनका इस्तेमाल करने के लिए Private Service Connect का इस्तेमाल करना