การควบคุมการเข้าถึงตามปลายทางของผู้ให้บริการ PSC

1. บทนำ

Private Service Connect

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

50b907b09af4d8ac.png

การควบคุมการเข้าถึงของผู้ผลิต Private Service Connect

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

ไม่ว่าจะเป็นค่ากำหนดการเชื่อมต่อแบบใด นโยบายขององค์กร (compute.restrictPrivateServiceConnectConsumer) ที่บล็อกการเชื่อมต่อขาเข้าจะลบล้างและปฏิเสธการเชื่อมต่อที่ยอมรับได้

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

การควบคุมการเข้าถึงตามอุปกรณ์ปลายทาง

การควบคุมการเข้าถึงตามปลายทาง PSC คือความสามารถของผู้ผลิตในการให้สิทธิ์ผู้ใช้ผ่านปลายทาง PSC แต่ละรายการในนโยบายการแนบบริการ

วิธีนี้ซึ่งเราขอแนะนำสำหรับบริการแบบหลายผู้เช่าจะช่วยให้คุณควบคุมการเชื่อมต่อได้อย่างละเอียดที่สุด

Codelab นี้มุ่งเน้นการเรียนรู้วิธีกำหนดค่าฟีเจอร์นี้

โปรดทราบว่าวิธีนี้ใช้ไม่ได้กับแบ็กเอนด์ Private Service Connect

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

  • ในฐานะผู้ให้บริการ คุณจะเผยแพร่บริการโดยใช้ PSC ได้อย่างไร
  • ในฐานะผู้ให้บริการ วิธีสร้างการควบคุมการเข้าถึงตามปลายทาง PSC
  • วิธีเข้าถึงบริการ PSC ในฐานะผู้บริโภค

3. สถาปัตยกรรมโดยรวมของ Lab

3d7cbafaffb50d2d.png

4. ขั้นตอนการเตรียม

บทบาท IAM ที่จำเป็นต่อการทำงานในแล็บ

คุณเริ่มต้นด้วยการกำหนดบทบาท IAM ที่จำเป็นให้กับบัญชี GCP ที่ระดับโปรเจ็กต์

  • ผู้ดูแลระบบเครือข่าย Compute (roles/compute.networkAdmin) บทบาทนี้ช่วยให้คุณควบคุมทรัพยากรเครือข่ายของ Compute Engine ได้อย่างเต็มที่
  • ผู้ดูแลระบบการบันทึก (roles/logging.admin) บทบาทนี้ให้สิทธิ์เข้าถึงสิทธิ์การบันทึกทั้งหมดและสิทธิ์ที่เกี่ยวข้อง
  • ผู้ดูแลการใช้บริการ (roles/serviceusage.serviceUsageAdmin) บทบาทนี้ช่วยให้คุณเปิดใช้ ปิดใช้ และตรวจสอบสถานะของบริการ ตรวจสอบการดำเนินงาน รวมถึงใช้โควต้าและการเรียกเก็บเงินสำหรับโปรเจ็กต์ของผู้บริโภคได้
  • ผู้ดูแลระบบอินสแตนซ์ Compute (roles/compute.instanceAdmin.v1) บทบาทนี้ช่วยให้คุณควบคุมอินสแตนซ์ Compute Engine, กลุ่มอินสแตนซ์, ดิสก์, สแนปชอต และอิมเมจได้อย่างเต็มที่ สิทธิ์การอ่านทรัพยากรระบบเครือข่ายของ Compute Engine ทั้งหมด
  • ผู้ดูแลระบบความปลอดภัยของ Compute (roles/compute.securityAdmin) บทบาทนี้ให้สิทธิ์ในการสร้าง แก้ไข และลบกฎไฟร์วอลล์และใบรับรอง SSL รวมถึงกำหนดค่าการตั้งค่า VM ที่มีการป้องกัน

เปิดใช้ API

ใน Cloud Shell ให้ตรวจสอบว่าได้กำหนดค่าโปรเจ็กต์อย่างถูกต้องและตั้งค่าตัวแปรสภาพแวดล้อมแล้ว

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

