Private Service Connect - मैनेज की जा रही सेवाओं में Global XLB के लिए, उपभोक्ता के एचटीटीपी या एचटीटीपीएस सेवा कंट्रोल का इस्तेमाल करना

1. परिचय

Private Service Connect की मदद से, सेवा देने वाला प्रोड्यूसर, सेवा देने वाले किसी उपभोक्ता को सेवाएं दे सकता है. सर्विस प्रोड्यूसर VPC नेटवर्क, कई सेवा उपभोक्ताओं के साथ काम कर सकता है.

Private Service Connect के दो तरह के एंडपॉइंट, पब्लिश की गई सेवा से कनेक्ट हो सकते हैं:

  • Private Service Connect का एंडपॉइंट (फ़ॉरवर्ड करने से जुड़े नियम के आधार पर)

इस एंडपॉइंट टाइप का इस्तेमाल करके, उपभोक्ता ऐसे इंटरनल आईपी पते से कनेक्ट होते हैं जिसे वे तय करते हैं. Private Service Connect, नेटवर्क अड्रेस ट्रांसलेशन (NAT) करता है, ताकि अनुरोध को सर्विस प्रोड्यूसर तक भेजा जा सके.

  • उपभोक्ता के एचटीटीपी (एस) सर्विस कंट्रोल के साथ Private Service Connect का एंडपॉइंट (ग्लोबल एक्सटर्नल एचटीटीपी या एचटीटीपीएस लोड बैलेंसर के आधार पर)

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

ग्लोबल एक्सटर्नल एचटीटीपी या एचटीटीपीएस लोड बैलेंसर को नीति को लागू करने के तरीके के तौर पर इस्तेमाल करने के ये फ़ायदे हैं:

  • सेवाओं का नाम बदला जा सकता है और उन्हें अपनी पसंद के यूआरएल पर मैप किया जा सकता है.
  • लोड बैलेंसर को कॉन्फ़िगर करें, ताकि Cloud Logging में सभी अनुरोधों को लॉग किया जा सके.
  • आपके पास यह विकल्प होता है कि आप ग्राहक की ओर से मैनेज किए जाने वाले TLS सर्टिफ़िकेट का इस्तेमाल करें. या Google की ओर से मैनेज किए जाने वाले सर्टिफ़िकेट.

इस कोडलैब में, आपको Global XLB का इस्तेमाल करके Private Service Connect एंडपॉइंट उपभोक्ता एचटीटीपी(एस) सर्विस कंट्रोल बनाने का तरीका पता चलेगा. इसकी मदद से, किसी दूसरे नेटवर्क पर सेवा को निजी तौर पर ऐक्सेस किया जा सकता है. PSC पैटर्न के लिए, एक प्रोजेक्ट या अलग-अलग प्रोजेक्ट इस्तेमाल किए जा सकते हैं. इस लैब के लिए, हम दो अलग-अलग VPC के साथ एक ही प्रोजेक्ट का इस्तेमाल करेंगे.

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

  • Global XLB का इस्तेमाल करके, Consumer एचटीटीपी(S) Service Controls की मदद से Private Service Connect का एंडपॉइंट बनाएं
  • L7 XLB कनेक्शन स्वीकार करने के लिए, मैनेज की जा रही किसी सेवा को सेवा अटैचमेंट की मदद से दिखाए जाने के लिए कॉन्फ़िगर करें.
  • एसएसएल सर्टिफ़िकेट बनाएं और TLS को बंद करने और पोर्ट 443 पर ट्रैफ़िक स्वीकार करने के लिए, Apache वेब सर्वर कॉन्फ़िगर करें.
  • एक PSC NEG बनाएं.

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

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

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

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

bbca972cf488ece.png

3. सेटअप और ज़रूरी शर्तें

