Agentspace ไปยังฐานข้อมูลที่โฮสต์ด้วยตนเองของ Zonal NEG

1. บทนำ

ใน Codelab นี้ คุณจะทำให้ตัวจัดสรรภาระงานพร็อกซี TCP ภายในและกลุ่มปลายทางเครือข่ายระดับโซน (NEG) ใช้งานได้ ซึ่งเผยแพร่เป็นบริการผู้ผลิต PSC NEG จะประกอบด้วยอินสแตนซ์การคำนวณอย่างน้อย 1 รายการใน GCP ที่โฮสต์ฐานข้อมูลด้วยตนเอง เช่น JIRA, Confluence, Sharepoint

Private Service Connect เป็นความสามารถของเครือข่าย Google Cloud ที่ช่วยให้ผู้บริโภคเข้าถึงบริการที่มีการจัดการแบบส่วนตัวจากภายในเครือข่าย VPC ของตนเองได้ ในทำนองเดียวกัน ก็ยังช่วยให้ผู้ให้บริการที่มีการจัดการสามารถโฮสต์บริการเหล่านี้ใน VPC หรือเครือข่ายข้ามระบบคลาวด์ของตนเองได้ ซึ่งจะช่วยให้ผู้บริโภคเชื่อมต่อแบบส่วนตัวได้ ตัวอย่างเช่น เมื่อใช้ Private Service Connect เพื่อเข้าถึง NEG ระดับโซน คุณจะเป็นผู้ผลิตบริการ และ Google (Agentspace) จะเป็นผู้ใช้บริการ

สิ่งที่คุณจะได้เรียนรู้

  • ข้อกำหนดเกี่ยวกับเครือข่ายสำหรับ Agentspace
  • แนวทางปฏิบัติแนะนำในการสร้างเครือข่าย Agentspace
  • สร้างบริการของผู้ผลิต Private Service Connect

สิ่งที่คุณต้องมี

  • โปรเจ็กต์ Google Cloud ที่มีสิทธิ์เจ้าของ

2. สิ่งที่คุณจะสร้าง

คุณจะสร้างเครือข่ายผู้ผลิต agentspace-psc-demo เพื่อติดตั้งใช้งานตัวจัดสรรภาระงานพร็อกซี TCP ภายในและ NEG ระดับโซนที่เผยแพร่เป็นบริการผ่าน Private Service Connect (PSC)

3. ข้อกำหนดเกี่ยวกับเครือข่าย

ด้านล่างนี้คือรายละเอียดข้อกำหนดของเครือข่ายสำหรับเครือข่าย Producer ซึ่ง Consumer ใน Codelab นี้คือ Agentspace

คอมโพเนนต์

คำอธิบาย

VPC (agentspace-psc-demo)

VPC โหมดที่กำหนดเอง

ซับเน็ต NAT ของ PSC

ระบบจะแปลแพ็กเก็ตจากเครือข่าย VPC ของผู้บริโภคโดยใช้ Source NAT (SNAT) เพื่อแปลงที่อยู่ IP ต้นทางเดิมเป็นที่อยู่ IP ต้นทางจากซับเน็ต NAT ในเครือข่าย VPC ของผู้ผลิต PSC NAT รองรับซับเน็ต /29 ต่อ Service Attachment

ซับเน็ตของกฎการส่งต่อ PSC

ใช้เพื่อจัดสรรที่อยู่ IP สำหรับตัวจัดสรรภาระงานพร็อกซี TCP ภายในระดับภูมิภาค ระบบจะถือว่าซับเน็ตของกฎการส่งต่อเป็นซับเน็ตปกติ

ซับเน็ต NEG

ใช้เพื่อจัดสรรที่อยู่ IP สำหรับกลุ่มปลายทางเครือข่ายจากซับเน็ตปกติ

ซับเน็ตเฉพาะพร็อกซี

พร็อกซี ของตัวจัดสรรภาระงานแต่ละรายการจะได้รับที่อยู่ IP ภายใน แพ็กเก็ตที่ส่งจากพร็อกซีไปยัง VM แบ็กเอนด์หรือกลุ่มปลายทางของเครือข่ายจะมีที่อยู่ IP ต้นทางจากซับเน็ตพร็อกซีเท่านั้น แนะนำ ให้ใช้ซับเน็ต /23 แต่ระบบรองรับซับเน็ต /26 ซึ่งเป็นซับเน็ตขั้นต่ำ ต้องระบุซับเน็ตพร็อกซีระดับภูมิภาค 1 รายการต่อภูมิภาค