gcloud auth login
gcloud config set project <your project id>
export project_id=$(gcloud config get-value project)
export region=us-central1
export zone=$region-a
echo $project_id
echo $region
echo $zone

เปิดใช้ Google API ที่จำเป็นทั้งหมดในโปรเจ็กต์ ใน Cloud Shell ให้ทำดังนี้

gcloud services enable \
  compute.googleapis.com 
  

สร้าง VPC ของผู้ผลิต

สร้างเครือข่าย VPC ที่มีโหมดซับเน็ตที่กำหนดเองในโปรเจ็กต์ ทำสิ่งต่อไปนี้ใน Cloud Shell

gcloud compute networks create producer-net \
    --subnet-mode=custom

สร้างซับเน็ตใน VPC ของผู้ผลิต

คุณจะต้องมีซับเน็ต 3 รายการ ได้แก่ producer-subnet สำหรับบริการของคุณ, proxy-only-subnet สำหรับตัวจัดสรรภาระงาน เพื่อเผยแพร่บริการ และ psc-subnet สำหรับ PSC เพื่อเผยแพร่บริการ

ใน Cloud Shell ให้ทำดังนี้เพื่อสร้างซับเน็ต IPv4

gcloud compute networks subnets create producer-subnet \
    --network=producer-net \
    --range=10.10.0.0/24 \
    --region=$region
gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=$region \
    --network=producer-net \
    --range=10.30.0.0/24
gcloud compute networks subnets create psc-subnet \
    --network=producer-net \
    --region=$region \
    --range=192.168.0.0/16 \
    --purpose=PRIVATE_SERVICE_CONNECT

สร้าง Cloud NAT และ Cloud Router สำหรับ VPC ของผู้ผลิต

ใช้ Cloud NAT เพื่ออนุญาตให้ VM ดาวน์โหลดและติดตั้งแอปพลิเคชัน

gcloud compute routers create $region-cr \
   --network=producer-net \
   --region=$region
gcloud compute routers nats create $region-nat \
    --router=$region-cr \
    --region=$region \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

สร้าง VPC ของผู้ใช้บริการ

สร้างเครือข่าย VPC ที่มีโหมดซับเน็ตที่กำหนดเองในโปรเจ็กต์ ทำสิ่งต่อไปนี้ใน Cloud Shell

gcloud compute networks create consumer-net \
    --subnet-mode=custom

สร้างซับเน็ตใน VPC ของผู้ใช้

ใน Cloud Shell ให้ทำดังนี้เพื่อสร้างเครือข่ายย่อย IPv4

gcloud compute networks subnets create consumer-subnet \
    --network=consumer-net \
    --range=10.20.0.0/24 \
    --region=$region

สร้างนโยบายไฟร์วอลล์ส่วนกลางสำหรับ VPC ของผู้ผลิตและ VPC ของผู้บริโภค

คุณจะสร้างนโยบายไฟร์วอลล์เครือข่ายส่วนกลางและเชื่อมโยงกับ VPC ของผู้ผลิตและ VPC ของผู้บริโภค

gcloud compute network-firewall-policies create global-fw-policy \
--global
gcloud compute network-firewall-policies associations create \
    --firewall-policy=global-fw-policy \
    --name=producer-fw-policy \
    --network=producer-net \
    --global-firewall-policy 
gcloud compute network-firewall-policies associations create \
    --firewall-policy=global-fw-policy \
    --name=consumer-fw-policy \
    --network=consumer-net \
    --global-firewall-policy 

อนุญาต SSH

หากต้องการอนุญาตให้ Identity-Aware Proxy (IAP) เชื่อมต่อกับอินสแตนซ์ VM ให้สร้างกฎไฟร์วอลล์ที่มีลักษณะดังนี้

  • มีผลกับอินสแตนซ์ VM ทั้งหมดที่คุณต้องการให้เข้าถึงได้โดยใช้ IAP
  • อนุญาตการรับส่งข้อมูลขาเข้าจากช่วง IP 35.235.240.0/20 ช่วงนี้มีที่อยู่ IP ทั้งหมดที่ IAP ใช้สำหรับการส่งต่อ TCP
