การแมปพอร์ต Private Service Connect สำหรับผู้ผลิตบริการ

1. บทนำ

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

ตอนนี้ Private Service Connect สามารถกำหนดเป้าหมายปลายทางที่ถูกต้องได้โดยตรงโดยใช้การแมปพอร์ต ในแล็บนี้ คุณจะได้เรียนรู้เกี่ยวกับกรณีการใช้งานที่ต้องใช้ฟีเจอร์นี้ และวิธีติดตั้งใช้งาน NEG การแมปพอร์ตในเวิร์กโหลด Private Service Connect

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

  • กรณีการใช้งานการแมปพอร์ต Private Service Connect
  • ประโยชน์หลักของการแมปพอร์ต PSC
  • ข้อกำหนดเกี่ยวกับเครือข่าย
  • สร้างบริการของผู้ผลิต Private Service Connect โดยใช้การแมปพอร์ต
  • สร้างปลายทาง Private Service Connect
  • โทรผ่านอุปกรณ์ปลายทาง Private Service Connect ไปยังบริการของผู้ผลิต

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

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

2. กรณีการใช้งานการแมปพอร์ต Private Service Connect

ฟีเจอร์การแมปพอร์ตใช้ NEG (กลุ่มอุปกรณ์ปลายทางของเครือข่าย) การแมปพอร์ตที่เฉพาะเจาะจงสำหรับกรณีการใช้งาน PSC

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

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

ประโยชน์หลักของการแมปพอร์ต PSC

  • ง่าย: ผู้ให้บริการจะติดตั้งใช้งานคอมโพเนนต์ PSC ที่มีการแมปพอร์ต และผู้ใช้จะติดตั้งใช้งานปลายทาง PSC PSC จะจัดการการแปลที่อยู่เครือข่ายโดยอัตโนมัติ
  • คุ้มค่า: ไม่ต้องใช้ทรัพยากร PSC เพิ่มเติมหรือรอบ CPU ของ VM โปรดิวเซอร์ โดยราคาจะเหมือนกับการติดตั้งใช้งาน PSC ประเภทอื่นๆ
  • ประสิทธิภาพสูง: การแมปพอร์ตมีอัตราการรับส่งที่ระดับบรรทัดและเวลาในการตอบสนองต่ำเช่นเดียวกับโหมด PSC อื่นๆ
  • ปรับขนาดได้และมีประสิทธิภาพด้าน IP: ที่อยู่ IP หนึ่งรายการจาก VPC ของผู้บริโภคสามารถเข้าถึง VM ของผู้ผลิตได้สูงสุด 1,000 รายการและการแมปพอร์ต 1,000 รายการ

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

  • การแมปพอร์ตต้องใช้ตัวจัดสรรภาระงานแบบส่งผ่านเครือข่ายภายในเป็นตัวจัดสรรภาระงานของผู้ผลิต
  • ใช้ได้เฉพาะปลายทาง PSC กับการแมปพอร์ต (ไม่ใช่แบ็กเอนด์ PSC หรืออินเทอร์เฟซ PSC)
  • NEG การแมปพอร์ตเป็นโครงสร้างระดับภูมิภาค
  • NEG การแมปพอร์ตใช้ได้เฉพาะในการเชื่อมต่อ PSC เท่านั้น แต่จะใช้ไม่ได้หาก VM ไคลเอ็นต์เรียกกฎการส่งต่อของตัวจัดสรรภาระงานของ Producer โดยตรง ซึ่งจะเห็นได้จากวิธีทดสอบบริการผู้ผลิตในโค้ดแล็บนี้
  • ปลายทาง PSC และสแต็กบริการของผู้ผลิตต้องอยู่ใน VPC ที่แตกต่างกัน

4. โทโพโลยี Codelab

ad37cfc003475b7c.png

ใน VPC ของผู้ผลิต ระบบจะสร้าง VM 2 รายการซึ่งจะเรียกใช้เว็บเซิร์ฟเวอร์ 2 รายการ โดยรายการหนึ่งจะทำงานบนพอร์ต 1000 และอีกรายการหนึ่งจะทำงานบนพอร์ต 2000 เราจะทดสอบแต่ละบริการก่อนตั้งค่า NEG ของ Portmap, Internal Network Passthrough Load Balancer และ Service Attachment

