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

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

ประโยชน์สําคัญของการแมปพอร์ต PSC

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

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

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

4. โทโพโลยีของ Codelab

ad37cfc003475b7c.png

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

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

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

เริ่ม Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

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 ของผู้ผลิตแต่ละเครื่อง

กำหนดค่า 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. สร้างบริการของโปรดิวเซอร์ด้วย Portmap NEG

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

จาก 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

สร้างไฟล์แนบของบริการ

จาก 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 1 รายการควรมีเซสชันที่เปิดอยู่ด้วย portmap-vm2 และอีก 1 รายการควรเป็นเซสชันที่ใช้งานได้

สร้าง Test 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

ลบคอมโพเนนต์ของห้องทดลองจากเทอร์มินัล 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 ไปยังบริการของผู้ผลิต