Codelab เกี่ยวกับเส้นทางตามนโยบาย (PBR)

1. บทนำ

เส้นทางตามนโยบาย

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

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

  • ทั้งเครือข่าย: อินสแตนซ์เครื่องเสมือน (VM) ทั้งหมด, เกตเวย์ VPN และการเชื่อมต่อระหว่างกัน
  • การใช้แท็กเครือข่าย: เลือกอินสแตนซ์ VM ใน VPC
  • ภูมิภาคการเชื่อมต่อถึงกัน: การรับส่งข้อมูลทั้งหมดที่เข้าสู่เครือข่าย VPC ผ่านไฟล์แนบ VLAN สำหรับภูมิภาค

ฮอพถัดไปของเส้นทางตามนโยบายต้องเป็นตัวจัดสรรภาระงานเครือข่ายภายในที่ถูกต้องซึ่งอยู่ในเครือข่าย VPC เดียวกันกับเส้นทางตามนโยบาย

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

เส้นทางตามนโยบายมีลำดับความสำคัญสูงกว่าประเภทเส้นทางอื่นๆ ยกเว้นเส้นทางการคืนสินค้าพิเศษ

หากเส้นทางตามนโยบาย 2 เส้นทางมีลำดับความสำคัญเดียวกัน Google Cloud จะใช้อัลกอริทึมภายในที่กำหนดได้เพื่อเลือกเส้นทางตามนโยบายเพียงเส้นทางเดียว และไม่สนใจเส้นทางอื่นๆ ที่มีลำดับความสำคัญเดียวกัน เส้นทางตามนโยบายจะไม่ใช้การจับคู่คำนำหน้าที่ยาวที่สุดและจะเลือกเฉพาะเส้นทางที่มีลำดับความสำคัญสูงสุด

คุณสามารถสร้างกฎเดียวสำหรับการรับส่งข้อมูลทางเดียว หรือสร้างหลายกฎเพื่อจัดการการรับส่งข้อมูลแบบ 2 ทาง

หากต้องการใช้เส้นทางตามนโยบายกับ Cloud Interconnect คุณต้องใช้เส้นทางกับการเชื่อมต่อ Cloud Interconnect ทั้งหมดในทั้งภูมิภาค คุณใช้เส้นทางตามนโยบายกับเฉพาะการเชื่อมต่อ Cloud Interconnect แต่ละรายการไม่ได้

อินสแตนซ์ VM ที่รับการรับส่งข้อมูลจากเส้นทางตามนโยบายต้องเปิดใช้การส่งต่อ IP

ข้อควรพิจารณาเกี่ยวกับ PBR

คุณต้องกำหนดค่าพิเศษเพื่อใช้เส้นทางตามนโยบายในลักษณะต่อไปนี้

เช่น การใช้ PBR กับ GKE, PSC หรือ PGA/PSA

ดูรายละเอียดเพิ่มเติมเกี่ยวกับ PBR กับ GKE ได้ที่นี่ และส่วนข้อจำกัดทั่วไปของ PBR ได้ที่นี่

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

  • วิธีกำหนดค่าเส้นทางตามนโยบาย

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

  • ความรู้เกี่ยวกับการติดตั้งใช้งานอินสแตนซ์และการกำหนดค่าคอมโพเนนต์เครือข่าย
  • ความรู้เกี่ยวกับการกำหนดค่าไฟร์วอลล์ VPC

2. สภาพแวดล้อมการทดสอบ

Codelab นี้จะใช้ประโยชน์จาก VPC เดียว สภาพแวดล้อมนี้จะมีทรัพยากรการประมวลผล 2 รายการ ได้แก่ clienta และ clientb ซึ่งจะส่งแพ็กเก็ตไปยังทรัพยากรเซิร์ฟเวอร์อื่น การใช้ PBR และตัวกรอง เราจะบังคับให้การรับส่งข้อมูลจาก clienta ผ่านทรัพยากรการประมวลผลอื่นเพื่อบังคับใช้ไฟร์วอลล์ ขณะที่การรับส่งข้อมูลของ clientb จะไปยังเซิร์ฟเวอร์โดยตรง แผนภาพด้านล่างแสดงเส้นทาง

bff32b01ada8e9ad.png

