Failover multi-region untuk endpoint Eksternal Regional menggunakan Health Check Cloud DNS

1. Pengantar

Layanan Cloud DNS menawarkan solusi Domain Name System (DNS) global berperforma tinggi dan tangguh, sehingga Anda dapat memublikasikan zona dan data tanpa memerlukan infrastruktur DNS yang dikelola sendiri.

Yang paling penting, Cloud DNS menyertakan dukungan untuk health check dan kemampuan failover otomatis dalam kebijakan pemilihan rutenya untuk endpoint eksternal. Namun, perhatikan bahwa health check untuk endpoint eksternal ini hanya tersedia dalam zona publik, dan endpoint itu sendiri harus dapat diakses secara publik melalui internet.

Yang akan Anda pelajari

  • Cara membuat Load Balancer Aplikasi Eksternal Regional dengan grup instance tidak terkelola.
  • Cara mengonfigurasi health check Cloud DNS untuk pemilihan rute DNS eksternal.
  • Cara membuat kebijakan perutean failover.

Yang Anda butuhkan

  • Pengetahuan dasar tentang DNS.
  • Pengetahuan dasar tentang Google Compute Engine.
  • Pengetahuan dasar tentang Load Balancer Aplikasi.
  • Project Google Cloud dengan Izin Pemilik
  • Domain publik yang Anda miliki, yang dapat Anda buat zona publik Cloud DNS-nya.
  • Kebijakan organisasi berikut saat ini tidak diterapkan dalam Project Google Cloud: VM Shielded dan Grup Endpoint Jaringan Internet.

2. Topologi codelab

f7c2062b86d93268.jpeg

Dalam codelab ini, Anda akan menggunakan health check Cloud DNS untuk endpoint eksternal guna mengalihkan traffic ke Load Balancer Aplikasi Eksternal Regional cadangan jika backend load balancer utama menjadi tidak responsif.

Anda akan membuat situs di dua region, yang masing-masing di-frontend oleh Load Balancer Aplikasi Eksternal. Kemudian, Anda akan mengonfigurasi health check Cloud DNS dengan kebijakan pemilihan rute failover.

3. Penyiapan dan Persyaratan

Penyiapan lingkungan mandiri

  1. Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
  • Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai PROJECT_ID). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project.
  • Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
  1. Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.

Mulai Cloud Shell

Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.

Dari Google Cloud Console, klik ikon Cloud Shell di toolbar kanan atas:

Mengaktifkan Cloud Shell

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

Screenshot terminal Google Cloud Shell yang menunjukkan bahwa lingkungan telah terhubung

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda dalam codelab ini dapat dilakukan di browser. Anda tidak perlu menginstal apa pun.

4. Sebelum memulai

Mengaktifkan API

Di dalam Cloud Shell, pastikan project Anda sudah disiapkan dan konfigurasi variabel.

gcloud auth login
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
export projectid=[YOUR-PROJECT-ID]

# Define variables for regions and the domain
export REGION_A=us-central1
export REGION_B=us-west1
export DNS_ZONE=dnscodelab-zone
Export DNS_DOMAIN=gcp.<yourpublicdomain>.com
echo $projectid
echo $REGION_A
echo $REGION_B
echo $DNS_ZONE
echo $DNS_DOMAIN

Aktifkan semua layanan yang diperlukan

gcloud services enable compute.googleapis.com 
gcloud services enable dns.googleapis.com

5. Membuat Infrastruktur Cloud Load Balancing

Di bagian ini, Anda akan membuat VPC, subnet, aturan firewall, VM, dan Grup Instance Tidak Terkelola yang diperlukan di dua region berbeda untuk mendukung load balancer primer dan cadangan.

Jaringan VPC

Dari Cloud Shell

gcloud compute networks create external-lb-vpc --subnet-mode=custom

Buat dua subnet di REGION_A (Primer) dan REGION_B (Cadangan) untuk menghosting server web backend

Buat Subnet

Dari Cloud Shell

gcloud compute networks subnets create subnet-a --network=external-lb-vpc --region=$REGION_A --range=10.10.1.0/24

gcloud compute networks subnets create subnet-b --network=external-lb-vpc --region=$REGION_B --range=10.20.1.0/24

Buat subnet khusus proxy di setiap region untuk Load Balancer Aplikasi eksternal regional masing-masing yang akan dibuat nanti.

