1. บทนำ
เอกสารนี้มีสถาปัตยกรรมอ้างอิงสำหรับการกำหนดค่าโดเมนที่กำหนดเองเพื่อเข้าถึง AgentSpace ผู้ใช้สามารถใช้โดเมนที่กำหนดเองแทน URL ที่ Google จัดการซึ่งกำหนดไว้ในระหว่างการสร้างแอป Agentspace Codelab นี้แสดงการเข้าถึงแอปพลิเคชันปฏิทินและไดรฟ์ของ Agentspace โดยใช้โดเมน nip.io nip.io เป็นบริการโอเพนซอร์สฟรีที่ให้บริการ DNS แบบไวลด์การ์ดสำหรับที่อยู่ IP ใดก็ได้ โดยพื้นฐานแล้ว บริการนี้ช่วยให้คุณสร้างชื่อโฮสต์ที่แปลงเป็นที่อยู่ IP ที่เฉพาะเจาะจงได้โดยไม่ต้องตั้งค่าเซิร์ฟเวอร์ DNS ของคุณเองหรือแก้ไขไฟล์ /etc/hosts
เราขอแนะนำให้ใช้โดเมนของคุณเอง แต่ในบทแนะนำนี้จะใช้ nip.io เพื่อวัตถุประสงค์ในการสาธิต
ในสถานการณ์การติดตั้งใช้งานที่แสดงด้านล่าง (รูปที่ 1) AgentSpace ได้เผยแพร่ที่เก็บข้อมูลที่มีแอปพลิเคชันปฏิทินซึ่งเข้าถึงได้ผ่าน URL สาธารณะที่ Google จัดการ
รูปที่ 1

การเติบโตอย่างต่อเนื่องของ Datastore และแอปพลิเคชันที่ตามมาทำให้ต้องมีการจัดการ URL ที่ Google จัดการแบบสาธารณะเพิ่มเติมตามที่แสดงในสถานการณ์การติดตั้งใช้งานด้านล่าง (รูปที่ 2) ซึ่งส่งผลให้มีการแมปแอปพลิเคชัน Agentspace และ URL แบบ 1:1
รูปที่ 2

โดเมนที่กำหนดเองช่วยให้แมปแอปพลิเคชัน AgentSpace ต่างๆ กับโดเมนลูกค้าเดียวที่ผู้ใช้ระบุได้ ฟีเจอร์นี้ช่วยให้เชื่อมโยงเส้นทาง URL ที่เฉพาะเจาะจงกับแอปพลิเคชัน Agentspace แต่ละรายการได้ ซึ่งจะช่วยให้มีความยืดหยุ่นมากขึ้นตามที่แสดงในสถานการณ์การติดตั้งใช้งานด้านล่าง (รูปที่ 3) ตัวอย่างเช่น ระบบจะแบ่งกลุ่มโดเมนที่ลูกค้าจัดการ agentspace.cosmopup.com ออกเป็นกฎเส้นทาง โดยแต่ละกฎจะแมปกับแอปพลิเคชัน Agentspace ที่เฉพาะเจาะจง ตัวอย่างเช่น
- agentspace.cosmopup.com/drive-app ที่แมปกับแอปพลิเคชัน Agentspace สำหรับไดรฟ์ของ Workspace
- agentspace.cosmopup.com/calendar-app ที่เชื่อมโยงกับแอปพลิเคชัน Agentspace สำหรับปฏิทิน Workspace
กฎโฮสต์และเส้นทางของตัวจัดสรรภาระงานแอปพลิเคชันภายนอกที่กำหนดค่าผ่าน URL MAP จะควบคุมตรรกะที่แมปโดเมนที่กำหนดเองกับ URL ที่จัดการโดย Google โดยจะทำหน้าที่ต่อไปนี้โดยใช้ตัวอย่าง agentspace.cosmopup.com/drive-app
- ตัวจัดสรรภาระงานได้รับเส้นทางโฮสต์โดเมนที่กำหนดเอง agentspace.cosmopup.com/drive-app
- กำหนดค่าแผนที่ 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
- ระบบจะดำเนินการเขียนซ้ำก่อนกำหนดเส้นทางไปยังบริการแบ็กเอนด์
- บริการแบ็กเอนด์จะกำหนดเส้นทางการรับส่งข้อมูลไปยังแอปพลิเคชันไดรฟ์แอปโดยอิงตาม URL ของ Agentspace
รูปที่ 3