अपने हिसाब से एनवायरमेंट सेटअप करना

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से Gmail या Google Workspace खाता नहीं है, तो आपको नया खाता बनाना होगा.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों का डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करता. साथ ही, आप इसे किसी भी समय अपडेट कर सकते हैं.
  • प्रोजेक्ट आईडी, Google Cloud के सभी प्रोजेक्ट के लिए यूनीक होना चाहिए. साथ ही, आईडी को बदला नहीं जा सकता. सेट अप के बाद इसे बदला नहीं जा सकता. Cloud Console, एक यूनीक स्ट्रिंग अपने-आप जनरेट करता है; आम तौर पर, आपको उसके होने की कोई परवाह नहीं होती. ज़्यादातर कोडलैब में, आपको प्रोजेक्ट आईडी का रेफ़रंस देना पड़ता है और आम तौर पर इसकी पहचान PROJECT_ID के रूप में की जाती है. इसलिए, अगर आपको यह पसंद नहीं आता है, तो कोई भी कोड जनरेट करें. इसके अलावा, खुद का भी कोड बनाकर देखा जा सकता है कि वह उपलब्ध है या नहीं. फिर यह "फ़्रोज़न" होता है प्रोजेक्ट बनने के बाद.
  • तीसरी वैल्यू, प्रोजेक्ट नंबर है, जिसका इस्तेमाल कुछ एपीआई करते हैं. दस्तावेज़ में इन तीनों वैल्यू के बारे में ज़्यादा जानें.
  1. इसके बाद, आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा किसी अन्य प्लैटफ़ॉर्म पर बिलिंग न करने के लिए, संसाधनों को बंद करने के लिए, "साफ़-सफ़ाई" का पालन करें कोडलैब के आखिर में दिए गए निर्देश देखें. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले प्रोग्राम में हिस्सा ले सकते हैं.

Cloud Shell शुरू करना

Google Cloud को आपके लैपटॉप से, कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में Google Cloud Shell का इस्तेमाल किया जा रहा है. यह क्लाउड में चलने वाला कमांड लाइन एनवायरमेंट है.

Google Cloud Console में जाकर, सबसे ऊपर दाईं ओर मौजूद टूलबार पर क्लाउड शेल आइकॉन पर क्लिक करें:

55efc1aaa7a4d3ad.png

प्रावधान करने और एनवायरमेंट से कनेक्ट होने में कुछ ही समय लगेगा. उसके पूरा हो जाने पर, आपको कुछ ऐसा दिखाई देगा:

7ffe5cbb04455448.png

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

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

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

Cloud Shell में, पक्का करें कि आपका प्रोजेक्ट आईडी सेट अप किया गया हो

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export project=YOUR-PROJECT-NAME
export region=us-central1
echo $project
echo $region

सभी ज़रूरी सेवाएं चालू करें

gcloud services enable compute.googleapis.com
gcloud services enable servicedirectory.googleapis.com

5. प्रोड्यूसर VPC, सबनेट, फ़ायरवॉल के नियमों का सेटअप

VPC नेटवर्क

Cloud Shell से

gcloud compute networks create producer-vpc --subnet-mode custom

सबनेट बनाएं

PSC के लिए नेटवर्क अड्रेस ट्रांसलेशन (एनएटी) करने के लिए निर्माता की ओर एक सबनेट की ज़रूरत होती है. ध्यान दें कि इसका मकसद PRIVATE_SERVICE_ बाकी है. इसका मतलब है कि इस सबनेट का इस्तेमाल वर्कलोड को डिप्लॉय करने के लिए नहीं किया जा सकता.

Cloud Shell से

gcloud compute networks subnets create producer-nat-subnet \
--network=producer-vpc \
--region=$region \
--range=10.100.100.0/24 \
--purpose=PRIVATE_SERVICE_CONNECT

हम प्रोड्यूसर VPC में दो सबनेट डिप्लॉय करेंगे. वह पहले प्रोड्यूसर सेवा को डिप्लॉय करता है और अन्य क्षेत्र में एक अन्य फ़ील्ड में भी Client-vm डिप्लॉय करता है. ऐसा इसलिए होता है, ताकि टीसीपी इंटरनल लोड बैलेंसर पर ग्लोबल ऐक्सेस की मदद से सेवा की कनेक्टिविटी की जांच की जा सके.

Cloud Shell से

gcloud compute networks subnets create service-subnet \
    --network=producer-vpc \
    --range=10.0.0.0/24 \
    --region=$region