Subnet khusus proxy ini adalah persyaratan wajib untuk semua load balancer regional berbasis Envoy yang di-deploy dalam region yang sama dengan jaringan external-lb-vpc. Proxy ini secara efektif menghentikan koneksi klien dan selanjutnya membuat koneksi baru ke layanan backend.

Dari Cloud Shell

gcloud compute networks subnets create proxy-only-subnet-a \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$REGION_A \
--network=external-lb-vpc \
--range=10.129.0.0/23

gcloud compute networks subnets create proxy-only-subnet-b \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$REGION_B \
--network=external-lb-vpc \
--range=10.130.0.0/23

Membuat Aturan Firewall Jaringan

fw-allow-health-check. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan semua traffic TCP dari sistem health check Google Cloud (di 130.211.0.0/22 dan 35.191.0.0/16). Contoh ini menggunakan tag target load-balanced-backend untuk mengidentifikasi VM yang menerapkan aturan firewall.

fw-allow-proxies. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic TCP pada port 80 dari proxy terkelola Load Balancer Aplikasi eksternal regional. Contoh ini menggunakan tag target load-balanced-backend untuk mengidentifikasi VM yang menerapkan aturan firewall.

Dari Cloud Shell

gcloud compute firewall-rules create fw-allow-health-check \
    --network=external-lb-vpc \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --target-tags=load-balanced-backend \
    --rules=tcp
gcloud compute firewall-rules create fw-allow-proxies \
  --network=external-lb-vpc \
  --action=allow \
  --direction=ingress \
  --source-ranges=10.129.0.0/23,10.130.0.0/23 \
  --target-tags=load-balanced-backend \
  --rules=tcp:80

Untuk mengizinkan IAP terhubung ke instance VM Anda, buat aturan firewall yang:

  • Berlaku untuk semua instance VM yang ingin Anda akses menggunakan IAP.
  • Mengizinkan traffic masuk dari rentang IP 35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.

Dari Cloud Shell

gcloud compute firewall-rules create allow-ssh \
    --allow tcp:22 --network external-lb-vpc \
    --source-ranges 35.235.240.0/20  \
    --description "SSH with IAP" \
    --target-tags=allow-ssh

6. Membuat Cloud NAT dan Cloud Router

Anda memerlukan gateway Cloud NAT di kedua region agar VM pribadi dapat mendownload dan menginstal paket dari internet.

  • VM server web kita harus mendownload dan menginstal server web Apache.
  • VM klien harus mendownload dan menginstal paket dnsutils yang akan kita gunakan untuk pengujian.

Setiap gateway Cloud NAT dikaitkan dengan satu jaringan VPC, region, dan Cloud Router. Jadi, sebelum membuat gateway NAT, kita perlu membuat Cloud Router di setiap region.

Membuat Cloud Router

Dari Cloud Shell

gcloud compute routers create "$REGION_A-cloudrouter" \
--region $REGION_A --network=external-lb-vpc --asn=65501

gcloud compute routers create "$REGION_B-cloudrouter" \
--region $REGION_B --network=external-lb-vpc --asn=65501

Membuat Gateway NAT

Dari Cloud Shell

gcloud compute routers nats create "$REGION_A-nat-gw" \
--router="$REGION_A-cloudrouter" \
--router-region=$REGION_A \
--nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips

gcloud compute routers nats create "$REGION_B-nat-gw" \
--router="$REGION_B-cloudrouter" \
--router-region=$REGION_B \
--nat-all-subnet-ip-ranges --auto-allocate-nat-external-ips

Membuat VM Backend dan Grup Instance Tidak Terkelola

Buat VM di setiap region dan instal server web (misalnya Apache):

Dari Cloud Shell

# Primary (Region A)
gcloud compute instances create vm-a \
--zone=$REGION_A-a \
--image-family=debian-12 --image-project=debian-cloud \
--subnet=subnet-a \
--no-address \
--tags=load-balanced-backend,allow-ssh \
--metadata=startup-script='#! /bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://metadata.google.internal/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" - $REGION_A Primary Backend |\
tee /var/www/html/index.html
systemctl restart apache2'


# Backup (Region B)
gcloud compute instances create vm-b \
--zone=$REGION_B-a \
--image-family=debian-12 --image-project=debian-cloud \
--subnet=subnet-b \
--no-address \
--tags=load-balanced-backend,allow-ssh \
--metadata=startup-script='#! /bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://metadata.google.internal/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" - $REGION_B Backup Backend |\
tee /var/www/html/index.html
systemctl restart apache2'