สิ่งที่คุณจะได้เรียนรู้
- สร้าง Application Load Balancer ภายนอกส่วนกลาง
- สร้างการเขียนบริการแบ็กเอนด์ใหม่โดยใช้โดเมนที่กำหนดเองและการดำเนินการเขียนใหม่ไปยังแอปพลิเคชัน Agentspace
- วิธีผสานรวม nip.io และ Cloud DNS เพื่อสร้างโดเมนที่กำหนดเอง
- วิธีตรวจสอบสิทธิ์เข้าถึงโดเมนที่กำหนดเองของ Agentspace
สิ่งที่คุณต้องมี
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เจ้าของ
- URL ของแอปพลิเคชัน Agentspace ที่มีอยู่
- โดเมนที่กำหนดเองที่เป็นเจ้าของด้วยตนเอง (ไม่บังคับ)
- ใบรับรอง - Self-Signed หรือจัดการโดย Google
2. สิ่งที่คุณจะสร้าง
คุณจะสร้างตัวจัดสรรภาระงานแอปพลิเคชันภายนอกส่วนกลางที่มีความสามารถในการจัดการการเข้าชมขั้นสูงเพื่อเปิดใช้การจับคู่เส้นทางโดเมนที่กำหนดเองสำหรับแอปพลิเคชัน AgentSpace โดยใช้การเขียนโฮสต์และเส้นทางใหม่ เมื่อติดตั้งใช้งานแล้ว คุณจะต้องดำเนินการต่อไปนี้เพื่อตรวจสอบสิทธิ์เข้าถึงแอปพลิเคชัน Agentspace
- เข้าถึงแอปพลิเคชัน Agentspace โดยเปิดเว็บเบราว์เซอร์และไปที่โดเมนที่กำหนดเองและเส้นทางที่ระบุ

3. ข้อกำหนดเกี่ยวกับเครือข่าย
รายละเอียดข้อกำหนดของเครือข่ายมีดังนี้
คอมโพเนนต์ | คำอธิบาย |
VPC (agentspace-vpc) | VPC โหมดที่กำหนดเอง |
NEG อินเทอร์เน็ต | ทรัพยากรที่ใช้ในการกำหนดแบ็กเอนด์ภายนอกสำหรับตัวจัดสรรภาระงานที่กำหนดค่าเป็น FQDN ซึ่งระบุ FQDN ที่จัดการโดย Google ของ AgentSpace (vertexaisearch.cloud.google.com) FQDN ของอินเทอร์เน็ตจะทำการค้นหา DNS ภายใน VPC เพื่อการแก้ไข |
บริการแบ็กเอนด์ | บริการแบ็กเอนด์ทำหน้าที่เป็นสะพานเชื่อมระหว่างตัวจัดสรรภาระงานกับทรัพยากรแบ็กเอนด์ ในบทแนะนำ บริการแบ็กเอนด์จะเชื่อมโยงกับ NEG อินเทอร์เน็ต |
ใบรับรอง | หากต้องการกำหนดค่าใบรับรองสำหรับ Application Load Balancer ใน Google Cloud คุณจะต้องใช้บริการ Certificate Manager และใบรับรอง SSL ที่จัดการโดย Google หรือใบรับรอง SSL ที่จัดการด้วยตนเอง |
Cloud DNS | ระบบจะใช้โซนสาธารณะของ Cloud DNS เพื่อแก้ไข IP ภายนอกของตัวจัดสรรภาระงานของแอปพลิเคชันภายนอกเป็น nip.io (agentspace.externalip.nip.io) หรือจะใช้โดเมนที่กำหนดเองและระเบียน A ที่ประกอบด้วยที่อยู่ IP ของตัวจัดสรรภาระงานก็ได้ |
4. โทโพโลยี Codelab