บริการแบ็กเอนด์

บริการแบ็กเอนด์ทำหน้าที่เป็นสะพานเชื่อมระหว่างตัวจัดสรรภาระงานกับทรัพยากรแบ็กเอนด์ ในบทแนะนำนี้ บริการแบ็กเอนด์จะเชื่อมโยงกับ NEG ระดับโซน

4. แนวทางปฏิบัติแนะนำ

  • NEG ระดับโซนรองรับอินสแตนซ์ GCE ระดับโซนอย่างน้อย 1 รายการตาม GCE_VM_IP_PORT
  • เปิดใช้การเข้าถึงส่วนกลางในกฎการส่งต่อของผู้ผลิตก่อนสร้างการเชื่อมต่อบริการ
  • เปิดใช้สิทธิ์เข้าถึงทั่วโลกเมื่อสร้างปลายทาง Agentspace
  • ตัวจัดสรรภาระงานพร็อกซี TCP ภายในยังรองรับกลุ่มอินสแตนซ์ที่มีการจัดการและไม่มีการจัดการด้วย
  • คุณสามารถเปิดเผยตัวจัดสรรภาระงานพร็อกซี TCP หรือตัวจัดสรรภาระงานแบบส่งผ่านที่มีอยู่ของ Google Cloud เป็นบริการของผู้ผลิตได้

5. โทโพโลยี Codelab

9a8a948b0a4ad91e.png

6. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมแบบเรียนรู้ด้วยตนเอง

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

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

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

เริ่มต้น Cloud Shell

แม้ว่าคุณจะใช้งาน Google Cloud จากระยะไกลในแล็ปท็อปได้ แต่ใน Codelab นี้คุณจะใช้ Google Cloud Shell ซึ่งเป็นสภาพแวดล้อมบรรทัดคำสั่งที่ทำงานในระบบคลาวด์

จาก คอนโซล Google Cloud ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 5 GB และทำงานบน Google Cloud ซึ่งช่วยเพิ่มประสิทธิภาพเครือข่ายและการตรวจสอบสิทธิ์ได้อย่างมาก คุณสามารถทำงานทั้งหมดใน Codelab นี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร

7. ก่อนเริ่มต้น

เปิดใช้ API

ใน Cloud Shell ให้ตรวจสอบว่าได้ตั้งค่ารหัสโปรเจ็กต์แล้ว

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone1a=[YOUR-ZONE1a]
zone1b=[YOUR-ZONE1b]
echo $project
echo $region
echo $zone1a
echo $zone1b

เปิดใช้บริการที่จำเป็นทั้งหมด

gcloud services enable compute.googleapis.com

8. สร้างเครือข่าย VPC ของผู้ผลิต

เครือข่าย VPC

ใน Cloud Shell ให้ทำดังนี้

gcloud compute networks create agentspace-psc-demo --subnet-mode custom

สร้างซับเน็ต

ซับเน็ต PSC จะเชื่อมโยงกับไฟล์แนบของบริการ PSC เพื่อวัตถุประสงค์ในการเปลี่ยนค่าที่อยู่เครือข่าย

สร้างซับเน็ต NAT ของ PSC ใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

สร้างเครือข่ายย่อยของกฎการส่งต่อ Producer ใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

สร้างเครือข่ายย่อยของกลุ่มปลายทางของเครือข่ายใน Cloud Shell โดยทำดังนี้

gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

สร้างซับเน็ตเฉพาะพร็อกซีระดับภูมิภาคของ Producer ภายใน Cloud Shell

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=agentspace-psc-demo \
  --range=10.10.10.0/24

สำรองที่อยู่ IP ของตัวจัดสรรภาระงาน

ใน Cloud Shell ให้จองที่อยู่ IP ภายในสำหรับตัวจัดสรรภาระงานโดยทำดังนี้

gcloud compute addresses create zonal-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

ดูที่อยู่ IP ที่สงวนไว้ภายใน Cloud Shell

gcloud compute addresses describe zonal-neg-lb-ip \
  --region=$region | grep -i address:

ตัวอย่างเอาต์พุต

gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2

ตั้งค่า Zonal NEG