Cloud Shell से

gcloud compute networks subnets create client-subnet \
    --network=producer-vpc \
    --range=10.0.1.0/24 \
    --region=us-east4

Cloud NAT बनाएं

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

Cloud Shell से

gcloud compute routers create service-cr \
--region=$region --network=producer-vpc \
--asn=65501

Cloud Shell से

gcloud compute routers nats create service-nat-gw \
--router=service-cr \
--router-region=$region \
--nat-custom-subnet-ip-ranges=service-subnet \
--auto-allocate-nat-external-ips

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

इस लैब के लिए, आपको अपने बनाए गए इंस्टेंस से कनेक्ट करने के लिए आईएपी (IAP) का इस्तेमाल करना होगा. फ़ायरवॉल के ये नियम, आपको आईएपी के ज़रिए इंस्टेंस से कनेक्ट करने में मदद करेंगे. अगर आपको IAP का इस्तेमाल नहीं करना है, तो इस चरण को छोड़ें. इस चरण को छोड़कर, इंस्टेंस पर सार्वजनिक आईपी पते जोड़ें. इसके बाद, एक फ़ायरवॉल नियम बनाएं, जो टीसीपी पोर्ट 22 पर 0.0.0.0/0 से इन्ग्रेस डेटा ट्रैफ़िक की अनुमति देता है.

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

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

Cloud Shell से

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

क्लाइंट ट्रैफ़िक, ग्लोबल एक्सटर्नल एचटीटीपी या एचटीटीपीएस लोड बैलेंसर से शुरू होगा. इसलिए, टैग किए गए डेस्टिनेशन सर्वर पर इस ट्रैफ़िक को अनुमति देने के लिए, एक फ़ायरवॉल नियम बनाना ज़रूरी है. यह उन डेस्टिनेशन सर्वर पर ट्रैफ़िक होता है जो हमारी वेब सेवा को होस्ट करेंगे. हम जांच के मकसद से, अपने client-subnet से फ़ायरवॉल नियम भी खोलेंगे.

Cloud Shell से

gcloud compute firewall-rules create allow-xlb-client \
  --network=producer-vpc \
  --direction=ingress \
  --allow=tcp:443 \
  --target-tags=psc-service \
  --source-ranges=130.211.0.0/22,35.191.0.0/16,10.0.1.0/24

Apache वेब सेवा बनाएं

हम एक आसान Apache वेब सर्विस बनाएंगे, जो "PSC सेवा" को दिखाता है

इंस्टेंस टेंप्लेट बनाना

Cloud Shell से

gcloud compute instance-templates create producer-service-template \
    --network producer-vpc \
    --subnet service-subnet \
    --region $region \
    --no-address \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=psc-service \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    echo "PSC Service" | \
    tee /var/www/html/index.html
    systemctl restart apache2'

MIG के लिए हेल्थ चेक बनाएं

Cloud Shell से

gcloud compute health-checks create https psc-service-mig-healthcheck \
    --port=443 \
    --global

मैनेज किए जा रहे इंस्टेंस ग्रुप बनाना

Cloud Shell से

gcloud compute instance-groups managed create psc-service-mig \
    --region $region \
    --size=2 \
    --template=producer-service-template \
    --health-check=psc-service-mig-healthcheck

Apache वेब सर्वर पर एसएसएल कॉन्फ़िगर करें

इसके बाद, हमें प्रत्येक Apache वेब सर्वर पर SSL कॉन्फ़िगर करना होगा. हम ऐसा एक प्रमाणपत्र जनरेट करके और उस प्रमाणपत्र को Apache कॉन्फ़िगरेशन में जोड़कर करेंगे.

बैकएंड सेवाओं पर, एसएसएल सर्टिफ़िकेट को कॉन्फ़िगर करना ज़रूरी है. इसकी वजह यह है कि इस खास PSC पैटर्न के लिए, सेवा के सामने एक इंटरनल टीसीपी/यूडीपी (L4) लोड बैलेंसर होना चाहिए. इंटरनल टीसीपी/यूडीपी लोड बैलेंसर, लोड बैलेंसर लेयर पर एसएसएल को बंद नहीं करता.

