دامنه سفارشی Agentspace

درباره این codelab
schedule۴۵ دقیقه
subjectآخرین به‌روزرسانی: ۶ خرداد ۱۴۰۴
account_circleنویسنده: Deepak Michael, Lorin Price, Zach Seils

این سند یک معماری مرجع برای پیکربندی یک دامنه سفارشی برای دسترسی به AgentSpace ارائه می دهد. به جای URL مدیریت شده توسط Google که در طول ایجاد برنامه Agentspace اختصاص داده شده است، کاربران می توانند از یک دامنه سفارشی استفاده کنند. این آزمایشگاه کد دسترسی به تقویم و برنامه های درایو Agentspace را با استفاده از دامنه nip.io نشان می دهد. nip.io یک سرویس رایگان و منبع باز است که DNS wildcard را برای هر آدرس IP ارائه می دهد. اساساً به شما امکان می‌دهد یک نام میزبان ایجاد کنید که بدون نیاز به راه‌اندازی سرور DNS خود یا اصلاح فایل /etc/hosts خود به یک آدرس IP خاص حل شود.

استفاده از دامنه خود توصیه می شود، اما برای اهداف نمایشی از nip.io در آموزش استفاده شده است.

در سناریوی استقرار نشان‌داده‌شده در زیر (شکل 1)، AgentSpace یک ذخیره‌گاه داده حاوی یک برنامه تقویم که از طریق یک URL عمومی مدیریت شده توسط Google قابل دسترسی است، منتشر کرد.

شکل 1

27591afa06891dcb.png

رشد مستمر ذخیره‌گاه داده و برنامه‌های بعدی منجر به مدیریت بیشتر URLهای عمومی مدیریت شده توسط Google می‌شود، همانطور که در سناریوی استقرار زیر نشان داده شده است، (شکل 2) که منجر به نقشه‌برداری 1:1 از برنامه‌های Agentspace و URL می‌شود.

شکل 2.

7e31bfae7ac56b22.png

یک دامنه سفارشی نگاشت برنامه های مختلف AgentSpace را به یک دامنه مشتری مشخص شده توسط کاربر امکان پذیر می کند. این ویژگی اجازه می دهد تا یک مسیر URL خاص با هر برنامه Agentspace مرتبط شود، که انعطاف پذیری بیشتری را همانطور که در سناریوی استقرار زیر نشان داده شده است، ارائه می دهد (شکل 3). به عنوان مثال، یک دامنه مدیریت شده توسط مشتری agentspace.cosmopup.com به قوانین مسیر تقسیم می شود که هر کدام به یک برنامه کاربردی Agentspace خاص نگاشت می شوند، به عنوان مثال عبارتند از:

  • agentspace.cosmopup.com/drive-app که به برنامه Agentspace برای Workspace Drive نگاشت می شود
  • agentspace.cosmopup.com/calendar-app که به برنامه Agentspace برای Workspace Calendar نگاشت می شود

قوانین مسیر و میزبان Load Application External Application Load Balancer که از طریق URL MAP پیکربندی شده است، منطقی را کنترل می کند که دامنه سفارشی را به URL مدیریت شده توسط Google ترسیم می کند. عملکرد زیر را با استفاده از مثال agentspace.cosmopup.com/drive-app انجام می دهد

  • مسیر میزبان دامنه سفارشی agentspace.cosmopup.com/drive-app توسط loadbalancer دریافت می شود
  • نقشه URL برای تطبیق قوانین میزبان پیشرفته و مسیر پیکربندی شده است
  • Hosts 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
  • عملیات بازنویسی قبل از مسیریابی به سرویس باطن انجام می شود
  • سرویس Backend ترافیک را بر اساس URL Agentspace به برنامه Drive-app هدایت می کند

شکل 3

f8d84ec5fef9af5a.png