ในแผนภาพด้านบน ในทางเทคนิคแล้วควรมี ILB (ตัวจัดสรรภาระงานภายในเครือข่าย) สำหรับเส้นทาง PBR เราละเว้นส่วนนี้ไว้เพื่อให้ไดอะแกรมเข้าใจง่าย

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

Codelab ต้องใช้โปรเจ็กต์เดียว

จาก Cloud Shell

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

4. เปิดใช้ API

หากยังไม่ได้ดำเนินการ ให้เปิดใช้ API เพื่อใช้ผลิตภัณฑ์

จาก Cloud Shell

gcloud services enable compute.googleapis.com
gcloud services enable networkconnectivity.googleapis.com

5. สร้างเครือข่าย VPC และซับเน็ต

เครือข่าย VPC

สร้าง VPC codelab-pbr-vpc:

จาก Cloud Shell

gcloud compute networks create $prefix-vpc --subnet-mode=custom 

ซับเน็ต

สร้างซับเน็ตที่เกี่ยวข้องในภูมิภาคที่เลือก

จาก Cloud Shell

gcloud compute networks subnets create $prefix-vpc-subnet \
   --range=10.10.10.0/24 --network=$prefix-vpc --region=${region}

6. สร้างกฎไฟร์วอลล์

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

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

จาก Cloud Shell

gcloud compute firewall-rules create $prefix-allow-iap-proxy \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:22 \
--source-ranges=35.235.240.0/20

หากต้องการอนุญาตพอร์ต HTTP มาตรฐาน (TCP 80) และโปรโตคอล ICMP ไปยังเซิร์ฟเวอร์ ให้ทำดังนี้

  • ใช้กับทรัพยากรที่มีแท็กเครือข่าย "server"
  • อนุญาตการรับส่งข้อมูลขาเข้าจากทุกแหล่งที่มา

จาก Cloud Shell

gcloud compute firewall-rules create $prefix-allow-http-icmp \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:80,icmp \
--source-ranges=0.0.0.0/0 \
--target-tags=server

หากต้องการอนุญาตให้ไฟร์วอลล์รับแพ็กเก็ต ให้อนุญาตการรับข้อมูลในทุกโปรโตคอลและพอร์ต

  • ใช้กับทรัพยากรที่มีแท็กเครือข่าย "fw"
  • อนุญาตการรับส่งขาเข้าจากแหล่งที่มา 10.10.10.0/24

จาก Cloud Shell

gcloud compute firewall-rules create $prefix-fw-allow-ingress \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=all \
--source-ranges=10.10.10.0/24 \
--target-tags=fw

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

  • ใช้กับทรัพยากรที่มีแท็กเครือข่าย "fw"
  • อนุญาตการรับส่งข้อมูลขาเข้าจากช่วงการตรวจสอบประสิทธิภาพการทำงาน

จาก Cloud Shell

gcloud compute firewall-rules create $prefix-allow-hc-ingress \
--direction=INGRESS \
--priority=1000 \
--network=$prefix-vpc \
--action=ALLOW \
--rules=tcp:80 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=fw

7. สร้าง Cloud Router และ Cloud NAT

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

สร้าง Cloud Router

จาก Cloud Shell

gcloud compute routers create ${prefix}-cr \
--region=${region} \
--network=${prefix}-vpc

สร้างเกตเวย์ Cloud NAT

จาก Cloud Shell

gcloud compute routers nats create ${prefix}-nat-gw-${region} \
--router=${prefix}-cr \
--router-region=${region} \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges

8. สร้างอินสแตนซ์ Compute

สร้างอินสแตนซ์การประมวลผล ClientA, ClientB, FW และ Server โดยทำดังนี้

จาก Cloud Shell

gcloud compute instances create clienta \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.10 \
   --zone $zone \
   --tags client \
   --metadata startup-script='#! /bin/bash
apt-get update'

จาก Cloud Shell

gcloud compute instances create clientb \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.11 \
   --zone $zone \
   --tags client \
   --metadata startup-script='#! /bin/bash
apt-get update'

จาก Cloud Shell

gcloud compute instances create server \
   --subnet=$prefix-vpc-subnet \
   --no-address \
   --private-network-ip=10.10.10.200 \
   --zone $zone \
   --tags server \
   --metadata startup-script='#! /bin/bash