एसएसएच की मदद से, अपने एमआईजी की पहली वर्चुअल मशीन (वीएम) से शुरुआत करें. वीएम ज़ोन और वीएम का नाम, हर एनवायरमेंट के हिसाब से डाइनैमिक तौर पर असाइन किया जाएगा. कंसोल में, Compute Engine पर जाएं > वीएम इंस्टेंस की मदद से, अपने इंस्टेंस का नाम और ज़ोन देखा जा सकता है.

Cloud Shell से

gcloud compute ssh --zone "<YOUR_VM_ZONE>" "<YOUR_MIG_VM_1>"  --tunnel-through-iap --project $project

इसके बाद, हम OpenSSL की मदद से सर्टिफ़िकेट बनाएंगे. आपसे अपने देश, राज्य, इलाके, संगठन, संगठन की इकाई का नाम, सामान्य नाम, और ईमेल पते की जानकारी भरने के लिए कहा जाएगा. आपको सिर्फ़ सामान्य नाम ही भरना है. यह आपकी पसंद का एफ़क्यूडीएन होना चाहिए. इस लैब के लिए, आपको example.com चुनना चाहिए.

Cloud Shell से

sudo openssl genrsa -out private-key-file.pem 2048

Cloud Shell से

cat <<'EOF' >config.txt
[req]
default_bits              = 2048
req_extensions            = extension_requirements
distinguished_name        = dn_requirements

[extension_requirements]
basicConstraints          = CA:FALSE
keyUsage                  = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName            = @sans_list

[dn_requirements]
countryName               = Country Name (2 letter code)
stateOrProvinceName       = State or Province Name (full name)
localityName              = Locality Name (eg, city)
0.organizationName        = Organization Name (eg, company)
organizationalUnitName    = Organizational Unit Name (eg, section)
commonName                = Common Name (e.g. server FQDN or YOUR name)
emailAddress              = Email Address

[sans_list]
DNS.1                     = example.com

EOF

Cloud Shell से

sudo openssl req -new -key private-key-file.pem \
    -out csr.pem \
    -config config.txt

Cloud Shell से

sudo openssl x509 -req \
    -signkey private-key-file.pem \
    -in csr.pem \
    -out cert.cert \
    -extfile config.txt \
    -extensions extension_requirements \
    -days 10

आइए, अब हमारे नए सर्टिफ़िकेट की जानकारी से, Apache कॉन्फ़िगरेशन जानकारी अपडेट करते हैं.

sudo vi /etc/apache2/sites-enabled/default-ssl.conf

ServerAdmin में जाकर, एक लाइन जोड़ें

ServerName example.com

अपनी वीएम पर cert.cert फ़ाइल और private-key-file.pem की जगहों की जानकारी, SSLCertificateFile और SSLCertificateKeyFile अपडेट करें. इसका एक उदाहरण नीचे दिया गया है. <profile> को अपडेट करना न भूलें अपनी डायरेक्ट्री का नाम डालें.

SSLCertificateFile  /home/<profile>/cert.cert

SSLCertificateKeyFile /home/<profile>/private-key-file.pem

एडिटर बंद करें और Apache को रीस्टार्ट करें.

sudo a2enmod ssl
sudo systemctl restart apache2

इंस्टेंस से बाहर निकलें और मैनेज किए जा रहे इंस्टेंस ग्रुप में दूसरे इंस्टेंस पर यही तरीका दोहराएं.

6. प्रोड्यूसर सेवा बनाएं

इसके बाद, हम सेवा के लिए लोड बैलेंसर कॉम्पोनेंट बनाएंगे.

लोड बैलेंसर की परफ़ॉर्मेंस की जांच करने वाला प्रोग्राम बनाएं.

Cloud Shell से

gcloud compute health-checks create https service-lb-healthcheck \
    --port=443 \
    --region=$region

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

Cloud Shell से

 gcloud compute backend-services create psc-backend-service \
    --load-balancing-scheme=internal \
    --protocol=TCP \
    --region=$region \
    --health-checks=service-lb-healthcheck \
    --health-checks-region=$region