ใน VPC ของผู้ใช้ เราจะตั้งค่าปลายทาง PSC และทดสอบการเชื่อมต่อกับบริการของผู้ให้บริการจาก VM ไคลเอ็นต์

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.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 Console ให้คลิกไอคอน Cloud Shell ในแถบเครื่องมือด้านขวาบน

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

เครื่องเสมือนนี้มาพร้อมเครื่องมือพัฒนาซอฟต์แวร์ทั้งหมดที่คุณต้องการ โดยมีไดเรกทอรีหลักแบบถาวรขนาด 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=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

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

gcloud services enable compute.googleapis.com

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

เครือข่าย VPC

จาก Cloud Shell

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

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

จาก Cloud Shell

gcloud compute networks subnets create producer-service-subnet --network producer-vpc --range 10.0.0.0/24 --region $region --enable-private-ip-google-access

gcloud compute networks subnets create psc-nat-subnet --network producer-vpc --range 10.100.100.0/24 --region $region --purpose=PRIVATE_SERVICE_CONNECT

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

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

จาก Cloud Shell

gcloud compute network-firewall-policies create producer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy producer-vpc-policy --network producer-vpc --name network-producer-vpc --global-firewall-policy

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

  • มีผลกับอินสแตนซ์ VM ทั้งหมดที่คุณต้องการให้เข้าถึงได้โดยใช้ IAP
  • อนุญาตการรับส่งข้อมูลขาเข้าจากช่วง IP 35.235.240.0/20 ช่วงนี้มีที่อยู่ IP ทั้งหมดที่ IAP ใช้สำหรับการส่งต่อ TCP

จาก Cloud Shell

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy producer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

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

จาก Cloud Shell

gcloud compute network-firewall-policies rules create 2000 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 10.100.100.0/24 --layer4-configs tcp:1000-2000 --global-firewall-policy

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

จาก Cloud Shell

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic within the service subnet" --direction INGRESS --src-ip-ranges 10.0.0.0/24 --layer4-configs tcp:1000-2000 --global-firewall-policy

สร้างและกำหนดค่า VM ของผู้ผลิต

สร้าง VM

จาก Cloud Shell

gcloud compute instances create portmap-vm1 --zone=$zone --subnet=producer-service-subnet --no-address

gcloud compute instances create portmap-vm2 --zone=$zone --subnet=producer-service-subnet --no-address

gcloud compute instances create test-client-vm --zone=$zone --subnet=producer-service-subnet --no-address

ในส่วนต่อไปนี้ ให้เริ่มเซิร์ฟเวอร์ http บนพอร์ต 1000 และ 2000 ใน VM ของ Producer แต่ละรายการ

กำหนดค่า VM

จาก Cloud Shell

gcloud compute ssh --zone $zone "portmap-vm1" --tunnel-through-iap --project $project

ใน Cloud Shell จากเซสชัน portmap-vm1

mkdir 1000
cd 1000
echo "portmap-vm1 1000">index.html
sudo python3 -m http.server 1000 &
cd ..
mkdir 2000
cd 2000
echo "portmap-vm1 2000">index.html
sudo python3 -m http.server 2000 &

เปิดหน้าต่าง Cloud Shell ใหม่

เริ่มต้นด้วยการรีเซ็ตตัวแปร ใน Cloud Shell

project=[YOUR-PROJECT-ID]
region=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

gcloud compute ssh --zone $zone "portmap-vm2" --tunnel-through-iap --project $project

ใน Cloud Shell จากเซสชัน portmap-vm2

mkdir 1000
cd 1000
echo "portmap-vm2 1000">index.html
sudo python3 -m http.server 1000 &
cd ..
mkdir 2000
cd 2000
echo "portmap-vm2 2000">index.html
sudo python3 -m http.server 2000 &

8. Test Producer Service

