Agentspace Custom Domain, WIF Support

1. परिचय

इस दस्तावेज़ में, WIF का इस्तेमाल करके AgentSpace को ऐक्सेस करने के लिए, कस्टम डोमेन को कॉन्फ़िगर करने के लिए रेफ़रंस आर्किटेक्चर दिया गया है. Agentspace ऐप्लिकेशन बनाते समय असाइन किए गए Google-मैनेज किए गए यूआरएल के बजाय, उपयोगकर्ता कस्टम डोमेन का इस्तेमाल कर सकते हैं. इस कोडलैब में, nip.io डोमेन का इस्तेमाल करके, Agentspace के कैलेंडर और Drive ऐप्लिकेशन को ऐक्सेस करने का तरीका बताया गया है. nip.io एक मुफ़्त और ओपन-सोर्स सेवा है. यह किसी भी आईपी पते के लिए वाइल्डकार्ड डीएनएस उपलब्ध कराती है. इससे आपको एक ऐसा होस्टनेम बनाने की अनुमति मिलती है जो किसी खास आईपी पते पर रीडायरेक्ट होता है. इसके लिए, आपको अपना डीएनएस सर्वर सेट अप करने या /etc/hosts फ़ाइल में बदलाव करने की ज़रूरत नहीं होती.

हमारा सुझाव है कि आप अपने डोमेन का इस्तेमाल करें. हालांकि, ट्यूटोरियल में निप.io का इस्तेमाल किया गया है.

नीचे दिए गए डिप्लॉयमेंट के उदाहरण (पहली इमेज) में, AgentSpace ने एक डेटास्टोर पब्लिश किया है. इसमें एक Calendar ऐप्लिकेशन है, जिसे Google के मैनेज किए गए सार्वजनिक यूआरएल से ऐक्सेस किया जाता है.

इमेज 1

27591afa06891dcb.png

डेटास्टोर और उससे जुड़े ऐप्लिकेशन के लगातार बढ़ने की वजह से, Google के मैनेज किए गए सार्वजनिक यूआरएल को और बेहतर तरीके से मैनेज किया जा सकता है. इसे नीचे दिए गए डिप्लॉयमेंट के उदाहरण (आंकड़ा 2) में दिखाया गया है. इससे Agentspace ऐप्लिकेशन और यूआरएल की 1:1 मैपिंग हो जाती है.

इमेज 2.

c03abe66bd3ad4df.png

कस्टम डोमेन की मदद से, AgentSpace के अलग-अलग ऐप्लिकेशन को एक ही कस्टमर डोमेन से मैप किया जा सकता है. इस सुविधा की मदद से, हर Agentspace ऐप्लिकेशन के साथ किसी यूआरएल पाथ को जोड़ा जा सकता है. इससे ज़्यादा फ़्लेक्सिबिलिटी मिलती है. इसे नीचे दिए गए डिप्लॉयमेंट के उदाहरण (इमेज 3) में दिखाया गया है. उदाहरण के लिए, ग्राहक के मैनेज किए गए डोमेन agentspace.cosmopup.com को पाथ के नियमों में बांटा गया है. हर नियम को किसी खास Agentspace ऐप्लिकेशन पर मैप किया गया है. उदाहरण के लिए:

  • agentspace.cosmopup.com/drive-app, जो Workspace Drive के लिए Agentspace ऐप्लिकेशन पर मैप करता है
  • agentspace.cosmopup.com/sharepoint-app, जो Sharepoint के लिए Agentspace ऐप्लिकेशन पर मैप करता है