5. การตั้งค่าและข้อกำหนด
การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง
- ลงชื่อเข้าใช้ Google Cloud Console แล้วสร้างโปรเจ็กต์ใหม่หรือใช้โปรเจ็กต์ที่มีอยู่ซ้ำ หากยังไม่มีบัญชี Gmail หรือ Google Workspace คุณต้องสร้างบัญชี



- ชื่อโปรเจ็กต์คือชื่อที่แสดงสำหรับผู้เข้าร่วมโปรเจ็กต์นี้ ซึ่งเป็นสตริงอักขระที่ Google APIs ไม่ได้ใช้ คุณอัปเดตได้ทุกเมื่อ
- รหัสโปรเจ็กต์จะไม่ซ้ำกันในโปรเจ็กต์ Google Cloud ทั้งหมดและเปลี่ยนแปลงไม่ได้ (เปลี่ยนไม่ได้หลังจากตั้งค่าแล้ว) Cloud Console จะสร้างสตริงที่ไม่ซ้ำกันโดยอัตโนมัติ ซึ่งโดยปกติแล้วคุณไม่จำเป็นต้องสนใจว่าสตริงนั้นคืออะไร ใน Codelab ส่วนใหญ่ คุณจะต้องอ้างอิงรหัสโปรเจ็กต์ (โดยทั่วไปจะระบุเป็น
PROJECT_ID) หากไม่ชอบรหัสที่สร้างขึ้น คุณอาจสร้างรหัสแบบสุ่มอีกรหัสหนึ่งได้ หรือคุณอาจลองใช้ชื่อของคุณเองและดูว่ามีชื่อนั้นหรือไม่ คุณจะเปลี่ยนแปลงรหัสนี้หลังจากขั้นตอนนี้ไม่ได้ และรหัสจะคงอยู่ตลอดระยะเวลาของโปรเจ็กต์ - โปรดทราบว่ายังมีค่าที่ 3 ซึ่งคือหมายเลขโปรเจ็กต์ที่ API บางตัวใช้ ดูข้อมูลเพิ่มเติมเกี่ยวกับค่าทั้ง 3 นี้ได้ในเอกสารประกอบ
- จากนั้นคุณจะต้องเปิดใช้การเรียกเก็บเงินใน Cloud Console เพื่อใช้ทรัพยากร/API ของ Cloud การทำตาม Codelab นี้จะไม่มีค่าใช้จ่ายมากนัก หรืออาจไม่มีค่าใช้จ่ายเลย หากต้องการปิดทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินนอกเหนือจากบทแนะนำนี้ คุณสามารถลบทรัพยากรที่สร้างขึ้นหรือลบโปรเจ็กต์ได้ ผู้ใช้ Google Cloud รายใหม่มีสิทธิ์เข้าร่วมโปรแกรมช่วงทดลองใช้ฟรีมูลค่า$300 USD
เริ่มต้น Cloud Shell
แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลจากแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์
จาก Google Cloud Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