sudo su
apt-get update
apt-get -y install tcpdump
apt-get -y install nginx
cat > /var/www/html/index.html << EOF
<html><body><p>Server</p></body></html>
EOF'

จาก Cloud Shell

gcloud compute instances create fw \
   --subnet=$prefix-vpc-subnet \
   --can-ip-forward \
   --no-address \
   --private-network-ip=10.10.10.75 \
   --zone $zone \
   --tags fw \
   --metadata startup-script='#! /bin/bash
apt-get update
sudo apt-get -y install tcpdump
sudo apt-get -y install nginx
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -I FORWARD -d 10.10.10.200 -j REJECT'

9. ทดสอบการเชื่อมต่อโดยไม่มี PBR

SSH ไปยัง VM ของ Compute ของไคลเอ็นต์ที่เราเพิ่งสร้างขึ้น และยืนยันการเชื่อมต่อจากทั้งไคลเอ็นต์ไปยังเซิร์ฟเวอร์

จาก cloudshell1 ให้เข้าสู่ระบบ clienta โดยทำดังนี้

gcloud compute ssh clienta --zone=$zone --tunnel-through-iap

เรียกใช้คำสั่งต่อไปนี้

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

การ Ping และคำขอ Curl ควรสำเร็จ

เอาต์พุต:

root@clienta:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=64 time=1.346 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=64 time=0.249 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 10.10.10.200: icmp_seq=4 ttl=64 time=0.329 ms
64 bytes from 10.10.10.200: icmp_seq=5 ttl=64 time=0.240 ms
root@clienta:~$ curl 10.10.10.200/index.html
<html><body><p>Server</p></body></html>

เปิดแท็บ Cloud Shell เพิ่มเติมโดยคลิก +

3722d8574c3812b1.png

จาก cloudshell2 ให้ตั้งค่าตัวแปรที่จะใช้

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

จาก cloudshell2 SSH ไปยัง clientb ให้ทำดังนี้

gcloud compute ssh clientb --zone=$zone --tunnel-through-iap

เรียกใช้คำสั่งต่อไปนี้

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

การ Ping และคำขอ Curl ควรสำเร็จ

เอาต์พุต:

root@clientb:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=64 time=1.346 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=64 time=0.249 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 10.10.10.200: icmp_seq=4 ttl=64 time=0.329 ms
64 bytes from 10.10.10.200: icmp_seq=5 ttl=64 time=0.240 ms
root@clientb:~$ curl 10.10.10.200/index.html
<html><body><p>Server</p></body></html>

ตอนนี้ให้ออกจากเทอร์มินัล VM แล้วกลับไปที่ Cloud Shell

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

สร้างกลุ่มอินสแตนซ์ที่ไม่มีการจัดการสำหรับ VM ไฟร์วอลล์

จาก Cloud Shell

gcloud compute instance-groups unmanaged create pbr-uig --zone=$zone

เพิ่มอินสแตนซ์ FW ลงในกลุ่มอินสแตนซ์ที่ไม่มีการจัดการ

จาก Cloud Shell

gcloud compute instance-groups unmanaged add-instances pbr-uig --instances=fw --zone=$zone

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

สร้างการตรวจสอบประสิทธิภาพการทำงานสำหรับบริการแบ็กเอนด์ เราจะทำการตรวจสอบประสิทธิภาพการทำงานของพอร์ต TCP 80 อย่างง่าย

จาก Cloud Shell

gcloud compute health-checks create tcp $prefix-hc-tcp-80 --region=$region --port 80

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

สร้างบริการแบ็กเอนด์เพื่อแนบกับกฎการส่งต่อ

จาก Cloud Shell

gcloud compute backend-services create be-pbr --load-balancing-scheme=internal --protocol=tcp --region=$region --health-checks=$prefix-hc-tcp-80 --health-checks-region=$region

ตอนนี้ให้เพิ่มกลุ่มอินสแตนซ์ลงในบริการแบ็กเอนด์

จาก Cloud Shell

gcloud compute backend-services add-backend be-pbr --region=$region --instance-group=pbr-uig --instance-group-zone=$zone

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

จาก Cloud Shell

gcloud compute forwarding-rules create fr-pbr --region=$region --load-balancing-scheme=internal --network=$prefix-vpc --subnet=$prefix-vpc-subnet --ip-protocol=TCP --ports=ALL --backend-service=be-pbr --backend-service-region=$region --address=10.10.10.25 --network-tier=PREMIUM

