1. บทนำ
เอกสารนี้มีสถาปัตยกรรมอ้างอิงสำหรับการกำหนดค่าโดเมนที่กำหนดเองเพื่อเข้าถึง AgentSpace โดยใช้ WIF ผู้ใช้สามารถใช้โดเมนที่กำหนดเองแทน 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/sharepoint-app ที่แมปกับแอปพลิเคชัน Agentspace สำหรับ Sharepoint
กฎโฮสต์และเส้นทางของตัวจัดสรรภาระงานแอปพลิเคชันภายนอกที่กำหนดค่าผ่าน URL MAP จะควบคุมตรรกะที่แมปโดเมนที่กำหนดเองกับ URL ที่จัดการโดย Google โดยจะทำหน้าที่ต่อไปนี้โดยใช้ตัวอย่าง agentspace.cosmopup.com/drive-app
- Loadbalancer ได้รับเส้นทางโฮสต์โดเมนที่กำหนดเอง agentspace.cosmopup.com/drive-app
- กำหนดค่าแผนที่ URL สำหรับการจับคู่กฎของโฮสต์และเส้นทางขั้นสูง
- โฮสต์ agentspace.cosmopup.com มีสิทธิ์สำหรับการจับคู่เส้นทางและการเปลี่ยนเส้นทาง
- เส้นทางโฮสต์โดเมนที่กำหนดเอง 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
สิ่งที่คุณจะได้เรียนรู้
- สร้าง Application Load Balancer ภายนอกส่วนกลาง
- สร้างการกำหนดเส้นทางเพื่อเปลี่ยนเส้นทางโดเมนที่กำหนดเองไปยังแอปพลิเคชัน Agentspace
- วิธีผสานรวม nip.io และ Cloud DNS เพื่อสร้างโดเมนที่กำหนดเอง
- วิธีตรวจสอบสิทธิ์เข้าถึงโดเมนที่กำหนดเองของ Agentspace
สิ่งที่ต้องมี
- โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เจ้าของ
- URL ของแอปพลิเคชัน Agentspace ที่มีอยู่
- โดเมนที่กำหนดเองที่เป็นเจ้าของด้วยตนเอง (ไม่บังคับ)
- ใบรับรอง - Self-Signed หรือจัดการโดย Google
2. สิ่งที่คุณจะสร้าง
คุณจะสร้าง Global External Application Load Balancer ที่มีความสามารถในการจัดการการรับส่งข้อมูลขั้นสูงเพื่อเปิดใช้การจับคู่เส้นทางโดเมนที่กำหนดเองสำหรับแอปพลิเคชัน 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 ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดในโค้ดแล็บนี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร
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. ตั้งค่าคอมโพเนนต์ตัวจัดสรรภาระงาน
สำรองที่อยู่ 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 จะขอ รับ จัดการ และต่ออายุใบรับรองเหล่านี้โดยอัตโนมัติ
ดูข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองที่รองรับสำหรับ Application Load Balancer ภายนอกส่วนกลางที่ใช้ในบทแนะนำนี้ได้ที่
ภาพรวมใบรับรอง 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
8. สร้างโซน 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"
9. ระบุ URL ของแอปพลิเคชัน Agentspace
ขั้นตอนต่อไปนี้จะระบุ URL สาธารณะของ Agentspace ที่ Google จัดการซึ่ง Google สร้างขึ้นและแมปกับ Agentspace ของแต่ละแอปพลิเคชัน เอาต์พุตของ URL เป็นตัวอย่างที่อิงตามสถาปัตยกรรมอ้างอิง ดังนั้นคุณต้องตรวจสอบว่า URL ถูกต้อง
โปรดจัดเก็บลิงก์ไปยังเว็บแอปของคุณตามแอปพลิเคชัน
แอปพลิเคชันไดรฟ์
URL ของ Agentspace บนเว็บ:
https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
แอปพลิเคชัน SharePoint
URL ของเว็บ 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
10. สร้างกฎของโฮสต์และเส้นทางขั้นสูง
ในส่วนต่อไปนี้ คุณจะอัปเดตกฎการกำหนดเส้นทางของตัวจัดสรรภาระงานเพื่อเปิดใช้ตัวเลือกในการกำหนดกฎของโฮสต์และเส้นทางโดยใช้ Cloud Console ตารางด้านล่างแสดงค่าที่กำหนดเอง (ตามลำดับจากบนลงล่าง) ซึ่งอัปเดตตามสภาพแวดล้อมของคุณ
ค่าที่กำหนดเอง | ตัวอย่างตามบทแนะนำ | |
โฮสต์ | 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 | /<ชื่อของแอป Agentspace#1> | /drive-app |
pathRedirect | /<เส้นทาง URL ของ Agentspace ของแอป#1> | /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd |
hostRedirect | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
prefixMatch | /<ชื่อของแอป Agentspace#2> | /sharepoint-app |
pathRedirect | /<เส้นทาง URL ของ Agentspace ของแอป#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 → เลือกแก้ไข
เลือกกฎการกำหนดเส้นทาง → กฎของโฮสต์และเส้นทางขั้นสูง
เลือกเพิ่มกฎของโฮสต์และเส้นทาง
ตอนนี้คุณจะเห็นตัวเลือกในการสร้างกฎของโฮสต์และเส้นทางใหม่ ในส่วนโฮสต์ ให้แทรก 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
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
ภาพหน้าจอตัวอย่าง
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 ให้ทำดังนี้
ไปที่ 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
13. ขอแสดงความยินดี
ขอแสดงความยินดี คุณกำหนดค่าและตรวจสอบการเชื่อมต่อกับ Agentspace โดยใช้โดเมนที่กำหนดเองโดยใช้ External Application Load Balancer ที่มีการจัดการการรับส่งข้อมูลขั้นสูงเรียบร้อยแล้ว
คุณสร้างโครงสร้างพื้นฐานของตัวจัดสรรภาระงาน เรียนรู้วิธีสร้าง NEG อินเทอร์เน็ต, Cloud DNS และการจัดการการรับส่งข้อมูลขั้นสูงที่เปิดใช้การเปลี่ยนเส้นทางโฮสต์และเส้นทางที่อนุญาตให้เชื่อมต่อกับ Agentspace โดยใช้โดเมนที่กำหนดเอง
Cosmopup คิดว่า Codelab นั้นยอดเยี่ยม!!