ก่อนอื่น เราต้องขอที่อยู่ IP ของอินสแตนซ์ portmap จดที่อยู่ IP ทั้ง 2 รายการนี้

เปิดหน้าต่าง Cloud Shell ใหม่

เริ่มต้นด้วยการรีเซ็ตตัวแปร ใน Cloud Shell

project=[YOUR-PROJECT-ID]
region=us-central1
zone=us-central1-a
echo $project
echo $region
echo $zone

gcloud compute instances describe portmap-vm1 \
  --format='get(networkInterfaces[0].networkIP)' --zone $zone

gcloud compute instances describe portmap-vm2\
  --format='get(networkInterfaces[0].networkIP)' --zone $zone

เข้าสู่ระบบอินสแตนซ์ทดสอบ ใน Cloud Shell

gcloud compute ssh --zone $zone "test-client-vm" --tunnel-through-iap --project $project

curl [portmap-vm1 IP]:1000

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

portmap-vm1 1000

ใน Cloud Shell

curl [portmap-vm1 IP]:2000

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

portmap-vm1 2000

ใน Cloud Shell

curl [portmap-vm2 IP]:1000

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

portmap-vm2 1000

ใน Cloud Shell

curl [portmap-vm2 IP]:2000

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

portmap-vm2 2000

ออกจาก test-client-vm

9. สร้างบริการ Producer ด้วย NEG ของ Portmap

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

จาก Cloud Shell

gcloud compute network-endpoint-groups create portmap-neg --region=$region --network=producer-vpc --subnet=producer-service-subnet --network-endpoint-type=GCE_VM_IP_PORTMAP

เพิ่มปลายทางไปยัง NEG ของ Portmap เพื่อสร้างการแมประหว่างพอร์ตไคลเอ็นต์กับพอร์ตผู้ผลิต ผู้ผลิตเป็นผู้สร้างการแมปนี้และจะมีวิธีของตนเองในการสื่อสารข้อมูลนี้กับผู้บริโภค ระบบจะไม่แชร์การแมปพอร์ตที่เฉพาะเจาะจงผ่าน PSC

ใน Cloud Shell

gcloud compute network-endpoint-groups update portmap-neg --region=$region --add-endpoint=client-destination-port=1001,instance=projects/$project/zones/$zone/instances/portmap-vm1,port=1000 --add-endpoint=client-destination-port=1002,instance=projects/$project/zones/$zone/instances/portmap-vm1,port=2000 --add-endpoint=client-destination-port=1003,instance=projects/$project/zones/$zone/instances/portmap-vm2,port=1000 --add-endpoint=client-destination-port=1004,instance=projects/$project/zones/$zone/instances/portmap-vm2,port=2000

สร้างตัวจัดสรรภาระงานให้เสร็จสมบูรณ์

ใน Cloud Shell

gcloud compute backend-services create portmap-bes --load-balancing-scheme=internal --region=$region --network=producer-vpc

gcloud compute backend-services add-backend portmap-bes --network-endpoint-group=portmap-neg --network-endpoint-group-region=$region

gcloud compute forwarding-rules create portmap-fr --load-balancing-scheme=INTERNAL --network=producer-vpc --subnet=producer-service-subnet --ports=ALL --region=$region --backend-service=portmap-bes

สร้าง Service Attachment

จาก Cloud Shell

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

จากนั้นเรียกข้อมูลและจด URI ของไฟล์แนบบริการเพื่อกำหนดค่าปลายทาง PSC ในสภาพแวดล้อมของผู้ใช้

ใน Cloud Shell

gcloud compute service-attachments describe portmap-service-attachment --region=$region

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

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-07-19T10:02:29.432-07:00'
description: ''
enableProxyProtocol: false
fingerprint: LI8D6JNQsLA=
id: '6207474793859982026'
kind: compute#serviceAttachment
name: portmap-service-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$zone/subnetworks/psc-nat-subnet
pscServiceAttachmentId:
  high: '94288091358954472'
  low: '6207474793859982026'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/portmap-service-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/portmap-fr