Buat Grup Instance Tidak Terkelola dan tambahkan instance VM ke dalamnya untuk setiap region:

Dari Cloud Shell

# Primary (Region A)
gcloud compute instance-groups unmanaged create ig-a --zone=$REGION_A-a

gcloud compute instance-groups unmanaged add-instances ig-a --zone=$REGION_A-a --instances=vm-a

# Backup (Region B)
gcloud compute instance-groups unmanaged create ig-b --zone=$REGION_B-a

gcloud compute instance-groups unmanaged add-instances ig-b --zone=$REGION_B-a --instances=vm-b

7. Mengonfigurasi Load Balancer Aplikasi Eksternal Regional

Anda akan mengonfigurasi Load Balancer Aplikasi Eksternal Regional yang lengkap di REGION_A (Primer) dan REGION_B (Cadangan).

Membuat Health Check dan Layanan Backend

Load Balancer Aplikasi Eksternal Regional berbasis Envoy dan memerlukan Konfigurasi Health Check regional.

Buat Health Check HTTP (digunakan oleh Load Balancer untuk memeriksa kesehatan instance):

Di Cloud Shell

gcloud compute health-checks create http http-lb-hc-primary-region \
--port 80 \
--region=$REGION_A

​​gcloud compute health-checks create http http-lb-hc-backup-region \
--port 80 \
--region=$REGION_B

Buat Layanan Backend regional dan lampirkan Grup Instance di setiap region**.**

Di Cloud Shell

# Primary (Region A)
gcloud compute backend-services create be-svc-a \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTP \
--port-name=http \
--health-checks=http-lb-hc-primary-region \
--health-checks-region=$REGION_A \
--region=$REGION_A

gcloud compute backend-services add-backend be-svc-a \
--instance-group=ig-a \
--instance-group-zone=$REGION_A-a \
--region=$REGION_A

# Backup (Region B)
gcloud compute backend-services create be-svc-b \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTP \
--port-name=http \
--health-checks=http-lb-hc-backup-region \
--health-checks-region=$REGION_B \
--region=$REGION_B

gcloud compute backend-services add-backend be-svc-b --instance-group=ig-b --instance-group-zone=$REGION_B-a --region=$REGION_B

Membuat Komponen Frontend

Buat Peta URL dan Proxy HTTP Target di kedua region:

Di Cloud Shell

#Primary (Region A)
gcloud compute url-maps create url-map-a \
--default-service=be-svc-a \
--region=$REGION_A
gcloud compute target-http-proxies create http-proxy-a \
--url-map=url-map-a \
--url-map-region=$REGION_A \
--region=$REGION_A
#Backup (Region B)
gcloud compute url-maps create url-map-b \
--default-service=be-svc-b \
--region=$REGION_B

gcloud compute target-http-proxies create http-proxy-b \
--url-map=url-map-b \
--url-map-region=$REGION_B \
--region=$REGION_B

Cadangkan alamat IP statis (Eksternal) untuk aturan penerusan:

Di Cloud Shell

# Primary IP (Region A)
gcloud compute addresses create rxlb-ip-a --region=$REGION_A

# Backup IP (Region B)
gcloud compute addresses create rxlb-ip-b --region=$REGION_B

Buat Aturan Penerusan untuk dua load balancer:

Di Cloud Shell

# Primary (Region A)
gcloud compute forwarding-rules create http-fwd-rule-a \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network=external-lb-vpc \
--region=$REGION_A \
--target-http-proxy-region=$REGION_A \
--address=rxlb-ip-a \
--target-http-proxy=http-proxy-a \
--ports=80

# Backup (Region B)
gcloud compute forwarding-rules create http-fwd-rule-b \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network=external-lb-vpc \
--region=$REGION_B \
--target-http-proxy-region=$REGION_B \
--address=rxlb-ip-b \
--target-http-proxy=http-proxy-b \
--ports=80

Mengonfigurasi Cloud DNS untuk Failover

Membuat Health Check Cloud DNS untuk endpoint eksternal

Anda harus membuat health check global khusus untuk alamat IP publik load balancer. Hal ini berbeda dengan health check internal load balancer.