यूआरएल मैप के ज़रिए कॉन्फ़िगर किए गए,बाहरी ऐप्लिकेशन लोड बैलेंसर के होस्ट और पाथ के नियम, उस लॉजिक को कंट्रोल करते हैं जो कस्टम डोमेन को Google के मैनेज किए गए यूआरएल पर मैप करता है. यह उदाहरण, agentspace.cosmopup.com/drive-app का इस्तेमाल करके, यहां दिया गया फ़ंक्शन पूरा करता है

  • कस्टम डोमेन host path agentspace.cosmopup.com/drive-app को loadbalancer से मिला है
  • यूआरएल मैप को होस्ट और पाथ के नियमों से मैच करने की ऐडवांस सुविधा के लिए कॉन्फ़िगर किया गया है
  • Hosts agentspace.cosmopup.com, पाथ मैचिंग और रीडायरेक्ट करने की सुविधा के लिए ज़रूरी शर्तें पूरी करता है
  • कस्टम डोमेन host path agentspace.cosmopup.com/drive-app पर UrlRedirect लागू होता है
  • pathRedirect, Agentspace का पाथ है: /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
  • hostRedirect, Agentspace का होस्ट है: vertexaisearch.cloud.google.com
  • कस्टम डोमेन होस्ट पाथ agentspace.cosmopup.com/sharepoint-app पर UrlRedirect लागू होता है
  • pathRedirect, Agentspace का पाथ है: /signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6
  • hostRedirect, Agentspace होस्ट है: auth.cloud.google
  • रीडायरेक्ट करने की प्रोसेस, बैकएंड सेवा पर रूट करने से पहले की जाती है

इमेज 3

8344f80c160f30f8.png

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

  • ग्लोबल एक्सटर्नल ऐप्लिकेशन लोड बैलेंसर बनाना
  • कस्टम डोमेन को Agentspace ऐप्लिकेशन पर रीडायरेक्ट करने के लिए राउटिंग बनाना
  • कस्टम डोमेन बनाने के लिए, nip.io और Cloud DNS को इंटिग्रेट करने का तरीका
  • Agentspace के कस्टम डोमेन का ऐक्सेस पाने की पुष्टि कैसे करें

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

  • मालिक की अनुमतियों वाला Google Cloud प्रोजेक्ट
  • Agentspace के मौजूदा ऐप्लिकेशन के यूआरएल
  • खुद के मालिकाना हक वाला कस्टम डोमेन (ज़रूरी नहीं)
  • सर्टिफ़िकेट - खुद हस्ताक्षर किए गए या Google की ओर से मैनेज किए गए

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

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

  • वेब ब्राउज़र खोलकर, Agentspace ऐप्लिकेशन को ऐक्सेस करें. इसके लिए, अपने कस्टम डोमेन और तय किए गए पाथ पर जाएं.

786e8b2de2d2c68b.png

3. नेटवर्क की ज़रूरी शर्तें

नेटवर्क से जुड़ी ज़रूरी शर्तों के बारे में यहां बताया गया है:

घटक

ब्यौरा

VPC (agentspace-vpc)

कस्टम मोड वीपीसी

इंटरनेट NEG

इस संसाधन का इस्तेमाल, लोड बैलेंसर के लिए बाहरी बैकएंड तय करने के लिए किया जाता है. इसे एफ़क्यूडीएन के तौर पर कॉन्फ़िगर किया जाता है. यह Agentspace के Google-मैनेज किए गए एफ़क्यूडीएन (vertexaisearch.cloud.google.com) को दिखाता है. इंटरनेट का FQDN, रिज़ॉल्यूशन के लिए वीपीसी में डीएनएस लुकअप करता है.

बैकएंड सर्विस

बैकएंड सेवा, लोड बैलेंसर और बैकएंड संसाधनों के बीच एक पुल की तरह काम करती है. ट्यूटोरियल में, बैकएंड सेवा को इंटरनेट एनईजी से जोड़ा गया है.

प्रमाणपत्र

Google Cloud में किसी ऐप्लिकेशन लोड बैलेंसर के लिए सर्टिफ़िकेट कॉन्फ़िगर करने के लिए, आपको Certificate Manager सेवा का इस्तेमाल करना होगा. साथ ही, Google-managed या सेल्फ़-मैनेज किए गए एसएसएल सर्टिफ़िकेट में से किसी एक का इस्तेमाल करना होगा

Cloud DNS

Cloud DNS की सार्वजनिक ज़ोन का इस्तेमाल, बाहरी ऐप्लिकेशन लोड बैलेंसर के बाहरी आईपी को nip.io (agentspace.externalip.nip.io) पर ले जाने के लिए किया जाता है. इसके अलावा, अपने कस्टम डोमेन और लोड बैलेंसर के आईपी पते वाले A रिकॉर्ड का इस्तेमाल करें.

4. कोडलैब टोपोलॉजी

786e8b2de2d2c68b.png

8344f80c160f30f8.png

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

Cloud Shell शुरू करें

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

Google Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद टूलबार पर, Cloud Shell आइकॉन पर क्लिक करें:

55efc1aaa7a4d3ad.png