gcloud compute network-firewall-policies rules create 100 \
    --action=ALLOW \
    --firewall-policy=global-fw-policy \
    --description="producer-allow-iap" \
    --direction=INGRESS \
    --src-ip-ranges=35.235.240.0/20 \
    --layer4-configs=tcp:22  \
    --global-firewall-policy

เพิ่มกฎไฟร์วอลล์ขาเข้าไปยังบริการ

คุณจะใช้ Regional Internal Application Load Balancer เพื่อเผยแพร่บริการ กฎไฟร์วอลล์ขาเข้า y ต้องอนุญาตให้พร็อกซีเท่านั้นที่ซับเน็ตเข้าถึงบริการได้ ดูข้อมูลโดยละเอียดได้ในเอกสารนี้

gcloud compute network-firewall-policies rules create 200 \
    --action=ALLOW \
    --firewall-policy=global-fw-policy \
    --description="producer-allow-access-service" \
    --direction=INGRESS \
    --src-ip-ranges=10.30.0.0/24 \
    --layer4-configs=tcp:80  \
    --global-firewall-policy

อนุญาตให้การตรวจสอบประสิทธิภาพการทำงานของตัวจัดสรรภาระงานเข้าถึงบริการ

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

gcloud compute network-firewall-policies rules create 300 \
    --action=ALLOW \
    --firewall-policy=global-fw-policy \
    --description="producer-allow-health-check" \
    --direction=INGRESS \
    --src-ip-ranges=35.191.0.0/16,130.211.0.0/22\
    --layer4-configs=tcp:80  \
    --global-firewall-policy

สร้าง VM เป็นไคลเอ็นต์ HTTP ใน VPC ของผู้ใช้

ใน Cloud Shell ให้ทำดังนี้เพื่อสร้างอินสแตนซ์ VM เป็นไคลเอ็นต์ทดสอบ

gcloud compute instances create myclient \
    --zone=$zone \
    --subnet=consumer-subnet \
    --shielded-secure-boot \
    --no-address

สร้าง VM เป็นเซิร์ฟเวอร์ http ใน VPC ของผู้ผลิต

ใน Cloud Shell ให้ทำดังนี้เพื่อสร้างอินสแตนซ์ VM เป็นเซิร์ฟเวอร์ HTTP

gcloud compute instances create myserver \
    --subnet=producer-subnet \
    --zone=$zone \
    --no-address \
    --shielded-secure-boot \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a Http Server." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

5. ผู้ผลิตเผยแพร่บริการ PSC

สร้างตัวจัดสรรภาระงานแอปพลิเคชันภายในระดับภูมิภาค

คุณจะสร้าง Internal Application Load Balancer ระดับภูมิภาคเป็นฟรอนท์เอนด์ของบริการ และแบ็กเอนด์คือกลุ่มอินสแตนซ์ที่ไม่มีการจัดการซึ่งมีปลายทางเป็นเซิร์ฟเวอร์ http ที่เราสร้างไว้ก่อนหน้านี้

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

gcloud compute addresses create l7-ilb-ip-address \
    --region=$region \
    --subnet=producer-subnet

สร้างกลุ่มอินสแตนซ์

คุณจะสร้างกลุ่มอินสแตนซ์ที่ไม่มีการจัดการและเพิ่มอินสแตนซ์ VM ชื่อ myserver ลงในกลุ่มอินสแตนซ์

gcloud compute instance-groups unmanaged create my-service-ig \
    --zone=$zone
gcloud compute instance-groups unmanaged add-instances my-service-ig \
    --zone=$zone \
    --instances=myserver

สร้างการตรวจสอบประสิทธิภาพการทำงานของ HTTP

gcloud compute health-checks create http l7-ilb-basic-check \
     --region=$region \
     --use-serving-port

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

gcloud compute backend-services create l7-ilb-backend-service \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=HTTP \
    --health-checks=l7-ilb-basic-check \
    --health-checks-region=$region \
    --region=$region

เพิ่มแบ็กเอนด์ลงในบริการแบ็กเอนด์

gcloud compute backend-services add-backend l7-ilb-backend-service \
    --balancing-mode=UTILIZATION \
    --instance-group=my-service-ig \
    --instance-group-zone=$zone \
    --region=$region