Pertama, tentukan alamat IP eksternal Load balancer untuk mengonfigurasi kebijakan failover dan mengekspornya sebagai variabel

Di Cloud Shell

PRIMARY_IP=$(gcloud compute addresses describe rxlb-ip-a --region=$REGION_A --format='get(address)')

BACKUP_IP=$(gcloud compute addresses describe rxlb-ip-b --region=$REGION_B --format='get(address)')

Buat health check DNS global (memerlukan tiga wilayah sumber):

Di Cloud Shell

gcloud beta compute health-checks create http dns-failover-health-check \
    --global \
    --source-regions=$REGION_A,$REGION_B,europe-west1 \
    --request-path=/ \
    --check-interval=30s \
    --port=80 \
    --enable-logging

Buat Kebijakan Pemilihan Rute Failover dan Zona Terkelola Publik.

Buat Zona Publik Terkelola (gunakan domain DNS yang Anda miliki):

Di Cloud Shell

gcloud dns managed-zones create codelab-publiczone --dns-name=$DNS_DOMAIN --description="Codelab DNS Failover Zone"

Buat data A dengan Kebijakan Perutean Failover. Kebijakan ini mengarah ke IP Primer dan menggunakan health check untuk menentukan kapan harus melakukan failover ke IP Cadangan.

Perintah di bawah menggunakan nama aturan penerusan load balancer untuk merujuk alamat IP kebijakan perutean.

gcloud beta dns record-sets create codelab.gcp.axiszulu.com. \
--type=A \
--ttl=5 \
--zone=codelab-publiczone \
--routing_policy_type=FAILOVER \
--routing-policy-primary-data=$PRIMARY_IP \
--routing-policy-backup-data-type=GEO \
--routing-policy-backup-item=location=$REGION_B,external_endpoints=$BACKUP_IP \
--health-check=dns-failover-health-check

8. Menguji failover regional

  1. Validasi Awal: Gunakan alat (seperti dig atau browser web) untuk membuat kueri domain Anda. URL ini akan diselesaikan ke IP Utama ($PRIMARY_IP) dan menampilkan halaman "Region A - Primary Backend".
dig codelab.gcp.axiszulu.com

OUTPUT
; <<>> DiG 9.18.39-0ubuntu0.24.04.2-Ubuntu <<>> codelab.gcp.axiszulu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16096
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;codelab.gcp.axiszulu.com.      IN      A

;; ANSWER SECTION:
codelab.gcp.axiszulu.com. 5     IN      A   <PRIMARY_IP>

Output dari browser

65b44db03cc084e4.png

  1. Simulasikan Failover: Login ke VM utama (vm-a) dan nonaktifkan Apache untuk menyimulasikan penghentian:

Di Cloud Shell

gcloud compute ssh vm-a --zone=$REGION_A-a --command="sudo systemctl stop apache2"
  1. Verifikasi Status Tidak Responsif: Tunggu selama 2-3 menit hingga health check DNS menandai endpoint utama sebagai tidak responsif.
# check health status
gcloud compute backend-services get-health be-svc-a --region=${REGION_A}

Output:
backend: https://www.googleapis.com/compute/v1/projects/precise-airship-466617-c3/zones/us-central1-a/instanceGroups/ig-a
status:
  healthStatus:
  - healthState: UNHEALTHY
    instance: https://www.googleapis.com/compute/v1/projects/precise-airship-466617-c3/zones/us-central1-a/instances/vm-a
    ipAddress: 10.10.1.2
    port: 80
  kind: compute#backendServiceGroupHealth
  1. Validasi Pengalihan: Kueri ulang domain Anda. Sekarang, alamat tersebut akan diselesaikan ke IP Cadangan ($BACKUP_IP) dan menampilkan halaman "Region B - Backup Backend".
dig codelab.gcp.axiszulu.com

OUTPUT
; <<>> DiG 9.18.39-0ubuntu0.24.04.2-Ubuntu <<>> codelab.gcp.axiszulu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16096
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;codelab.gcp.axiszulu.com.      IN      A

;; ANSWER SECTION:
codelab.gcp.axiszulu.com. 5     IN      A   <BACKUP_IP>

Output dari browser

ae84a2ea0a367025.png

  1. Simulasikan Failback (Opsional): SSH dan mulai apache di VM utama, lalu tunggu hingga health check DNS menandai endpoint utama sebagai responsif. Traffic akan otomatis dirutekan kembali ke IP utama.
  2. Opsional: Anda dapat menganalisis Logging Health Check Cloud DNS dengan menjalankan perintah di bawah di Cloud Shell