gcloud compute backend-services add-backend psc-backend-service \
--region=$region \
--instance-group=psc-service-mig

आगे बढ़ाने का नियम बनाएं. ध्यान दें कि फ़ॉरवर्ड करने के नियम को पोर्ट 443 पर और ग्लोबल ऐक्सेस के साथ कॉन्फ़िगर किया जाना चाहिए. इस PSC पैटर्न के काम करने के लिए, यह ज़रूरी है.

Cloud Shell से

 gcloud compute forwarding-rules create producer-fr \
    --region=$region \
    --load-balancing-scheme=internal \
    --network=producer-vpc \
    --subnet=service-subnet \
    --address=10.0.0.100 \
    --ip-protocol=TCP \
    --ports=443 \
    --backend-service=psc-backend-service \
    --backend-service-region=$region \
    --allow-global-access

7. सेवा की जांच करें

सेवा अटैचमेंट बनाने से पहले, हम ग्लोबल ऐक्सेस के साथ कॉन्फ़िगर किए गए लोड बैलेंसर की जांच करने के लिए अलग क्षेत्र में एक क्लाइंट बनाएंगे. साथ ही, TLS को खत्म करने के लिए कॉन्फ़िगर की गई Apache सेवा की जांच करेंगे.

Cloud Shell से

gcloud compute instances create vm-client \
    --zone=us-east4-a \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --subnet=client-subnet \
    --no-address

एसएसएच का इस्तेमाल करें.

Cloud Shell से

gcloud compute ssh \
    --zone "us-east4-a" "vm-client" \
    --tunnel-through-iap \
    --project $project

लोड बैलेंसर की मदद से, 443 पर कनेक्ट करके Apache सेवा की जांच करें.

curl https://example.com:443 -k --connect-to example.com:443:10.0.0.100:443

नतीजे

PSC Service

8. सेवा अटैचमेंट बनाएं

Cloud Shell से

gcloud compute service-attachments create pscservice \
    --region=$region \
    --producer-forwarding-rule=producer-fr \
    --connection-preference=ACCEPT-AUTOMATIC \
    --nat-subnets=producer-nat-subnet

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

Cloud Shell से

gcloud compute service-attachments describe pscservice --region $region

/projects से शुरू होने वाला यूआरआई कॉपी करें

उदाहरण: /projects/<YOUR_PROJECT_ID>/Region/us-central1/service स्टोरफ़्रंट/pscservice

9. उपभोक्ता के लिए VPC और सबनेट सेटअप करना

VPC नेटवर्क

Cloud Shell से

gcloud compute networks create consumer-vpc --subnet-mode custom

सबनेट बनाना

उपभोक्ता की ओर से एक सबनेट की ज़रूरत होती है, जहां Private Service Connect नेटवर्क एंडपॉइंट ग्रुप (एनईजी) को डिप्लॉय किया जाएगा.

Cloud Shell से

gcloud compute networks subnets create psc-neg-subnet \
--network=consumer-vpc \
--region=$region \
--range=10.100.200.0/24 \
--purpose=private

10. Private Service Connect का एंडपॉइंट बनाना और कनेक्शन की जांच करना

हम एक PSC NEG बनाने की प्रक्रिया का पालन करेंगे, जो अभी-अभी बनाए गए सेवा अटैचमेंट के साथ जुड़ा होगा, PSC NEG को बैकएंड सेवा से अटैच करेगा, और बैकएंड सेवा को किसी फ़ॉरवर्ड करने के नियम के साथ जोड़ेगा.

उस सर्विस अटैचमेंट यूआरआई को तैयार रखें जिसका ज़िक्र हमने आखिरी चरण में किया था. नीचे दिए गए यूआरएल को अपने यूआरआई से बदलें.

Cloud Shell से

gcloud beta compute network-endpoint-groups create xlb-psc-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/<PROJECT-ID>/regions/us-central1/serviceAttachments/pscservice \
--region=$region \
--network=consumer-vpc \
--subnet=psc-neg-subnet