สร้างแผนที่ URL

gcloud compute url-maps create l7-ilb-map \
    --default-service=l7-ilb-backend-service \
    --region=$region

สร้างพร็อกซีเป้าหมาย

gcloud compute target-http-proxies create l7-ilb-proxy \
    --url-map=l7-ilb-map \
    --url-map-region=$region \
    --region=$region

สร้างกฎการส่งต่อ

gcloud compute forwarding-rules create l7-ilb-forwarding-rule \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=producer-net \
    --subnet=producer-subnet \
    --address=l7-ilb-ip-address \
    --ports=80 \
    --region=$region \
    --target-http-proxy=l7-ilb-proxy \
    --target-http-proxy-region=$region

ผู้ผลิต PSC เผยแพร่บริการ

คุณจะใช้ PSC เพื่อเผยแพร่บริการที่มี connection-preference=ACCEPT_MANUAL และรายการผู้ใช้ที่ว่างเปล่า

gcloud compute service-attachments create my-psc-service \
    --region=$region \
 --target-service=projects/$project_id/regions/$region/forwardingRules/l7-ilb-forwarding-rule \
    --connection-preference=ACCEPT_MANUAL \
    --nat-subnets=psc-subnet
export myserver_service_attachment=$(gcloud compute service-attachments describe my-psc-service --region=$region --format="value(selfLink.scope(v1))")

echo $myserver_service_attachment

6. ผู้บริโภคสร้างปลายทาง PSC

จอง IP สำหรับปลายทาง PSC

gcloud compute addresses create myserver-psc-endpoint-ip \
    --region=$region \
    --subnet=consumer-subnet \
    --ip-version=IPV4

สร้างปลายทาง PSC

สร้างปลายทาง PSC และรับ IP ของปลายทาง PSC เพื่อทดสอบในขั้นตอนถัดไป

gcloud compute forwarding-rules create myserver-psc-endpoint \
    --region=$region \
    --network=consumer-net \
    --address=myserver-psc-endpoint-ip \
    --target-service-attachment=$myserver_service_attachment
psc_endpoint_ip=$(gcloud compute forwarding-rules describe myserver-psc-endpoint \
    --region=$region --format="value(IPAddress)")

echo $psc_endpoint_ip

ผู้บริโภคตรวจสอบสถานะของอุปกรณ์ปลายทาง PSC

ก่อนที่ผู้ผลิตจะเพิ่มปลายทาง PSC ในรายการผู้บริโภค การเชื่อมต่อจะปรากฏในปลายทางที่เชื่อมต่อที่ฝั่งผู้บริโภคโดยมีสถานะเป็นรอดำเนินการ

gcloud compute forwarding-rules describe myserver-psc-endpoint \
    --region=$region

คุณจะเห็นผลลัพธ์ที่คล้ายกับด้านล่าง

IPAddress: 10.20.0.3
allowPscGlobalAccess: false
creationTimestamp: '2026-02-23T16:27:27.920-08:00'
fingerprint: yh_UiYqjHCc=
id: '934193159895862912'
kind: compute#forwardingRule
labelFingerprint: 42WmSpB8rSM=
name: myserver-psc-endpoint
network: https://www.googleapis.com/compute/v1/projects/<project_id>/global/networks/consumer-net
networkTier: PREMIUM
pscConnectionId: '160443618817212419'
pscConnectionStatus: PENDING
region: https://www.googleapis.com/compute/v1/projects/<project_id>/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/<project_id>/regions/us-central1/forwardingRules/myserver-psc-endpoint
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/<project_id>/regions/us-central1/forwardingRules/934193159895862912
serviceDirectoryRegistrations:
- namespace: goog-psc-default
target: https://www.googleapis.com/compute/v1/projects/<project_id>/regions/us-central1/serviceAttachments/my-psc-service

7. ทดสอบการเข้าถึงจาก VM ของผู้ใช้ไปยัง VM ของผู้ให้บริการ

ตรวจสอบ IP ของปลายทาง PSC

echo $psc_endpoint_ip

SSH ไปยัง VM ที่ชื่อ myclient และทดสอบว่าเข้าถึง myserver ที่พอร์ต 80 ของ HTTP ได้หรือไม่

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