ในส่วนต่อไปนี้ คุณจะสร้างกลุ่มปลายทางเครือข่ายระดับโซนที่มีที่อยู่ IP อย่างน้อย 1 รายการ หรือที่อยู่ IP และชุดค่าผสมพอร์ตปลายทาง

  • ที่อยู่ IPv4 ภายในหลักของอินเทอร์เฟซเครือข่าย VM
  • ที่อยู่ IPv4 ภายในหลักของอินเทอร์เฟซเครือข่าย VM พร้อมหมายเลขพอร์ตปลายทาง
  • ที่อยู่ IPv4 ภายในจากช่วงที่อยู่ IP แทนที่ที่กำหนดให้กับอินเทอร์เฟซเครือข่าย VM
  • ที่อยู่ IPv4 ภายในจากช่วงที่อยู่ IP แบบแทนที่ที่กำหนดให้กับอินเทอร์เฟซเครือข่าย VM และหมายเลขพอร์ตปลายทาง

อินเทอร์เฟซเครือข่ายที่มีปลายทาง GCE_VM_IP_PORT ต้องอยู่ในซับเน็ตของ NEG เมื่อคุณละเว้นหมายเลขพอร์ตจากปลายทาง GCE_VM_IP_PORT Google Cloud จะใช้หมายเลขพอร์ตเริ่มต้นของ NEG สำหรับปลายทาง

ในสถาปัตยกรรมอ้างอิง อินสแตนซ์ GCE ที่เชื่อมโยงกับ NEG ระดับโซนประกอบด้วยรายการต่อไปนี้

  • database-us-central1-a | us-central1-a | IP: 100.100.10.2 | พอร์ต: 443
  • database-us-central1-a | us-central1-b | IP: 100.100.10.3 | พอร์ต: 443
  • ชื่อซับเน็ต: database-subnet-1

สร้าง NEG ระดับโซนสำหรับ zone1a

ในส่วนต่อไปนี้ คุณจะสร้างกลุ่มปลายทางของเครือข่ายต่อโซน เช่น us-central1-a และระบุชื่อซับเน็ตที่ใช้สร้างอินสแตนซ์ GCE ในสถาปัตยกรรมอ้างอิง ชื่อซับเน็ตคือ database-subnet-1

สร้าง NEG ระดับโซนภายใน Cloud Shell โดยทำดังนี้

gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
    --zone=$zone1a \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

ภายใน Cloud Shell ให้อัปเดต NEG ระดับโซนด้วย IP:Port ของอินสแตนซ์ GCE ที่ติดตั้งใช้งานใน zone1a ในสถาปัตยกรรมอ้างอิง อินสแตนซ์ GCE คือ 100.100.10.2 พอร์ต 443 ที่ติดตั้งใช้งานในโซน us-central1-a

gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443

สร้าง Zonal NEG สำหรับ zone1b

ในส่วนต่อไปนี้ คุณจะสร้างกลุ่มปลายทางของเครือข่ายต่อโซน เช่น us-central1-b และระบุชื่อเครือข่ายย่อยที่ใช้สร้างอินสแตนซ์ GCE ในสถาปัตยกรรมอ้างอิง ชื่อซับเน็ตคือ database-subnet-1

สร้าง NEG ระดับโซนภายใน Cloud Shell โดยทำดังนี้

gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
    --zone=$zone1b \
    --network=agentspace-psc-demo \
    --subnet=database-subnet-1 \
    --default-port=443

ภายใน Cloud Shell ให้อัปเดต NEG ระดับโซนด้วย IP:Port ของอินสแตนซ์ GCE ที่ติดตั้งใช้งานในโซน 1b ในสถาปัตยกรรมอ้างอิง อินสแตนซ์ GCE คือ 100.100.10.3 พอร์ต 443 ที่ติดตั้งใช้งานในโซน us-central1-b

gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443

สร้างการตรวจสอบประสิทธิภาพการทำงานระดับภูมิภาค

สร้างการตรวจสอบประสิทธิภาพการทำงานที่ตรวจสอบพอร์ตฐานข้อมูลในองค์กร 443 ภายใน Cloud Shell โดยทำดังนี้

gcloud compute health-checks create tcp zonal-443-healthcheck \
    --region=$region \
    --port=443

สร้างนโยบายไฟร์วอลล์เครือข่ายและกฎไฟร์วอลล์

ใน Cloud Shell ให้ทำดังนี้

gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy

กฎไฟร์วอลล์ต่อไปนี้อนุญาตการรับส่งข้อมูลจากช่วงซับเน็ต NAT ของ PSC ไปยังอินสแตนซ์ทั้งหมดในเครือข่าย

ใน Cloud Shell ให้ทำดังนี้

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet to GCE" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