इसे चालू करने और एनवायरमेंट से कनेक्ट करने में सिर्फ़ कुछ सेकंड लगेंगे. यह प्रोसेस पूरी होने के बाद, आपको कुछ ऐसा दिखेगा:

7ffe5cbb04455448.png

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

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

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

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

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

gcloud services enable compute.googleapis.com
gcloud services enable dns.googleapis.com

7. लोड बैलेंसर कॉम्पोनेंट सेट अप करना

लोड बैलेंसर के एक्सटर्नल आईपी पते को रिज़र्व करना

Cloud Shell में, लोड बैलेंसर के लिए एक बाहरी आईपी पता रिज़र्व करें:

gcloud compute addresses create external-ip \
    --network-tier=PREMIUM \
    --ip-version=IPV4 \
    --global

Cloud Shell में, रिज़र्व किया गया आईपी पता देखें:

gcloud compute addresses describe external-ip \
  --global | grep -i address:

आउटपुट का उदाहरण:

user@cloudshell$ gcloud compute addresses describe external-ip \
  --global | grep -i address:
address: 34.54.158.206

इंटरनेट NEG सेट अप करना

एक इंटरनेट एनईजी बनाएं और –network-endpoint-type को internet-fqdn-port पर सेट करें. यह वह होस्टनेम और पोर्ट होता है जहां आपके बाहरी बैकएंड तक पहुंचा जा सकता है. Agentspace की समस्या को हल करने के लिए, FQDN vertexaisearch.cloud.google.com और PORT 443 का इस्तेमाल किया जाता है.

gcloud compute network-endpoint-groups create agentspace-ineg \
    --network-endpoint-type="internet-fqdn-port" \
    --global
gcloud compute network-endpoint-groups update agentspace-ineg \
    --add-endpoint="fqdn=vertexaisearch.cloud.google.com,port=443" \
    --global

लोड बैलेंसर बनाना

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

gcloud compute backend-services create agentspace-ineg-bes \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --protocol=HTTPS \
      --global
gcloud compute backend-services add-backend agentspace-ineg-bes \
      --network-endpoint-group=agentspace-ineg \
      --global-network-endpoint-group \
      --global  

सर्टिफ़िकेट बनाना

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

इस ट्यूटोरियल में इस्तेमाल किए गए ग्लोबल एक्सटर्नल ऐप्लिकेशन लोड बैलेंसर के लिए, काम करने वाले सर्टिफ़िकेट के बारे में ज़्यादा जानने के लिए, यहां जाएं:

एसएसएल सर्टिफ़िकेट के बारे में खास जानकारी | लोड बैलेंसिंग | Google Cloud

यहां दिए गए सेक्शन में, आपको खुद हस्ताक्षर किया हुआ सर्टिफ़िकेट बनाना होगा. हालांकि, Google के मैनेज किए गए सर्टिफ़िकेट का भी इस्तेमाल किया जा सकता है. इसके लिए, सामान्य नाम को पूरी तरह से क्वालिफ़ाइड डोमेन नेम (agentspace.YOUR-EXTERNAL-IP.nip.io) से मैप करना होगा. यह लोड बैलेंसर के उस बाहरी आईपी पते से मेल खाना चाहिए जिसे पहले जनरेट किया गया था. उदाहरण यहां दिया गया है:

सामान्य नाम: agentspace.34.54.158.206.nip.io

Cloud Shell में, निजी कुंजी बनाएं

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

Cloud Shell में, pem फ़ाइल जनरेट करने के लिए config.txt फ़ाइल बनाएं. नीचे दिए गए कॉन्फ़िगरेशन में, डीएनएस 1 एंट्री agentspace.YOUR-EXTERNAL-IP.nip.io में पूरी तरह से क्वालिफ़ाइड डोमेन नेम डालें. उदाहरण के लिए, agentspace.34.54.158.206.nip.io.

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)
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                     = agentspace.YOUR-EXTERNAL-IP.nip.io

EOF

Cloud Shell में जाकर, पुष्टि करें कि config.txt और private-key-file.pem जनरेट हो गई हैं.

user@cloudshell:$ ls
config.txt  private-key-file.pem

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

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

उदाहरण:

user@cloudshell:$ sudo openssl req -new -key private-key-file.pem \
    -out csr.pem \
    -config config.txt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name)[]:agentspace.34.54.158.206.nip.io