gcloud logging read "logName=projects/${projectid}/logs/compute.googleapis.com%2Fhealthchecks" \
--limit=10 \
--project=${projectid} \
--freshness=1d \
--format="table(timestamp:label=TIME, \
jsonPayload.healthCheckProbeResult.ipAddress:label=BACKEND_IP, \
jsonPayload.healthCheckProbeResult.previousDetailedHealthState:label=PREVIOUS_STATE, \
jsonPayload.healthCheckProbeResult.detailedHealthState:label=CURRENT_STATE, \
jsonPayload.healthCheckProbeResult.probeResultText:label=RESULT_TEXT)"

9. Langkah-langkah pembersihan

Hapus semua komponen untuk menghindari timbulnya biaya lebih lanjut.

Dari Cloud Shell

# Delete VMs
gcloud compute instances delete vm-a --zone=$REGION_A-a --quiet
gcloud compute instances delete vm-b --zone=$REGION_B-a --quiet
# Delete Load Balancer Components (Primary)
gcloud compute forwarding-rules delete http-fwd-rule-a --region=$REGION_A --quiet
gcloud compute target-http-proxies delete http-proxy-a --region=$REGION_A --quiet
gcloud compute url-maps delete url-map-a --region=$REGION_A --quiet
gcloud compute backend-services delete be-svc-a --region=$REGION_A --quiet
gcloud compute addresses delete rxlb-ip-a --region=$REGION_A --quiet
# Delete Load Balancer Components (Backup)
gcloud compute forwarding-rules delete http-fwd-rule-b --region=$REGION_B --quiet
gcloud compute target-http-proxies delete http-proxy-b --region=$REGION_B --quiet
gcloud compute url-maps delete url-map-b --region=$REGION_B --quiet
gcloud compute backend-services delete be-svc-b --region=$REGION_B --quiet
gcloud compute addresses delete rxlb-ip-b --region=$REGION_B --quiet
# Delete Instance Groups and LB Health Checks
gcloud compute instance-groups unmanaged delete ig-a --zone=$REGION_A-a --quiet
gcloud compute instance-groups unmanaged delete ig-b --zone=$REGION_B-a --quiet
gcloud compute health-checks delete http-lb-hc-primary-region --region=$REGION_A --quiet
gcloud compute health-checks delete http-lb-hc-backup-region --region=$REGION_B --quiet

# Delete Cloud DNS Records Zone and DNS Heath Checks
gcloud dns record-sets delete $DNS_DOMAIN --type=A --zone=codelab-publiczone --quiet
gcloud dns managed-zones delete codelab-publiczone --quiet

gcloud compute health-checks delete dns-failover-health-check --global --quiet

# Delete Cloud NAT and Cloud Routers
gcloud compute routers nats delete $REGION_A-nat-gw \
--router=$REGION_A-cloudrouter --region=$REGION_A --quiet

gcloud compute routers nats delete $REGION_B-nat-gw \
--router=$REGION_B-cloudrouter --region=$REGION_B --quiet

gcloud compute routers delete $REGION_A-cloudrouter \
--region=$REGION_A --quiet

gcloud compute routers delete $REGION_B-cloudrouter \
--region=$REGION_B --quiet


# Delete Subnets and Firewall Rules
gcloud compute firewall-rules delete fw-allow-health-check --quiet
gcloud compute firewall-rules delete fw-allow-proxies --quiet
gcloud compute firewall-rules delete allow-ssh --quiet
gcloud compute networks subnets delete subnet-a \
--region=$REGION_A --quiet

gcloud compute networks subnets delete subnet-b \
--region=$REGION_B --quiet
gcloud compute networks subnets delete proxy-only-subnet-a \
--region=$REGION_A --quiet

gcloud compute networks subnets delete proxy-only-subnet-b \
--region=$REGION_B --quiet

gcloud compute networks delete external-lb-vpc --quiet

10. Selamat!

Selamat, Anda telah menyelesaikan Codelab.

  • Anda telah berhasil mengonfigurasi dan memvalidasi failover aktif-pasif multi-region menggunakan Health Check Cloud DNS dan Load Balancer Aplikasi Eksternal Regional