XLB का सार्वजनिक आईपी पता बनाएं और बाद में टेस्ट करने के लिए असाइन किया गया असल आईपी पता हासिल करें.

Cloud Shell से

gcloud compute addresses create xlb-psc-address \
--ip-version=IPv4 --global

gcloud compute addresses describe xlb-psc-address --format="get(address)" --global

इसके बाद, हम पीएससी एंडपॉइंट बनाएंगे, जो इस मामले में एक्सटर्नल लोड बैलेंसर में होगा.

Cloud Shell से

gcloud beta compute backend-services create pscneg-backend-service \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTPS \
--global

Cloud Shell से

gcloud beta compute backend-services add-backend pscneg-backend-service \
--network-endpoint-group=xlb-psc-neg \
--network-endpoint-group-region=$region \
--global

Cloud Shell से

gcloud beta compute url-maps create xlb-psc-map \
--default-service=pscneg-backend-service \
--global

Cloud Shell से

gcloud beta compute target-http-proxies create psc-http-proxy \
--url-map=xlb-psc-map

Cloud Shell से

gcloud beta compute forwarding-rules create xlb-psc-fr \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network-tier=PREMIUM \
--address=xlb-psc-address \
--target-http-proxy=psc-http-proxy \
--ports=80 \
--global

5 - 7 मिनट इंतज़ार करें और फिर अपने ब्राउज़र के पता बार में xlb-psc-address से जुड़े आईपी पते को डालें.

अगर "PSC सेवा" दिखाई देता है, तो आपने समाधान को सही तरीके से कॉन्फ़िगर किया है.

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

किसी एक Cloud Shell टर्मिनल से लैब के कॉम्पोनेंट मिटाएं

gcloud beta compute forwarding-rules delete xlb-psc-fr --global --quiet

gcloud beta compute target-http-proxies delete psc-http-proxy --quiet

gcloud beta compute url-maps delete xlb-psc-map --global --quiet

gcloud beta compute backend-services delete pscneg-backend-service --global --quiet

gcloud compute addresses delete xlb-psc-address --global --quiet

gcloud beta compute network-endpoint-groups delete xlb-psc-neg --region $region --quiet

gcloud compute networks subnets delete psc-neg-subnet --region $region --quiet

gcloud compute networks delete consumer-vpc --quiet

gcloud compute service-attachments delete pscservice --region $region --quiet

gcloud compute instances delete vm-client --zone=us-east4-a --quiet

gcloud compute forwarding-rules delete producer-fr --region $region --quiet

gcloud compute backend-services delete psc-backend-service --region $region --quiet

gcloud compute health-checks delete service-lb-healthcheck --region $region --quiet

gcloud compute instance-groups managed delete psc-service-mig --region $region --quiet

gcloud compute health-checks delete psc-service-mig-healthcheck --region $region --quiet

gcloud compute instance-templates delete producer-service-template --quiet

gcloud compute firewall-rules delete allow-xlb-client --quiet

gcloud compute firewall-rules delete allow-ssh-iap --quiet

gcloud compute routers nats delete service-nat-gw –router service-cr --region $region --quiet

gcloud compute routers delete service-cr --region $region --quiet

gcloud compute networks subnets delete client-subnet --quiet

gcloud compute networks subnets delete service-subnet --quiet

gcloud compute networks subnets delete producer-nat-subnet --quiet

gcloud compute networks delete producer-vpc --quiet

12. बधाई हो!

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

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

  • Global XLB का इस्तेमाल करके, Consumer HTTP(S) Service Controls की मदद से Private Service Connect का एंडपॉइंट बनाएं
  • L7 XLB कनेक्शन स्वीकार करने के लिए, मैनेज की जा रही किसी सेवा को सेवा अटैचमेंट की मदद से दिखाए जाने के लिए कॉन्फ़िगर करें.
  • एसएसएल सर्टिफ़िकेट बनाएं और TLS को बंद करने और पोर्ट 443 पर ट्रैफ़िक स्वीकार करने के लिए, Apache वेब सर्वर कॉन्फ़िगर करें.
  • एक PSC NEG बनाएं.