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

۱. مقدمه

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

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

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

شکل ۱

۲۷۵۹۱afa06891dcb.png

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

شکل ۲.

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 نگاشت می‌شود

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

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

شکل ۳

f8d84ec5fef9af5a.png

آنچه یاد خواهید گرفت

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

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

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

۲. آنچه خواهید ساخت

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

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

c62938d91e00ffa7.png

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

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

قطعات

توضیحات

VPC (فضای عامل-vpc)

حالت سفارشی VPC

اینترنت منفی

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

خدمات بک‌اند

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

گواهینامه‌ها

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

DNS ابری

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

۴. توپولوژی Codelab

c62938d91e00ffa7.png

f712980116d973a3.png

۵. تنظیمات و الزامات

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

شروع پوسته ابری

اگرچه می‌توان از راه دور و از طریق لپ‌تاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا می‌شود، استفاده خواهید کرد.

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

این ماشین مجازی با تمام ابزارهای توسعه‌ای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه می‌دهد و روی فضای ابری گوگل اجرا می‌شود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود می‌بخشد. تمام کارهای شما در این آزمایشگاه کد را می‌توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.

۶. قبل از شروع

فعال کردن 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

۷. ایجاد شبکه VPC

شبکه VPC

درون Cloud Shell، موارد زیر را انجام دهید:

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

۸. اجزای متعادل‌کننده بار را تنظیم کنید

آدرس IP خارجی متعادل‌کننده بار را رزرو کنید

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

ایجاد متعادل‌کننده بار

درون 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  

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

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

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

مروری بر گواهینامه‌های SSL | متعادل‌سازی بار | گوگل کلود

در بخش زیر، یک گواهی خودامضا (self-signed certificate) ایجاد خواهید کرد (اگرچه می‌توان از گواهی مدیریت‌شده توسط گوگل (google managed certificate) به جای آن استفاده کرد) که نیاز به نگاشت نام مشترک به نام دامنه کاملاً واجد شرایط ( 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

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

۹. ایجاد منطقه DNS عمومی

در بخش بعدی، یک منطقه 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"

۱۰. اعتبارنامه‌های OAuth

در بخش بعدی، یک اعتبارنامه Oauth برای برنامه‌های وب ایجاد خواهید کرد که URL مدیریت‌شده توسط گوگل را برای احراز هویت به oauth-redirect هدایت می‌کند. اعتبارنامه‌های تولید شده برای این آموزش مورد نیاز نیستند.

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

افزودن اقدامات تقویم گوگل و جیمیل | Google Agentspace

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

  1. به صفحه رضایت OAuth در APIها و خدمات بروید: به صفحه رضایت OAuth بروید
  2. داخلی را انتخاب کنید و سپس روی ایجاد کلیک کنید.
  3. یک نام برای برنامه OAuth خود وارد کنید.
  4. ایمیل پشتیبانی کاربر را وارد کنید.
  5. اطلاعات تماس توسعه‌دهنده را وارد کنید.
  6. روی ذخیره کلیک کنید و ادامه دهید.

یک شناسه کلاینت OAuth ایجاد کنید

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

  1. به صفحه اعتبارنامه‌ها بروید و روی ایجاد اعتبارنامه‌ها > شناسه کلاینت OAuth کلیک کنید.
  2. برنامه وب را انتخاب کنید.
  3. یک نام برای شناسه مشتری خود وارد کنید.
  4. روی افزودن آدرس اینترنتی (Add URI) کلیک کنید و آدرس اینترنتی زیر را وارد کنید: https://vertexaisearch.cloud.google.com/oauth-redirect
  5. روی «ایجاد» کلیک کنید و اطلاعات زیر را کپی کنید:
  • شناسه مشتری
  • راز مشتری

۱۱. شناسایی URL های برنامه Agentspace

رویه زیر، URLهای عمومی Agentspace مدیریت‌شده توسط گوگل که توسط گوگل تولید می‌شوند و در هر برنامه به 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

۱۲. ایجاد میزبان پیشرفته و قانون مسیر

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

مقدار سفارشی

مثال مبتنی بر آموزش

میزبان‌ها

agentspace.YOUR-EXTERNAL-IP.nip.io

agentspace.34.54.158.206.nip.io

سرویس پیش‌فرض

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

تصویر را ببینید

پیشوندمطابقت

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

/برنامه درایو

سرویس بک‌اند

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

تصویر را ببینید

پیشوند مسیربازنویسی

/<مسیر آدرس اینترنتی Agentspace مربوط به برنامه شماره ۱>

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

میزبان بازنویسی

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

پیشوندمطابقت

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

/برنامه تقویم

سرویس بک‌اند

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

تصویر را ببینید

پیشوند مسیربازنویسی

/<مسیر URL مربوط به Agentspace در برنامه شماره ۲>

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

میزبان بازنویسی

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

مثال اسکرین شات:

۲۲۷۸۸۲۸۳۱۲۴c۵۹ec.png

cef8f571ca17bf42.png

۱۳. اعتبارسنجی

استقرار کامل شد! شما می‌توانید با استفاده از دامنه سفارشی از طریق مرورگر وب یا ترمینال و با مشخص کردن agentspace.YOUR-EXTERNAL-IP.nip.io/path به برنامه Agentspace دسترسی پیدا کنید، مثلاً agentspace.34.54.158.206.nip.io، مثال‌های زیر:

اپلیکیشن Agentspace: درایو-اپ

مسیر: agentspace.34.54.158.206.nip.io/drive-app

اپلیکیشن Agentspace: درایو-اپ

مسیر: agentspace.34.54.158.206.nip.io/calendar-app

۱۴. تمیز کردن

اعتبارنامه‌های OAuth را حذف کنید، موارد زیر را انجام دهید:

به APIS و خدمات → اعتبارنامه‌ها بروید

در زیر شناسه‌های کلاینت 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

۱۵. تبریک

تبریک می‌گوییم، شما با موفقیت اتصال به یک Agentspace را با استفاده از یک دامنه سفارشی و با استفاده از یک External Application Load Balancer با مدیریت ترافیک پیشرفته پیکربندی و تأیید کردید.

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

کازموپاپ فکر می‌کند که کدلب‌ها فوق‌العاده هستند!!

c911c127bffdee57.jpeg

اسناد مرجع