14. สร้างกฎ PBR

กฎ PBR นี้มีผลกับไคลเอ็นต์ โดยจะกำหนดเส้นทางการรับส่งข้อมูล IPv4 ทั้งหมดไปยังกฎการส่งต่อ 10.10.10.25 หาก IP ต้นทางคือ 10.10.10.10/32 (ที่อยู่ของ clienta) และ IP ปลายทางคือ 10.10.10.0/24

ซึ่งหมายความว่า clienta จะตรงกับ PBR และไม่ตรงกับ clientb

จาก Cloud Shell

gcloud network-connectivity policy-based-routes create pbr-client \
   --network=projects/$project_id/global/networks/$prefix-vpc \
   --next-hop-ilb-ip=10.10.10.25 \
   --source-range=10.10.10.10/32 \
   --destination-range=10.10.10.0/24 \
   --protocol-version=IPv4 \
   --priority=1000 \
   --tags=client

กฎ PBR นี้ใช้กับเซิร์ฟเวอร์ โดยจะกำหนดเส้นทางการรับส่งข้อมูล IPv4 ทั้งหมดไปยังกฎการส่งต่อ 10.10.10.25 หาก IP ต้นทางคือ 10.10.10.200/32 และ IP ปลายทางคือ 10.10.10.10/32

จาก Cloud Shell

gcloud network-connectivity policy-based-routes create pbr-server \
   --network=projects/$project_id/global/networks/$prefix-vpc \
   --next-hop-ilb-ip=10.10.10.25 \
   --source-range=10.10.10.200/32 \
   --destination-range=10.10.10.10/32 \
   --protocol-version=IPv4 \
   --priority=2000 \
   --tags=server

15. ทดสอบการเชื่อมต่อด้วย PBR

ตอนนี้เราจะยืนยันฟังก์ชัน PBR อินสแตนซ์ "fw" ได้รับการกำหนดค่าด้วย iptables เพื่อปฏิเสธคำขอที่มุ่งไปยังเซิร์ฟเวอร์ หาก PBR ทำงานได้ คำขอที่เคยทำงานใน clienta จะไม่สำเร็จในตอนนี้ แต่ clientb จะยังคงสำเร็จ

SSH เข้าสู่ VM ของ Compute ของ clienta แล้วเรียกใช้การทดสอบเดียวกัน

จาก cloudshell1

gcloud compute ssh clienta --zone=$zone --tunnel-through-iap

เรียกใช้คำสั่งต่อไปนี้

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

เอาต์พุต:

root@clienta:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
From 10.10.10.75 icmp_seq=1 Destination Port Unreachable
From 10.10.10.75 icmp_seq=2 Destination Port Unreachable
From 10.10.10.75 icmp_seq=3 Destination Port Unreachable
From 10.10.10.75 icmp_seq=4 Destination Port Unreachable
From 10.10.10.75 icmp_seq=5 Destination Port Unreachable
root@clienta:~$ curl 10.10.10.200/index.html
curl: (7) Failed to connect to 10.10.10.200 port 80: Connection refused

เนื่องจากคำขอไม่สำเร็จ เราจึงยืนยันได้ว่า PBR กำลังกำหนดเส้นทางการรับส่งข้อมูลสำหรับไคลเอ็นต์ไปยังอินสแตนซ์ FW ซึ่งได้รับการกำหนดค่าให้บล็อกการรับส่งข้อมูลนี้

SSH ไปยัง clientb แล้วเรียกใช้การทดสอบการเชื่อมต่อเดียวกัน

จาก cloudshell2

gcloud compute ssh clientb --zone=$zone --tunnel-through-iap

เรียกใช้คำสั่งต่อไปนี้

ping 10.10.10.200 -c 5
curl 10.10.10.200/index.html

เอาต์พุต:

root@clientb:~$ ping 10.10.10.200 -c 5
PING 10.10.10.200 (10.10.10.200) 56(84) bytes of data.
64 bytes from 10.10.10.200: icmp_seq=1 ttl=63 time=0.361 ms
64 bytes from 10.10.10.200: icmp_seq=2 ttl=63 time=0.475 ms
64 bytes from 10.10.10.200: icmp_seq=3 ttl=63 time=0.379 ms
root@clientb:~$ curl 10.10.10.200
<html><body><p>Server</p></body></html>