การจัดสรรและเชื่อมต่อกับสภาพแวดล้อมจะใช้เวลาเพียงไม่กี่นาที เมื่อเสร็จแล้ว คุณควรเห็นข้อความคล้ายกับตัวอย่างต่อไปนี้

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดใน Codelab นี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
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. ตั้งค่าคอมโพเนนต์ของตัวจัดสรรภาระงาน
สำรองที่อยู่ IP ภายนอกของตัวจัดสรรภาระงาน
ใน Cloud Shell ให้จองที่อยู่ IP ภายนอกสำหรับตัวจัดสรรภาระงานโดยทำดังนี้
gcloud compute addresses create external-ip \
--network-tier=PREMIUM \
--ip-version=IPV4 \
--global
ดูที่อยู่ IP ที่สงวนไว้ใน 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 อินเทอร์เน็ต
สร้าง NEG อินเทอร์เน็ต และตั้งค่า –network-endpoint-type เป็น internet-fqdn-port (ชื่อโฮสต์และพอร์ตที่เข้าถึงแบ็กเอนด์ภายนอกได้) ระบบจะใช้ FQDN vertexaisearch.cloud.google.com และพอร์ต 443 เพื่อแก้ไข Agentspace
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
สร้างใบรับรอง
ตอนนี้คุณได้สร้าง NEG อินเทอร์เน็ตและบริการแบ็กเอนด์แล้ว ในส่วนถัดไป คุณจะต้องสร้างทรัพยากรใบรับรองเพื่อใช้ในพร็อกซีเป้าหมาย HTTPs คุณสร้างทรัพยากรใบรับรอง SSL ได้โดยใช้ใบรับรอง SSL ที่จัดการโดย Google หรือใบรับรอง SSL ที่จัดการด้วยตนเอง เราขอแนะนำให้ใช้ใบรับรองที่ Google จัดการ เนื่องจาก Google Cloud จะขอ รับ จัดการ และต่ออายุใบรับรองเหล่านี้โดยอัตโนมัติ
ดูข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองที่รองรับสำหรับตัวจัดสรรภาระงานแอปพลิเคชันภายนอกทั่วโลกที่ใช้ในบทแนะนำนี้ได้ที่
ภาพรวมใบรับรอง SSL | การจัดสรรภาระงาน | Google Cloud
ในส่วนต่อไปนี้ คุณจะสร้างใบรับรองแบบ Self-signed (แม้ว่าจะใช้ใบรับรองที่จัดการโดย Google แทนได้) ซึ่งต้องมีการแมปชื่อจริงกับชื่อโดเมนที่สมบูรณ์ในตัวเอง (agentspace.YOUR-EXTERNAL-IP.nip.io) ที่สอดคล้องกับที่อยู่ IP ภายนอกของตัวจัดสรรภาระงานที่สร้างขึ้นก่อนหน้านี้ ตัวอย่างด้านล่าง
ชื่อทั่วไป: agentspace.34.54.158.206.nip.io
สร้างคีย์ส่วนตัวภายใน Cloud Shell
openssl genrsa -out private-key-file.pem 2048
สร้างไฟล์ config.txt ภายใน Cloud Shell เพื่อใช้สร้างไฟล์ 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
ตรวจสอบว่าได้สร้าง config.txt และ private-key-file.pem ใน Cloud Shell แล้ว
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
ตรวจสอบการสร้างไฟล์ cert.cert ภายใน Cloud Shell
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. สร้างโซน 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"
10. ข้อมูลเข้าสู่ระบบ OAuth
ในส่วนต่อไปนี้ คุณจะสร้างข้อมูลเข้าสู่ระบบ OAuth สำหรับเว็บแอปพลิเคชันที่จะเปลี่ยนเส้นทาง URL ที่ Google จัดการไปยัง oauth-redirect เพื่อการตรวจสอบสิทธิ์ คุณไม่จำเป็นต้องใช้ข้อมูลเข้าสู่ระบบที่สร้างขึ้นสำหรับบทแนะนำนี้
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Oauth ได้ที่
เพิ่มการดำเนินการใน Google ปฏิทินและ Gmail | Google Agentspace
สร้างแอป OAuth และเพิ่มขอบเขต
- ไปที่ API และบริการ > หน้าจอขอความยินยอม OAuth: ไปที่หน้าจอขอความยินยอม OAuth
- เลือก "ภายใน" แล้วคลิก "สร้าง"
- ป้อนชื่อแอป OAuth
- ป้อนอีเมลสำหรับการสนับสนุนผู้ใช้
- ป้อนข้อมูลติดต่อของนักพัฒนาแอป
- คลิกบันทึกและดำเนินการต่อ
สร้างรหัสไคลเอ็นต์ OAuth
กระบวนการนี้อธิบายวิธีสร้างรหัสไคลเอ็นต์ OAuth ใหม่สำหรับการดำเนินการใน Google Cloud นอกจากนี้ คุณยังใช้รหัสไคลเอ็นต์และรหัสลับ OAuth นี้กับ Google Cloud Actions อื่นๆ ได้ด้วย หากมีรหัสไคลเอ็นต์ OAuth ของ Google Cloud อยู่แล้วสำหรับการดำเนินการใน Google Cloud คุณสามารถใช้รหัสไคลเอ็นต์และรหัสลับนั้นสำหรับการดำเนินการใน Google ปฏิทินแทนการสร้างรหัสไคลเอ็นต์ใหม่ได้
- ไปที่หน้าข้อมูลเข้าสู่ระบบ แล้วคลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- เลือกเว็บแอปพลิเคชัน
- ป้อนชื่อรหัสไคลเอ็นต์
- คลิกเพิ่ม URI แล้วป้อน URI ต่อไปนี้ https://vertexaisearch.cloud.google.com/oauth-redirect
- คลิกสร้าง แล้วคัดลอกข้อมูลต่อไปนี้
- รหัสลูกค้า
- รหัสลับไคลเอ็นต์
11. ระบุ URL ของแอปพลิเคชัน Agentspace
ขั้นตอนต่อไปนี้จะระบุ URL สาธารณะของ Agentspace ที่ Google จัดการซึ่ง Google สร้างขึ้นและแมปกับ Agentspace ของแต่ละแอปพลิเคชัน เอาต์พุตของ URL เป็นตัวอย่างที่อิงตามสถาปัตยกรรมอ้างอิง ดังนั้นคุณต้องตรวจสอบว่า URL ถูกต้อง
โปรดจัดเก็บลิงก์ไปยังเว็บแอปของคุณตามแต่ละแอปพลิเคชัน
แอปพลิเคชันปฏิทิน
URL ของ Agentspace บนเว็บ: https://vertexaisearch.cloud.google.com/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf

