การแมปพอร์ต 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 ที่เฉพาะเจาะจงสามารถใช้ฟีเจอร์นี้ได้

The Producer defines the mapping between a client port and a producer VM + destination port. จากนั้นผู้ผลิตจะต้องแชร์ข้อมูลนี้กับผู้บริโภค ผู้บริโภคใช้พอร์ตที่กำหนดไว้ล่วงหน้าเพื่อระบุ 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 โดยตรง ซึ่งจะเห็นได้จากวิธีทดสอบบริการของผู้ผลิตใน Codelab นี้
  • ปลายทาง PSC และสแต็กบริการของผู้ผลิตต้องอยู่ใน VPC ที่แตกต่างกัน

4. โทโพโลยี Codelab

ad37cfc003475b7c.png

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

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

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

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

  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 นี้ได้ภายในเบราว์เซอร์ คุณไม่จำเป็นต้องติดตั้งอะไร

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

ก่อนอื่น เราต้องขอที่อยู่ 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. สร้างบริการผู้ผลิตด้วย 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 ไปยังบริการของผู้ผลิต