Email Address []:

Cloud Shell में, पुष्टि करें कि सर्टिफ़िकेट पर हस्ताक्षर करने के लिए ज़रूरी pem फ़ाइल बन गई है.

user@cloudshell:$ ls
config.txt  csr.pem  private-key-file.pem

Cloud Shell में जाकर, सर्टिफ़िकेट जनरेट करें.

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

आउटपुट का उदाहरण:

user@cloudshell:$ sudo openssl x509 -req \
    -signkey private-key-file.pem \
    -in csr.pem \
    -out cert.cert \
    -extfile config.txt \
    -extensions extension_requirements \
    -days 365
Certificate request self-signature ok
subject=CN = agentspace.34.54.158.206.nip.io

Cloud Shell में, cert.cert फ़ाइल के बनने की पुष्टि करें

user@cloudshell:$ ls
cert.cert  config.txt  csr.pem  private-key-file.pem

अपने बाहरी लोड बैलेंसर से जोड़ने के लिए, कोई सर्टिफ़िकेट संसाधन बनाएं. सर्टिफ़िकेट और निजी पासकोड के पैरामीटर को अपने फ़ाइल नामों से बदलें.

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

gcloud compute ssl-certificates create agentspace-self-signed-cert \
    --certificate=cert.cert \
    --private-key=private-key-file.pem \
    --global

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

gcloud compute url-maps create agentspace-lb \
      --default-service=agentspace-ineg-bes \
      --global  

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

gcloud compute target-https-proxies create https-proxy \
      --ssl-certificates=agentspace-self-signed-cert \
      --url-map=agentspace-lb \
      --global 

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

gcloud compute forwarding-rules create agentspace-fr \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --network-tier=PREMIUM \
      --address=external-ip \
      --target-https-proxy=https-proxy \
      --global \
      --ports=443

8. सार्वजनिक डीएनएस ज़ोन बनाना

यहां दिए गए सेक्शन में, आपको एक सार्वजनिक डीएनएस ज़ोन बनाना होगा. इसका इस्तेमाल nip.io, बाहरी लोड बैलेंसर के आईपी पते के ख़िलाफ़ हल करने के लिए करता है.

Cloud Shell में, अपने बाहरी लोड बैलेंसर के आईपी पते के लिए वैरिएबल बनाने के लिए, यह तरीका अपनाएं:

externalip=<YOUR-EXTERNAL-IP>
echo $externalip

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

gcloud dns --project=$project managed-zones create agentspace-dns --description="Agentspace public dns" --dns-name="$externalip.nip.io." --visibility="public"

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

gcloud dns --project=$project record-sets create agentspace.$externalip.nip.io. --zone="agentspace-dns" --type="A" --ttl="300" --rrdatas="$externalip"

9. Agentspace ऐप्लिकेशन के यूआरएल की पहचान करना

यहां दी गई प्रोसेस से, Google की ओर से मैनेज किए जाने वाले Agentspace के उन सार्वजनिक यूआरएल की पहचान की जा सकती है जिन्हें Google ने जनरेट किया है. साथ ही, यह भी पता लगाया जा सकता है कि वे Agentspace के हर ऐप्लिकेशन से मैप किए गए हैं या नहीं. यूआरएल का आउटपुट, रेफ़रंस आर्किटेक्चर पर आधारित उदाहरण होते हैं. इसलिए, आपको यह पक्का करना होगा कि आपके यूआरएल सटीक हों.

हर ऐप्लिकेशन के लिए, अपने वेब ऐप्लिकेशन का लिंक सेव करें.

Drive ऐप्लिकेशन

Agentspace का वेब यूआरएल:

https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd

f8f850425fd11190.png

Sharepoint ऐप्लिकेशन

Agentspace का वेब यूआरएल: https://auth.cloud.google/signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6

f31a1939b9b83525.png

10. होस्ट और पाथ के लिए ऐडवांस नियम बनाना

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

कस्टम वैल्यू

ट्यूटोरियल पर आधारित उदाहरण

होस्ट

agentspace.YOUR-EXTERNAL-IP.nip.io

agentspace.34.54.158.206.nip.io

defaultService

projects/<projectid>/global/backendServices/agentspace-ineg-bes

projects/your-project-id/global/backendServices/agentspace-ineg-bes

prefixMatch

/<name of Agentspace app#1>

/drive-app

