Agentspace का कस्टम डोमेन

इस कोडलैब (कोड बनाना सीखने के लिए ट्यूटोरियल) के बारे में जानकारी
schedule45 मिनट
subjectपिछली बार 27 मई 2025 को अपडेट किया गया
account_circleDeepak Michael, Lorin Price, Zach Seils ने लिखा

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

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

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

इमेज 1

27591afa06891dcb.png

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

इमेज 2.

7e31bfae7ac56b22.png

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

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

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

  • कस्टम डोमेन होस्ट पाथ agentspace.cosmopup.com/drive-app, लोडबैलेंसर को मिलता है
  • यूआरएल मैप को ऐडवांस होस्ट और पाथ नियम के मिलान के लिए कॉन्फ़िगर किया गया है
  • होस्ट agentspace.cosmopup.com, पाथ मैचिंग और रीराइट की ज़रूरी शर्तें पूरी करता है
  • कस्टम डोमेन होस्ट पाथ agentspace.cosmopup.com/drive-app पर UrlRewrite लागू होता है
  • PathPrefixRewrite, Agentspace का पाथ है: /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
  • hostRewrite, Agentspace का होस्ट है: vertexaisearch.cloud.google.com
  • बैकएंड सेवा पर रूट करने से पहले, रीराइट ऑपरेशन किया जाता है
  • बैकएंड सेवा, Agentspace यूआरएल के आधार पर, Drive ऐप्लिकेशन के लिए ट्रैफ़िक को रूट करती है

इमेज 3

f8d84ec5fef9af5a.png

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

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

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

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

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

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

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

c62938d91e00ffa7.png

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

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

घटक

ब्यौरा

VPC (agentspace-vpc)

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

इंटरनेट NEG

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

बैकएंड सेवा

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

प्रमाणपत्र

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

Cloud DNS

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

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

c62938d91e00ffa7.png

f712980116d973a3.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 के संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब को चलाने के लिए, आपसे कोई शुल्क नहीं लिया जाएगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, बनाए गए संसाधनों को बंद किया जा सकता है या प्रोजेक्ट को मिटाया जा सकता है. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त ट्रायल वाले कार्यक्रम में शामिल हो सकते हैं.

Cloud Shell शुरू करना

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

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. VPC नेटवर्क बनाना

VPC नेटवर्क

Cloud Shell में, ये काम करें:

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

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

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

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 और पोर्ट 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 में, config.txt फ़ाइल बनाएं. इसका इस्तेमाल, pem फ़ाइल जनरेट करने के लिए किया जाता है. डीएनएस 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

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

नीचे दिए गए सेक्शन में, आपको एक सार्वजनिक डीएनएस ज़ोन बनाना होगा. इसका इस्तेमाल, 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"

10. OAuth क्रेडेंशियल

नीचे दिए गए सेक्शन में, आपको वेब ऐप्लिकेशन के लिए OAuth क्रेडेंशियल बनाना होगा. यह क्रेडेंशियल, पुष्टि करने के लिए Google के मैनेज किए जा रहे यूआरएल को oauth-redirect पर रीडायरेक्ट करता है. ट्यूटोरियल के लिए, जनरेट किए गए क्रेडेंशियल की ज़रूरत नहीं है.

OAuth के बारे में ज़्यादा जानने के लिए, यहां जाएं:

Google Calendar और Gmail से जुड़ी कार्रवाइयां जोड़ना | Google Agentspace

OAuth ऐप्लिकेशन बनाना और स्कोप जोड़ना

  1. एपीआई और सेवाएं > OAuth सहमति स्क्रीन पर जाएं: OAuth सहमति स्क्रीन पर जाएं
  2. 'इंटरनल' चुनें. इसके बाद, 'बनाएं' पर क्लिक करें.
  3. अपने OAuth ऐप्लिकेशन के लिए कोई नाम डालें.
  4. उपयोगकर्ता के सहायता ईमेल पते की जानकारी डालें.
  5. डेवलपर की संपर्क जानकारी डालें.
  6. 'सेव करें और जारी रखें' पर क्लिक करें.

OAuth क्लाइंट आईडी बनाना

इस प्रोसेस में, Google Cloud की कार्रवाइयों के लिए नया OAuth क्लाइंट आईडी बनाने का तरीका बताया गया है. इस OAuth क्लाइंट आईडी और सीक्रेट का इस्तेमाल, Google Cloud की अन्य कार्रवाइयों के लिए भी किया जा सकता है. अगर आपके पास Google Cloud ऐक्शन के लिए कोई मौजूदा Google Cloud OAuth क्लाइंट आईडी है, तो नया क्लाइंट आईडी बनाने के बजाय, Google Calendar ऐक्शन के लिए उस क्लाइंट आईडी और सीक्रेट का इस्तेमाल किया जा सकता है.

  1. क्रेडेंशियल पेज पर जाएं और क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी पर क्लिक करें.
  2. वेब ऐप्लिकेशन चुनें.
  3. अपने क्लाइंट आईडी के लिए कोई नाम डालें.
  4. 'यूआरआई जोड़ें' पर क्लिक करें और यह यूआरआई डालें: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. बनाएं पर क्लिक करें और नीचे दी गई जानकारी कॉपी करें:
  • Client-ID
  • क्लाइंट सीक्रेट

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

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

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

Calendar ऐप्लिकेशन

Agentspace का वेब यूआरएल: https://vertexaisearch.cloud.google.com/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf

b90c67aafd825ccd.png

Drive ऐप्लिकेशन

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

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

f8f850425fd11190.png

12. होस्ट और पाथ के लिए बेहतर नियम बनाना

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

कस्टम वैल्यू

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

होस्ट

agentspace.YOUR-EXTERNAL-IP.nip.io

agentspace.34.54.158.206.nip.io

defaultService

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

स्क्रीनशॉट देखना

prefixMatch

/<name of Agentspace app#1>

/drive-app

backendService

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

स्क्रीनशॉट देखना

pathPrefixRewrite

/<Agentspace URL path of app#1>

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

hostRewrite

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

prefixMatch

/<name of Agentspace app#2>

/calendar-app

backendService

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

स्क्रीनशॉट देखना

pathPrefixRewrite

/<Agentspace URL path of app#2>

/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf

hostRewrite

vertexaisearch.cloud.google.com

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
 routeAction:
   weightedBackendServices:
   - backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
     weight: 100
   urlRewrite:
     pathPrefixRewrite: /<Agentspace URL path of app#1>
     hostRewrite: vertexaisearch.cloud.google.com
- matchRules:
 - prefixMatch: /<name of Agentspace app#2>
 priority: 2
 routeAction:
   weightedBackendServices:
   - backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
     weight: 101
   urlRewrite:
     pathPrefixRewrite: /<Agentspace URL path of app#2>
     hostRewrite: vertexaisearch.cloud.google.com

स्क्रीनशॉट का उदाहरण:

22788283124c59ec.png

cef8f571ca17bf42.png

13. पुष्टि

डिप्लॉयमेंट पूरा हो गया है! कस्टम डोमेन का इस्तेमाल करके, वेब ब्राउज़र या टर्मिनल से 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 ऐप्लिकेशन: drive-app

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

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

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

15. बधाई हो

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

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

Cosmopup को लगता है कि कोडलैब शानदार हैं!!

c911c127bffdee57.jpeg

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