10. สร้างเครือข่าย VPC ของผู้ใช้บริการ

เครือข่าย VPC

จาก Cloud Shell

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

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

จาก Cloud Shell

gcloud compute networks subnets create consumer-client-subnet --network consumer-vpc --range=10.0.0.0/24 --region $region --enable-private-ip-google-access

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

จาก Cloud Shell

gcloud compute network-firewall-policies create consumer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy consumer-vpc-policy --network consumer-vpc --name network-consumer-vpc --global-firewall-policy

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy consumer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

เครือข่ายผู้บริโภคต้องการเพียง SSH จากการเข้าถึง IAP เท่านั้น

11. สร้าง VM, ปลายทาง PSC และทดสอบการเชื่อมต่อ

ตอนนี้ควรมีหน้าต่าง Cloud Shell เปิดอยู่ 3 หน้าต่าง คุณควรมีเซสชันที่เปิดอยู่กับ portmap-vm1 เซสชันหนึ่งควรเป็นเซสชันที่เปิดอยู่ซึ่งมี portmap-vm2 และอีกเซสชันหนึ่งควรเป็นเซสชันที่ใช้งานอยู่

สร้าง VM สำหรับทดสอบ

จาก Cloud Shell

gcloud compute instances create consumer-client-vm --zone $zone --subnet=consumer-client-subnet --no-address

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

จาก Cloud Shell

gcloud compute addresses create psc-endpoint-ip --region=$region --subnet=consumer-client-subnet --addresses 10.0.0.10

gcloud compute forwarding-rules create psc-portmap-endpoint --region=$region --network=consumer-vpc --address=psc-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]

ทดสอบการเชื่อมต่อ

จาก Cloud Shell

gcloud compute ssh --zone $zone "consumer-client-vm" --tunnel-through-iap --project $project

curl 10.0.0.10:1001

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

portmap-vm1 1000

จาก Cloud Shell

curl 10.0.0.10:1002

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

portmap-vm1 2000

จาก Cloud Shell

curl 10.0.0.10:1003

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

portmap-vm2 1000

จาก Cloud Shell

curl 10.0.0.10:1004

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

portmap-vm2 2000

12. ขั้นตอนการล้างข้อมูล

ออกจากอินสแตนซ์ VM (ทุกหน้าต่าง)

exit

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

gcloud compute forwarding-rules delete psc-portmap-endpoint --region=$region -q

gcloud compute addresses delete psc-endpoint-ip --region=$region -q

gcloud compute instances delete consumer-client-vm --zone=$zone -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy=consumer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy  --name=network-consumer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q

gcloud compute networks subnets delete consumer-client-subnet  --region=$region -q

gcloud compute networks delete consumer-vpc -q

gcloud compute service-attachments delete portmap-service-attachment --region=$region -q

gcloud compute forwarding-rules delete portmap-fr --region=$region -q

gcloud compute backend-services delete portmap-bes --region=$region -q

gcloud compute network-endpoint-groups delete portmap-neg --region=$region -q

gcloud compute instances delete test-client-vm --zone=$zone -q

gcloud compute instances delete portmap-vm2 --zone=$zone -q

gcloud compute instances delete portmap-vm1 --zone=$zone -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy  --name=network-producer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete producer-vpc-policy --global -q

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

gcloud compute networks subnets delete producer-service-subnet --region $region -q

gcloud compute networks delete producer-vpc -q

13. ยินดีด้วย

ขอแสดงความยินดีที่ทำ Codelab เสร็จสมบูรณ์

สิ่งที่เราได้พูดถึง

  • กรณีการใช้งานการแมปพอร์ต Private Service Connect
  • ประโยชน์หลักของการแมปพอร์ต PSC
  • ข้อกำหนดเกี่ยวกับเครือข่าย
  • สร้างบริการของผู้ผลิต Private Service Connect โดยใช้การแมปพอร์ต
  • สร้างปลายทาง Private Service Connect
  • โทรผ่านอุปกรณ์ปลายทาง Private Service Connect ไปยังบริการของผู้ผลิต