pathRedirect

/<Agentspace URL path of app#1>

/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd

hostRedirect

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

prefixMatch

/<name of Agentspace app#2>

/sharepoint-app

pathRedirect

/<Agentspace URL path of app#2>

//signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6

hostRedirect

auth.cloud.google

vertexaisearch.cloud.google.com

होस्ट और पाथ के नियमों को ऐक्सेस करने के लिए, यहां जाएं

लोड बैलेंसिंग → agentspace-lb → बदलाव करें चुनें

रूटिंग के नियम → होस्ट और पाथ के बेहतर नियम चुनें

'होस्ट और पाथ का नियम जोड़ें' को चुनें

4bc965db43aed21b.png

अब आपको नया होस्ट और पाथ नियम बनाने का विकल्प दिखेगा. होस्ट सेक्शन में, agentspace.YOUR-EXTERNAL-IP.nip.io या कस्टम डोमेन डालें.

f36e4fa11c950d8d.png

पाथ मैच करने वाले फ़ील्ड (मैच, कार्रवाइयां, और सेवाएं) में, नीचे दिए गए कॉन्टेंट को अपने एनवायरमेंट कॉन्फ़िगरेशन के हिसाब से अपडेट करें. इसके बाद, अपडेट करें को चुनें.

defaultService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
name: matcher1
routeRules:
- matchRules:
  - prefixMatch: /<name of Agentspace app#1>
  priority: 1
  urlRedirect:
    pathRedirect: /<Agentspace URL path of app#1>
    hostRedirect: vertexaisearch.cloud.google.com
    redirectResponseCode: FOUND
- matchRules:
  - prefixMatch: /<name of Agentspace app#2>
  priority: 2
  urlRedirect:
    pathRedirect: /<Agentspace URL path of app#2>
    hostRedirect: auth.cloud.google
    redirectResponseCode: FOUND

उदाहरण के लिए स्क्रीनशॉट:

5470a123dca793b9.png

777dcb5191fd8d41.png

11. पुष्टि

डप्लॉयमेंट पूरा हो गया है! कस्टम डोमेन का इस्तेमाल करके, वेब ब्राउज़र या टर्मिनल के ज़रिए Agentspace ऐप्लिकेशन को ऐक्सेस किया जा सकता है. इसके लिए, agentspace.YOUR-EXTERNAL-IP.nip.io/path डालें. उदाहरण के लिए, agentspace.34.54.158.206.nip.io. यहां कुछ उदाहरण दिए गए हैं:

Agentspace ऐप्लिकेशन: drive-app

पाथ: agentspace.34.54.158.206.nip.io/drive-app

Agentspace ऐप्लिकेशन: sharepoint-app

पाथ: agentspace.34.54.158.206.nip.io/sharepoint-app

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

OAuth क्रेडेंशियल मिटाने के लिए, यह तरीका अपनाएं:

एपीआई और सेवाएं → क्रेडेंशियल पर जाएं

OAuth 2.0 क्लाइंट आईडी में जाकर, अपने क्रेडेंशियल चुनें. इसके बाद, उन्हें मिटाएं

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

gcloud compute forwarding-rules delete agentspace-fr --global -q

gcloud compute target-https-proxies delete https-proxy --global -q

gcloud compute url-maps delete agentspace-lb --global -q

cloud compute ssl-certificates delete agentspace-self-signed-cert --global -q

gcloud compute backend-services delete agentspace-ineg-bes --global -q

gcloud compute network-endpoint-groups delete agentspace-ineg --global -q

gcloud dns --project=$projectid record-sets delete agentspace.$externalip.nip.io --zone="agentspace-dns" --type="A"

gcloud dns --project=$projectid managed-zones delete agentspace-dns

gcloud compute addresses delete external-ip --global -q

gcloud compute networks delete agentspace-vpc -q

13. बधाई हो

बधाई हो, आपने कस्टम डोमेन का इस्तेमाल करके Agentspace से कनेक्टिविटी को कॉन्फ़िगर और पुष्टि कर ली है. इसके लिए, आपने बेहतर ट्रैफ़िक मैनेजमेंट की सुविधा वाले बाहरी ऐप्लिकेशन लोड बैलेंसर का इस्तेमाल किया है.

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

Cosmopup को कोडलैब बहुत पसंद हैं!!

c911c127bffdee57.jpeg

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