gcloud compute ssh \
    --zone=$zone "myclient" \
    --tunnel-through-iap 

ใช้ curl เพื่อเข้าถึงปลายทาง PSC ที่คุณสร้างขึ้น

curl -m 10 <psc_endpoint_ip> 

คุณจะเห็นว่าคำสั่ง curl หมดเวลา ไคลเอ็นต์ทดสอบจาก VPC ของผู้บริโภคไม่สามารถเข้าถึงเซิร์ฟเวอร์ HTTP ใน VPC ของผู้ผลิตได้

curl: (28) Connection timed out after 10001 milliseconds

กลับไปที่ Cloud Shell โดยออกจากเซสชัน SSH

exit

8. ผู้ผลิตอนุมัติปลายทาง PSC

ผู้ผลิตตรวจสอบสถานะปลายทาง PSC

ก่อนที่ผู้ผลิตจะเพิ่มปลายทาง PSC ในรายการผู้ใช้ การเชื่อมต่อจะปรากฏใน Service Attachment โดยมีสถานะเป็นรอดำเนินการ

gcloud compute service-attachments describe my-psc-service --region=$region 

คุณจะเห็นผลลัพธ์ที่คล้ายกับด้านล่าง

connectedEndpoints:
- consumerNetwork: https://www.googleapis.com/compute/projects/<project_id>/global/networks/consumer-net
  endpoint: https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/forwardingRules/myserver-psc-endpoint
  endpointWithId: https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/forwardingRules/934193159895862912
  pscConnectionId: '160443618817212419'
  status: PENDING
connectionPreference: ACCEPT_MANUAL
creationTimestamp: '2026-02-23T13:27:33.886-08:00'
description: ''
enableProxyProtocol: false
fingerprint: -9EI8FCALrA=
id: '2578692595155826858'
kind: compute#serviceAttachment
name: my-psc-service
natSubnets:
- https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/subnetworks/psc-subnet
pscServiceAttachmentId:
  high: '149466704441770984'
  low: '2578692595155826858'
reconcileConnections: false
region: https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1
selfLink: https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/serviceAttachments/my-psc-service
targetService: https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/forwardingRules/l7-ilb-forwarding-rule

รับ URI ที่อิงตามรหัสของปลายทาง PSC

URI ตามรหัสของปลายทาง PSC คือรหัสของกฎการส่งต่อที่ผู้ใช้เพิ่งสร้าง ในตัวอย่างข้างต้น "endpointWithId" คือ URI ของปลายทาง PSC ที่ผู้ใช้สร้างขึ้น คุณจะต้องใช้ URI นี้เพื่อให้ผู้ผลิตสร้างการควบคุมการเข้าถึงตามปลายทาง

( โปรดทราบว่ารหัสการเชื่อมต่อ PSC ไม่ใช่รหัสที่เรากำลังมองหา )

export psc_endpoint_uri=$(gcloud compute service-attachments describe my-psc-service --region=$region --format="value(connectedEndpoints.endpointWithId)")

echo $psc_endpoint_uri

เพิ่ม URI ตามรหัสปลายทาง PSC ในรายการที่ยอมรับของผู้ใช้

gcloud compute service-attachments update my-psc-service \
    --region=$region \
    --consumer-accept-list=$psc_endpoint_uri

ผู้ผลิตตรวจสอบสถานะปลายทาง PSC

gcloud compute service-attachments describe my-psc-service --region=$region --format="value(connectedEndpoints)"

คุณจะเห็นผลลัพธ์ที่คล้ายกับด้านล่าง สถานะเปลี่ยนเป็น "ยอมรับแล้ว"

{'consumerNetwork': 'https://www.googleapis.com/compute/projects/<project_id>/global/networks/consumer-net', 'endpoint': 'https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/forwardingRules/myserver-psc-endpoint', 'endpointWithId': 'https://www.googleapis.com/compute/projects/<project_id>/regions/us-central1/forwardingRules/47564871796017232', 'pscConnectionId': '54547416268144643', 'status': 'ACCEPTED'}

9. ทดสอบการเข้าถึงจาก VM ของผู้ใช้ไปยัง VM ของผู้ให้บริการ