กฎไฟร์วอลล์ต่อไปนี้อนุญาตการรับส่งข้อมูลจากช่วงการตรวจสอบ ของ Health ไปยังอินสแตนซ์ทั้งหมดในเครือข่าย โปรดทราบว่าพอร์ตตรวจสอบประสิทธิภาพการทำงานและพอร์ตแอปพลิเคชันต้องตรงกัน

ใน Cloud Shell ให้ทำดังนี้

gcloud compute network-firewall-policies rules create 2002 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal probe health check range to GCE" --direction INGRESS --src-ip-ranges 35.191.0.0/16,130.211.0.0/22 --global-firewall-policy --layer4-configs=tcp:443

กฎไฟร์วอลล์ต่อไปนี้อนุญาตการรับส่งข้อมูลจากช่วงซับเน็ตเฉพาะพร็อกซี ไปยังอินสแตนซ์ทั้งหมดในเครือข่าย โปรดทราบว่าซับเน็ตพร็อกซีและพอร์ตแอปพลิเคชันต้องตรงกัน

ใน Cloud Shell ให้ทำดังนี้

gcloud compute network-firewall-policies rules create 2003 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal tcp proxy health check range to GCE" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp:443

9. สร้างบริการของผู้ผลิต

สร้างคอมโพเนนต์ของตัวจัดสรรภาระงาน

สร้างบริการแบ็กเอนด์ภายใน Cloud Shell โดยทำดังนี้

gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=zonal-443-healthcheck --health-checks-region=$region

ใน Cloud Shell ให้เชื่อมโยง NEG ระดับโซน us-central-zonal-neg-1a กับบริการแบ็กเอนด์โดยใช้คำสั่งต่อไปนี้

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1a  \
   --network-endpoint-group-zone=$zone1a \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

ภายใน Cloud Shell ให้เชื่อมโยง NEG ระดับโซน us-central-zonal-neg-1b กับบริการแบ็กเอนด์

gcloud compute backend-services add-backend producer-backend-svc \
   --network-endpoint-group=us-central-zonal-neg-1b  \
   --network-endpoint-group-zone=$zone1b \
   --balancing-mode=CONNECTION \
   --max-connections-per-endpoint=100 \
   --region=$region

ใน Cloud Shell ให้สร้างพร็อกซี TCP เป้าหมายเพื่อกำหนดเส้นทางการรับส่งข้อมูลไปยังบริการแบ็กเอนด์

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

ในไวยากรณ์ต่อไปนี้ ให้สร้างกฎการส่งต่อ (ตัวจัดสรรภาระงานพร็อกซี TCP ภายใน) โดยเปิดใช้การเข้าถึงส่วนกลาง

ใน Cloud Shell ให้ทำดังนี้

gcloud compute forwarding-rules create producer-zonal-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=zonal-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

ตรวจสอบความสมบูรณ์ของแบ็กเอนด์

ตรวจสอบสถานะ (สถานะสีเขียว) ของบริการแบ็กเอนด์และอินสแตนซ์การคำนวณที่เชื่อมโยงโดยใช้คอนโซลระบบคลาวด์ในส่วนต่อไปนี้ ไปที่ส่วนต่อไปนี้

บริการเครือข่าย → การจัดสรรภาระงาน → Producer-backend-svc

dbbc97dcef9db785.png

สร้าง Service Attachment

หากต้องการเผยแพร่บริการ คุณต้องสร้างไฟล์แนบบริการ Private Service Connect คุณสามารถเผยแพร่บริการโดยใช้การอนุมัติอัตโนมัติหรือการอนุมัติอย่างชัดแจ้งก็ได้

  • หากต้องการเผยแพร่บริการและอนุญาตให้ผู้บริโภคเชื่อมต่อกับบริการโดยอัตโนมัติ ให้ทำตามวิธีการที่หัวข้อเผยแพร่บริการพร้อมด้วยการอนุมัติโดยอัตโนมัติ
  • หากต้องการเผยแพร่บริการโดยมีการอนุมัติจากผู้บริโภคอย่างชัดเจน ให้เลือก "ยอมรับการเชื่อมต่อสำหรับโปรเจ็กต์ที่เลือก" ในการตั้งค่าการเชื่อมต่อ Service Attachment แล้วเว้นช่อง "โปรเจ็กต์ที่ยอมรับ" ว่างไว้
  • หลังจากสร้างการเชื่อมต่อบริการแล้ว จุดสิ้นสุดของผู้ใช้ที่ขอสิทธิ์เข้าถึงบริการของผู้ให้บริการจะเข้าสู่สถานะรอดำเนินการในตอนแรก หากต้องการให้สิทธิ์การเชื่อมต่อ โปรดิวเซอร์ต้องยอมรับโปรเจ็กต์ที่ปลายทางผู้บริโภคขอ