ดังที่คุณเห็น คำขอจากไคลเอ็นต์ B ไปยังเซิร์ฟเวอร์สำเร็จ เนื่องจากคำขอไม่ตรงกับกฎ PBR สำหรับ IP ต้นทาง

16. [ไม่บังคับ] การตรวจสอบด้วยการจับภาพในไฟร์วอลล์

ในส่วนที่ไม่บังคับนี้ คุณมีโอกาสที่จะตรวจสอบ PBR โดยการบันทึกแพ็กเก็ตใน VM ไฟร์วอลล์

คุณควรยังคงมีการเชื่อมต่อ SSH ใน cloudshell1 และ cloudshell2 กับ clienta และ clientb

เปิดแท็บ Cloud Shell เพิ่มเติมโดยคลิก +

5eb3a9956f7e41a2.png

ตั้งค่าตัวแปรจาก cloudshell3 ดังนี้

export project_id=`gcloud config list --format="value(core.project)"`
export region=us-central1
export zone=us-central1-a
export prefix=codelab-pbr

SSH เข้าสู่ fw:

gcloud compute ssh fw --zone=$zone --tunnel-through-iap

เรียกใช้คำสั่งต่อไปนี้ใน fw (cloudshell3)

sudo tcpdump -i any icmp -nn

จาก clienta (cloudshell1) ให้เรียกใช้การทดสอบ ping ดังนี้

ping 10.10.10.200 -c 5

จากไคลเอ็นต์ b (cloudshell2) ให้เรียกใช้การทดสอบ ping ดังนี้

ping 10.10.10.200 -c 5

เอาต์พุตในเฟิร์มแวร์ (Cloud Shell 3):

root@fw:~$ sudo tcpdump -i any icmp -nn
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
17:07:42.215297 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 1, length 64
17:07:42.215338 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 51064 unreachable, length 92
17:07:43.216122 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 2, length 64
17:07:43.216158 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 30835 unreachable, length 92
17:07:44.219064 ens4  In  IP 10.10.10.10 > 10.10.10.200: ICMP echo request, id 25362, seq 3, length 64
17:07:44.219101 ens4  Out IP 10.10.10.75 > 10.10.10.10: ICMP 10.10.10.200 protocol 1 port 2407 unreachable, length 92

คุณจะไม่เห็นแพ็กเก็ตใดๆ ใน tcpdump จาก clientb (10.10.10.11) เนื่องจาก PBR ไม่เกี่ยวข้อง

ออกไปที่ Cloud Shell เพื่อล้างข้อมูลทรัพยากร

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

จาก Cloud Shell ให้นำกฎ PBR, กฎการส่งต่อ, บริการแบ็กเอนด์, การตรวจสอบประสิทธิภาพการทำงาน, กลุ่มอินสแตนซ์, อินสแตนซ์ Compute, NAT, Cloud Router และกฎไฟร์วอลล์ออก

gcloud -q network-connectivity policy-based-routes delete pbr-client

gcloud -q network-connectivity policy-based-routes delete pbr-server

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

gcloud -q compute backend-services delete be-pbr --region=$region

gcloud -q compute health-checks delete $prefix-hc-tcp-80 --region=$region

gcloud -q compute instance-groups unmanaged delete pbr-uig --zone=$zone

gcloud -q compute instances delete clienta --zone=$zone
gcloud -q compute instances delete clientb --zone=$zone
gcloud -q compute instances delete server --zone=$zone
gcloud -q compute instances delete fw --zone=$zone


gcloud -q compute routers nats delete ${prefix}-nat-gw-${region} \
--router=$prefix-cr --router-region=$region

gcloud -q compute routers delete $prefix-cr --region=$region

gcloud -q compute firewall-rules delete $prefix-allow-iap-proxy
gcloud -q compute firewall-rules delete $prefix-allow-http-icmp
gcloud -q compute firewall-rules delete $prefix-fw-allow-ingress
gcloud -q compute firewall-rules delete $prefix-allow-hc-ingress

นำซับเน็ตและ VPC ออก

gcloud -q compute networks subnets delete $prefix-vpc-subnet \
    --region $region

gcloud -q compute networks delete $prefix-vpc

18. ยินดีด้วย

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

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

  • เส้นทางตามนโยบาย