ตรวจสอบ IP ของปลายทาง PSC

echo $psc_endpoint_ip

SSH ไปยัง VM ที่ชื่อ myclient และทดสอบว่าเข้าถึง myserver ที่พอร์ต 80 ของ HTTP ได้หรือไม่

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

gcloud compute ssh \
    --zone=$zone "myclient" \
    --tunnel-through-iap 

ใช้ curl เพื่อเข้าถึงปลายทาง PSC ที่คุณสร้างขึ้น

curl <psc_endpoint_ip>

คุณจะเห็นว่าคำสั่ง curl แสดงการตอบกลับจาก myserver สำเร็จ ไคลเอ็นต์ทดสอบจาก VPC ของผู้บริโภคได้เข้าถึงเซิร์ฟเวอร์ HTTP ใน VPC ของผู้ผลิตแล้ว

I am a Http Server.

กลับไปที่ Cloud Shell โดยออกจากเซสชัน SSH

exit

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

ล้างข้อมูลใน VM

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

gcloud compute instances delete myserver --zone $zone --quiet
gcloud compute instances delete myclient --zone $zone --quiet

ล้างข้อมูลคอมโพเนนต์ของผู้บริโภค PSC

gcloud compute forwarding-rules delete myserver-psc-endpoint \
    --region=$region --quiet
gcloud compute addresses delete myserver-psc-endpoint-ip \
    --region=$region --quiet

ล้างข้อมูลคอมโพเนนต์ของโปรดิวเซอร์ PSC

gcloud compute service-attachments delete my-psc-service \
    --region=$region --quiet
gcloud compute forwarding-rules delete l7-ilb-forwarding-rule \
    --region=$region --quiet
gcloud compute target-http-proxies delete l7-ilb-proxy \
    --region=$region --quiet
gcloud compute url-maps delete l7-ilb-map \
    --region=$region --quiet
gcloud compute backend-services remove-backend l7-ilb-backend-service \
    --instance-group=my-service-ig \
    --instance-group-zone=$zone \
    --region=$region --quiet
gcloud compute backend-services delete l7-ilb-backend-service \
    --region=$region --quiet
gcloud compute health-checks delete l7-ilb-basic-check \
     --region=$region --quiet
gcloud compute instance-groups unmanaged delete my-service-ig \
    --zone=$zone --quiet
gcloud compute addresses delete l7-ilb-ip-address \
    --region=$region --quiet

ล้างข้อมูลไฟร์วอลล์, Cloud NAT, Cloud Router และ VPC

gcloud compute network-firewall-policies rules delete 100 \
    --firewall-policy=global-fw-policy \
    --global-firewall-policy --quiet
gcloud compute network-firewall-policies rules delete 200 \
    --firewall-policy=global-fw-policy \
    --global-firewall-policy --quiet
gcloud compute network-firewall-policies rules delete 300 \
    --firewall-policy=global-fw-policy \
    --global-firewall-policy --quiet
gcloud compute network-firewall-policies associations delete \
    --firewall-policy=global-fw-policy \
    --name=producer-fw-policy \
    --global-firewall-policy --quiet
gcloud compute network-firewall-policies associations delete \
    --firewall-policy=global-fw-policy \
    --name=consumer-fw-policy \
    --global-firewall-policy --quiet
gcloud compute network-firewall-policies delete global-fw-policy \
    --global --quiet
gcloud compute routers nats delete $region-nat \
    --router=$region-cr \
    --region=$region --quiet
gcloud compute routers delete $region-cr \
    --region=$region --quiet
gcloud compute networks subnets delete producer-subnet \
    --region=$region --quiet
gcloud compute networks subnets delete proxy-only-subnet \
    --region=$region --quiet
gcloud compute networks subnets delete psc-subnet \
    --region=$region --quiet
gcloud compute networks delete producer-net --quiet
gcloud compute networks subnets delete consumer-subnet \
    --region=$region --quiet
gcloud compute networks delete consumer-net --quiet

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

คุณได้ทดสอบการควบคุมการเข้าถึงตามปลายทางของผู้ผลิต Private Service Connect เรียบร้อยแล้ว