ใน Cloud Shell ให้สร้างการเชื่อมต่อบริการ cc-database1-svc-attachment โดยมีการอนุมัติอัตโนมัติ

gcloud compute service-attachments create zonal-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-zonal-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

จากนั้น ให้รับและจดบันทึก Service Attachment ที่แสดงใน URI ของ selfLink ซึ่งเริ่มต้นด้วยโปรเจ็กต์เพื่อกำหนดค่าปลายทาง PSC ใน Agentspace

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment

ใน Cloud Shell ให้ทำดังนี้

gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region

ตัวอย่างผลลัพธ์ที่คาดหวัง

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-12T16:00:22.429-07:00'
description: ''
enableProxyProtocol: false
fingerprint: zOpeRQnPWSc=
id: '1784245893044590569'
kind: compute#serviceAttachment
name: zonal-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '119824781489996776'
  low: '1784245893044590569'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/serviceAttachments/zonal-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/forwardingRules/producer-zonal-neg-fr

ใน Cloud Console ให้ไปที่

บริการเครือข่าย → Private Service Connect → บริการที่เผยแพร่

898fe7673474be14.png4d0b77966af14c7a.png

10. สร้างการเชื่อมต่อปลายทาง PSC ใน Agentspace

เชื่อมโยง URI ของไฟล์แนบบริการของผู้ผลิตกับ Agentspace โดยตรวจสอบว่าได้เลือกการเข้าถึงทั่วโลกแล้ว ด้านล่างนี้คือตัวอย่างการเปิดใช้การเข้าถึงส่วนกลางด้วยการแนบบริการสถาปัตยกรรมอ้างอิง

cb16ba8d7cfb86dd.png

หากต้องการตั้งค่าเครือข่ายส่วนตัวให้เสร็จสมบูรณ์ โปรดดูคำแนะนำเพิ่มเติมจากแหล่งข้อมูลของบุคคลที่สามของ Agentspace

ตรวจสอบความถูกต้องของปลายทาง PSC ใน Cloud Console

หากต้องการยืนยันว่าการเชื่อมต่อ PSC ระหว่าง Agentspace (ผู้บริโภค) กับผู้ให้บริการสำเร็จ ให้ยืนยันโปรเจ็กต์กลุ่มผู้ใช้ Agentspace ที่ลิงก์กับบริการของผู้ให้บริการ คุณจะดูข้อมูลนี้ได้ในส่วน "โปรเจ็กต์ที่เชื่อมต่อ" ระบบจะกำหนดรหัสโปรเจ็กต์ของกลุ่มผู้ใช้แบบสุ่ม แต่จะลงท้ายด้วย "tp" เสมอ

คุณสามารถตรวจสอบการเชื่อมต่อ PSC ได้จาก Cloud Console ใน Cloud Console ให้ไปที่

บริการเครือข่าย → Private Service Connect → บริการที่เผยแพร่ จากนั้นเลือกบริการ zonal-database1-svc-attachment

2f6b7830ce3db3b7.png

11. ล้างข้อมูล

ลบคอมโพเนนต์ของ Lab จากเทอร์มินัล Cloud Shell เดียว

gcloud compute service-attachments delete zonal-database1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-zonal-neg-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2002 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2003 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy  --name=agentspace-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1a --zone=$zone1a -q

gcloud compute network-endpoint-groups delete us-central-zonal-neg-1b --zone=$zone1b -q

gcloud compute addresses delete zonal-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q

gcloud compute networks subnets delete neg-subnet --region=$region -q

gcloud compute health-checks delete zonal-443-healthcheck --region=us-central1 -q

gcloud compute networks delete agentspace-psc-demo -q

12. ขอแสดงความยินดี

ขอแสดงความยินดี คุณตั้งค่าและเผยแพร่บริการ Producer ด้วย Private Service Connect เรียบร้อยแล้ว

คุณได้สร้างโครงสร้างพื้นฐานของผู้ผลิต เรียนรู้วิธีสร้าง NEG ระดับโซน บริการของผู้ผลิต และเชื่อมโยงไฟล์แนบบริการกับ Agentspace

Cosmopup คิดว่า Codelab ยอดเยี่ยมมาก!!

c911c127bffdee57.jpeg

สิ่งต่อไปที่ควรทำ

ลองใช้ Codelab เหล่านี้

อ่านเพิ่มเติมและวิดีโอ

เอกสารอ้างอิง