แอปพลิเคชันไดรฟ์
URL ของ Agentspace บนเว็บ:
https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd

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 | /<ชื่อของแอป Agentspace#1> | /drive-app |
backendService | projects/<projectid>/global/backendServices/agentspace-ineg-bes | ดูภาพหน้าจอ |
pathPrefixRewrite | /<เส้นทาง URL ของ Agentspace ของแอป#1> | /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd |
hostRewrite | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
prefixMatch | /<ชื่อของแอป Agentspace#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 → เลือกแก้ไข
เลือกกฎการกำหนดเส้นทาง → กฎของโฮสต์และเส้นทางขั้นสูง
เลือกเพิ่มกฎของโฮสต์และเส้นทาง

ตอนนี้คุณจะเห็นตัวเลือกในการสร้างกฎของโฮสต์และเส้นทางใหม่ ในส่วนโฮสต์ ให้แทรก agentspace.YOUR-EXTERNAL-IP.nip.io หรือโดเมนที่กำหนดเอง

ในช่องตัวจับคู่เส้นทาง (การจับคู่ การดำเนินการ และบริการ) ให้อัปเดตเนื้อหาด้านล่างด้วยการกำหนดค่าสภาพแวดล้อมของคุณ แล้วเลือกอัปเดต
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
ภาพหน้าจอตัวอย่าง


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 ให้ทำดังนี้
ไปที่ API และบริการ → ข้อมูลเข้าสู่ระบบ
ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 ให้เลือกข้อมูลเข้าสู่ระบบ แล้วลบ
จากเทอร์มินัล Cloud Shell เดียว ให้ลบคอมโพเนนต์ของ Lab ดังนี้
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 คิดว่า Codelab นั้นยอดเยี่ยม!!