چیزی که یاد خواهید گرفت

  • یک بار متعادل کننده جهانی برنامه خارجی ایجاد کنید
  • ایجاد یک بازنویسی سرویس باطن با استفاده از یک دامنه سفارشی و بازنویسی عملیات در یک برنامه Agentspace
  • نحوه ادغام nip.io و Cloud DNS برای ایجاد یک دامنه سفارشی
  • نحوه تأیید اعتبار دسترسی به دامنه سفارشی Agentspace

آنچه شما نیاز دارید

  • پروژه Google Cloud با مجوزهای مالک
  • URL(های) برنامه کاربردی Agentspace موجود
  • دامنه سفارشی خود مالک (اختیاری)
  • گواهینامه ها - خود امضا شده یا Google Managed

2. آنچه می سازید

شما یک Global External Application Load Balancer با قابلیت‌های مدیریت ترافیک پیشرفته ایجاد خواهید کرد تا با استفاده از میزبان و بازنویسی مسیر، مطابقت مسیر دامنه سفارشی را برای برنامه‌های Agentspace فعال کنید. پس از استقرار، اقدامات زیر را برای تأیید اعتبار دسترسی به برنامه Agentspace انجام خواهید داد:

  • با باز کردن یک مرورگر وب و پیمایش به دامنه سفارشی و مسیر مشخص شده به برنامه Agentspace خود دسترسی پیدا کنید.

c62938d91e00ffa7.png

3. الزامات شبکه

در زیر تجزیه و تحلیل نیازمندی های شبکه آورده شده است:

اجزاء

توضیحات

VPC (agentspace-vpc)

حالت سفارشی VPC

اینترنت NEG

منبعی که برای تعریف یک باطن خارجی برای متعادل کننده بار استفاده می شود که به عنوان FQDN پیکربندی شده است که نشان دهنده FQDN Agentspace Google-Manged (vertexaisearch.cloud.google.com) است. اینترنت FQDN جستجوی DNS را در VPC برای وضوح انجام می دهد.

خدمات Backend

یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با اینترنت NEG مرتبط است.

گواهینامه ها

برای پیکربندی گواهی‌ها برای Application Load Balancer در Google Cloud، از سرویس مدیر گواهی و گواهی‌های SSL تحت مدیریت یا خود مدیریت Google استفاده خواهید کرد.

Cloud DNS

منطقه عمومی Cloud DNS برای حل و فصل IP خارجی load balancer برنامه خارجی به nip.io (agentspace.externalip.nip.io) استفاده می شود. از طرف دیگر، از دامنه سفارشی خود و یک رکورد متشکل از آدرس IP متعادل کننده بار استفاده کنید.

4. توپولوژی Codelab

c62938d91e00ffa7.png

f712980116d973a3.png

5. راه اندازی و الزامات

تنظیم محیط خود به خود

  1. به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
  • شناسه پروژه در تمام پروژه‌های Google Cloud منحصربه‌فرد است و تغییرناپذیر است (پس از تنظیم نمی‌توان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام PROJECT_ID شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، می‌توانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند.
  • برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
  1. در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورت‌حساب فراتر از این آموزش، می‌توانید منابعی را که ایجاد کرده‌اید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.

Cloud Shell را راه اندازی کنید

در حالی که Google Cloud را می توان از راه دور از لپ تاپ شما کار کرد، در این کد لبه از Google Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان که در Cloud اجرا می شود.

از Google Cloud Console ، روی نماد Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

55efc1aaa7a4d3ad.png

تهیه و اتصال به محیط فقط چند لحظه طول می کشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

7ffe5cbb04455448.png

این ماشین مجازی با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی را ارائه می دهد و در Google Cloud اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی افزایش می دهد. تمام کارهای شما در این کد لبه را می توان در یک مرورگر انجام داد. شما نیازی به نصب چیزی ندارید.

6. قبل از شروع

API ها را فعال کنید

در داخل 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. Load Balancer Components را تنظیم کنید

آدرس IP خارجی load balancer را رزرو کنید

در داخل Cloud Shell، یک آدرس IP خارجی برای متعادل کننده بار رزرو کنید:

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

در داخل Cloud Shell، آدرس IP رزرو شده را مشاهده کنید:

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 را راه اندازی کنید

یک Internet 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

Load Balancer را ایجاد کنید

در داخل 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  

گواهی را ایجاد کنید

در این مرحله، سرویس اینترنت neg و backend را ایجاد کرده‌اید، در بخش زیر باید یک منبع گواهی برای استفاده در پروکسی هدف HTTP ایجاد کنید. می توانید با استفاده از گواهی SSL مدیریت شده توسط Google یا گواهی SSL خود مدیریت شده، یک منبع گواهی SSL ایجاد کنید. توصیه می‌کنیم از گواهی‌های تحت مدیریت Google استفاده کنید زیرا Google Cloud این گواهی‌ها را به‌طور خودکار دریافت، مدیریت و تمدید می‌کند.

برای کسب اطلاعات بیشتر در مورد گواهی های پشتیبانی شده برای Global Application Load Balancer استفاده شده در این آموزش به موارد زیر مراجعه کنید:

نمای کلی گواهینامه های SSL | تعادل بار | Google Cloud

در بخش زیر، یک گواهی امضا شده ایجاد می‌کنید (اگرچه می‌توان به جای آن از گواهی مدیریت شده گوگل استفاده کرد) که به نگاشت نام رایج به نام دامنه کاملاً واجد شرایط ( agentspace.YOUR-EXTERNAL-IP.nip.io) مطابق با آدرس IP خارجی متعادل کننده بار است که قبلاً تولید شده بود، به عنوان مثال زیر:

نام مشترک: agentspace.34.54.158.206.nip.io

در داخل Cloud Shell، کلید خصوصی را ایجاد کنید

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

در داخل Cloud Shell یک فایل config.txt ایجاد کنید که برای تولید فایل pem استفاده می شود. نام دامنه کاملا واجد شرایط را در ورودی DNS 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

Inside 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. Public DNS Zone ایجاد کنید

در بخش زیر، یک منطقه عمومی DNS ایجاد می‌کنید که توسط nip.io برای حل کردن آدرس IP خارجی متعادل کننده بار استفاده می‌شود.

در Cloud Shell، برای ایجاد یک متغیر برای آدرس IP خارجی متعادل کننده بار، موارد زیر را انجام دهید:

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 برای برنامه های کاربردی وب ایجاد می کنید که URL مدیریت شده توسط Google را برای احراز هویت به oauth-redirect هدایت می کند. اعتبار تولید شده برای آموزش مورد نیاز نیست.

برای کسب اطلاعات بیشتر در مورد Oauth به موارد زیر مراجعه کنید:

افزودن Google Calendar و اقدامات Gmail | Google Agentspace

یک برنامه OAuth ایجاد کنید و دامنه ها را اضافه کنید

  1. به APIs & Services > صفحه رضایت OAuth بروید: به صفحه رضایت OAuth بروید
  2. Internal را انتخاب کنید و سپس روی Create کلیک کنید.
  3. یک نام برای برنامه OAuth خود وارد کنید.
  4. ایمیل پشتیبانی کاربر را وارد کنید.
  5. اطلاعات تماس توسعه دهنده را وارد کنید.
  6. روی ذخیره کلیک کنید و ادامه دهید.

یک شناسه مشتری OAuth ایجاد کنید

این روش نحوه ایجاد شناسه مشتری OAuth جدید برای اقدامات Google Cloud را توضیح می دهد. این شناسه مشتری OAuth و راز را می توان برای سایر اقدامات Google Cloud نیز استفاده کرد. اگر شناسه سرویس گیرنده Google Cloud OAuth برای اقدامات Google Cloud دارید، می توانید به جای ایجاد شناسه مشتری جدید از آن شناسه مشتری و راز برای اقدامات Google Calendar استفاده کنید.

  1. به صفحه Credentials بروید و روی Create credentials > OAuth client ID کلیک کنید.
  2. برنامه وب را انتخاب کنید.
  3. یک نام برای شناسه مشتری خود وارد کنید.
  4. روی افزودن URI کلیک کنید و URI زیر را وارد کنید: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. روی ایجاد کلیک کنید و اطلاعات زیر را کپی کنید:
  • شناسه مشتری
  • راز مشتری

11. آدرس های برنامه Agentspace را شناسایی کنید

رویه زیر نشانی‌های اینترنتی عمومی Agentspace را که توسط Google مدیریت می‌شود، ایجاد شده توسط Google را شناسایی می‌کند که به Agentspace هر برنامه نگاشت می‌شوند. خروجی URL ها نمونه هایی بر اساس معماری مرجع هستند، بنابراین باید اطمینان حاصل کنید که URL های شما دقیق هستند.

اطمینان حاصل کنید که پیوند به برنامه وب خود را در هر برنامه ذخیره می کنید.

برنامه تقویم

آدرس وب Agentspace: https://vertexaisearch.cloud.google.com/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf

b90c67aafd825ccd.png

برنامه درایو

آدرس وب Agentspace:

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

f8f850425fd11190.png

12. هاست پیشرفته و قانون مسیر ایجاد کنید

در بخش زیر، قوانین مسیریابی بار متعادل کننده ها را به روز می کنید تا گزینه تعریف قوانین میزبان و مسیر با استفاده از کنسول ابری را فعال کنید. جدول زیر مقادیر سفارشی (به ترتیب از بالا به پایین) را بر اساس محیط شما به‌روزرسانی می‌کند:

ارزش سفارشی

مثال بر اساس آموزش

میزبان ها

agentspace.YOUR-EXTERNAL-IP.nip.io

agentspace.34.54.158.206.nip.io

پیش فرض سرویس

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

اسکرین شات را ببینید

پیشوند Match

/<نام برنامه Agentspace#1>

/drive-app

BackendService

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

اسکرین شات را ببینید

pathPrefixRewrite

/<مسیر نشانی وب عامل فضای برنامه#1>

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

hostRewrite

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

پیشوند Match

/<نام برنامه Agentspace#2>

/calendar-app

BackendService

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

اسکرین شات را ببینید

pathPrefixRewrite

/<مسیر نشانی وب عامل فضای برنامه#2>

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

hostRewrite

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

برای دسترسی به قوانین میزبان و مسیر به مسیر زیر بروید

تعادل بار ← agentspace-lb ← ویرایش را انتخاب کنید

قوانین مسیریابی ← میزبانی پیشرفته و قوانین مسیر را انتخاب کنید

Add host and path rule را انتخاب کنید

4bc965db43aed21b.png

اکنون با ایجاد یک هاست و قانون مسیر جدید، در بخش میزبان ها، agentspace.YOUR-EXTERNAL-IP.nip.io یا دامنه سفارشی را وارد کنید، به شما ارائه می شود.

f36e4fa11c950d8d.png

در قسمت تطبیق مسیر (مطابقات، اقدامات و خدمات)، محتوای زیر را با پیکربندی محیطی خود به‌روزرسانی کنید و سپس گزینه update را انتخاب کنید.

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.YOUR-EXTERNAL-IP.nip.io/path به عنوان مثال agentspace.34.54.158.206.nip.io، به برنامه Agentspace دسترسی پیدا کنید.

برنامه 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 را حذف کنید، موارد زیر را انجام دهید:

به APIS & Services → Credentials بروید

در قسمت شناسه های مشتری 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 را با موفقیت پیکربندی و تأیید کردید.

شما زیرساخت متعادل کننده بار را ایجاد کردید، یاد گرفتید که چگونه یک NEG اینترنت، Cloud DNS و مدیریت ترافیک پیشرفته ایجاد کنید که بازنویسی میزبان و مسیر را فعال می کند که امکان اتصال به Agentspace را با استفاده از یک دامنه سفارشی فراهم می کند.

Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!

c911c127bffdee57.jpeg

اسناد مرجع