LB HTTP Eksternal dengan Codelab Pengelolaan Traffic Lanjutan (Envoy)

Codelab Load Balancer HTTPs Eksternal dengan Pengelolaan Traffic Lanjutan (Envoy)

Tentang codelab ini

subjectTerakhir diperbarui Agu 6, 2025
account_circleDitulis oleh Arman Rye

1. Pengantar

Selamat datang di Codelab Load Balancer HTTPs Eksternal dengan Pengelolaan Traffic Lanjutan (Envoy).

Load Balancer Eksternal HTTP(S) dengan Pengelolaan Traffic Lanjutan versi terbaru berisi semua fitur Load Balancer HTTP(S) Eksternal Global Klasik yang sudah ada, tetapi dengan daftar kemampuan Pengelolaan Traffic Lanjutan yang terus bertambah. Beberapa kemampuan ini baru ada di Load Balancer kami, dan beberapa memberikan fitur yang ditingkatkan untuk kemampuan yang ada. Sebagian daftar kemampuan ini mencakup:

  • Pembagian Traffic Tertimbang
  • Meminta Pencerminan
  • Deteksi Outlier
  • Meminta Percobaan Ulang
  • Injeksi Kesalahan
  • Opsi Afinitas Sesi Backend tambahan
  • Opsi Transformasi Header Tambahan
  • Cross-Origin Resource Sharing (CORS)
  • Algoritma Load Balancing Baru

Yang akan Anda pelajari

  • Cara menyiapkan Managed Instance Group serta aturan firewall dan VPC terkait
  • Cara menggunakan fitur pengelolaan traffic lanjutan pada load balancer baru
  • Cara memvalidasi bahwa fitur pengelolaan traffic lanjutan berfungsi sebagaimana mestinya.

Yang Anda butuhkan

  • Networking Dasar dan pengetahuan tentang HTTP
  • Pengetahuan dasar mengenai command line Unix/Linux

Topologi & kasus penggunaan codelab

dd8bd5e8e1341878.png

Gambar 1 - Topologi Perutean Load Balancer HTTP

Selama codelab ini, Anda akan menyiapkan tiga grup instance terkelola, satu di Timur, Barat, dan Tengah. Anda akan membuat load balancer https eksternal global. Load balancer akan menggunakan beberapa fitur dari daftar kemampuan lanjutan yang didukung oleh load balancer berbasis envoy. Setelah di-deploy, Anda akan membuat beberapa beban simulasi dan memverifikasi bahwa konfigurasi yang Anda tetapkan berfungsi dengan tepat.

2. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.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:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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.

Sebelum memulai

Di dalam Cloud Shell, pastikan project ID Anda sudah disiapkan

gcloud config list project

gcloud config set project [YOUR-PROJECT-NAME]

PROJECT_ID=[YOUR-PROJECT-NAME]

echo $PROJECT_ID

Aktifkan API

Aktifkan semua layanan yang diperlukan

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com

3. Membuat jaringan VPC

Buat jaringan VPC

Dari Cloud Shell

gcloud compute networks create httplbs --subnet-mode=auto

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs].
NAME: httplbs
SUBNET_MODE: AUTO
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:

Membuat aturan firewall VPC

Setelah membuat VPC, Anda akan membuat aturan firewall. Aturan firewall akan digunakan untuk mengizinkan semua IP mengakses IP eksternal situs aplikasi pengujian di port 80 untuk traffic http.

Dari Cloud Shell

gcloud compute firewall-rules create httplb-allow-http-rule \
--allow tcp:80 \
--network httplbs \
--source-ranges 0.0.0.0/0 \
--priority 700

Output

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule].
Creating firewall...done.
NAME: httplb-allow-http-rule
NETWORK: httplbs
DIRECTION: INGRESS
PRIORITY: 700
ALLOW: tcp:80
DENY:
DISABLED: False

4. Menyiapkan Grup Instance Terkelola

Anda perlu menyiapkan Grup Instance Terkelola yang mencakup pola untuk resource backend yang digunakan oleh Load Balancer HTTP. Pertama, kita akan membuat Template Instance yang menentukan konfigurasi VM yang akan dibuat untuk setiap region. Selanjutnya, untuk backend di setiap region, kita akan membuat Grup Instance Terkelola yang mereferensikan Template Instance.

Grup Instance Terkelola dapat memiliki cakupan Zonal atau Regional. Untuk latihan lab ini, kita akan membuat tiga Grup Instance Terkelola regional, satu di us-east1, satu di us-west1, dan satu di us-central1.

Di bagian ini, Anda dapat melihat skrip startup yang telah dibuat sebelumnya yang akan dirujuk saat pembuatan instance. Skrip startup ini menginstal dan mengaktifkan kemampuan server web yang akan kita gunakan untuk menyimulasikan aplikasi web. Silakan pelajari skrip ini.

Buat Template Instance Timur, Barat, dan Tengah

Langkah pertama adalah membuat template instance us-east-1.

Dari Cloud Shell

gcloud compute instance-templates create us-east1-template \
   --region=us-east1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --image-project=debian-cloud \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template].
NAME: us-east1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00

Langkah berikutnya adalah membuat template instance us-west-1.

Dari Cloud Shell

gcloud compute instance-templates create us-west1-template \
   --region=us-west1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --image-project=debian-cloud \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template].
NAME: us-west1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00

Langkah berikutnya adalah membuat template instance us-central-1.

Dari Cloud Shell

gcloud compute instance-templates create us-central1-template \
   --region=us-central1 \
   --network=httplbs \
   --tags=http-server, \
   --image-family=debian-12 \
   --image-project=debian-cloud \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template].
NAME: us-central1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00

Sekarang Anda dapat memverifikasi bahwa template instance berhasil dibuat dengan perintah gcloud berikut:

Dari Cloud Shell

gcloud compute instance-templates list

Output

NAME                  MACHINE_TYPE   PREEMPTIBLE  CREATION_TIMESTAMP
us-central1-template   n1-standard-1         2021-11-09T09:25:37.263-08:00
us-east1-template      n1-standard-1         2021-11-09T09:24:35.275-08:00
us-west1-template      n1-standard-1         2021-11-09T09:25:08.016-08:00

Buat Grup Instance Terkelola Timur, Barat, dan Tengah

Sekarang kita harus membuat grup instance terkelola dari template instance yang kita buat sebelumnya.

Dari Cloud Shell

gcloud compute instance-groups managed create us-east1-mig \
--base-instance-name=us-east1-mig \
--size=1 \
--template=us-east1-template \
--zone=us-east1-b 

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig].
NAME: us-east1-mig
LOCATION: us-east1-b
SCOPE: zone
BASE_INSTANCE_NAME: us-east1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-east1-template
AUTOSCALED: no

Dari Cloud Shell

gcloud compute instance-groups managed create us-west1-mig \
--base-instance-name=us-west1-mig \
--size=1 \
--template=us-west1-template \
--zone=us-west1-a  

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig].
NAME: us-west1-mig
LOCATION: us-west1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-west1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-west1-template
AUTOSCALED: no

Dari Cloud Shell

gcloud compute instance-groups managed create us-central1-mig \
--base-instance-name=us-central1-mig \
--size=1 \
--template=us-central1-template \
--zone=us-central1-a 

Output

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig].
NAME: us-central1-mig
LOCATION: us-central1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-central1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-central1-template
AUTOSCALED: no

Kita dapat memverifikasi bahwa grup instance berhasil dibuat dengan perintah gcloud berikut:

Dari Cloud Shell

gcloud compute instance-groups list

Output

NAME                  LOCATION      SCOPE   NETWORK         MANAGED INSTANCES
us-central1-mig       us-central1   zone    httplbs          Yes      1
us-west1-mig          us-west1      zone    httplbs          Yes      1
us-east1-mig          us-east1      zone    httplbs          Yes      1

Verifikasi Fungsi Server Web

Setiap instance dikonfigurasi untuk menjalankan server web Apache dengan skrip PHP sederhana yang merender:

c87ca81d3125ac61.png

Untuk memastikan server web Anda berfungsi dengan benar, buka Compute Engine -> VM instances. Pastikan instance baru Anda (misalnya, us-east1-mig-xxx) telah dibuat sesuai dengan definisi grup instance-nya.

Sekarang, buat permintaan web di browser Anda untuk memastikannya server web berjalan (mungkin perlu waktu satu menit untuk memulai). Di halaman instance VM di bagian Compute Engine, pilih instance yang dibuat oleh grup instance Anda, lalu klik IP Eksternal (publik) instance tersebut.

Atau, di browser Anda, buka http://<IP_Address>

5. Menyiapkan Load Balancer

Buat Health Check

Pertama, kita harus membuat health check dasar untuk memastikan layanan kita berjalan dengan lancar dan berhasil. Kita akan membuat health check dasar. Ada banyak penyesuaian lanjutan lainnya yang tersedia.

Dari Cloud Shell

gcloud compute health-checks create http http-basic-check \
    --port 80

Mencadangkan Alamat IP Eksternal

Untuk langkah ini, Anda perlu mencadangkan alamat IP statis yang tersedia secara global yang nantinya akan dilampirkan ke Load Balancer.

Dari Cloud Shell

gcloud compute addresses create lb-ipv4-2 \
    --ip-version=IPV4 \
    --global

Pastikan untuk mencatat Alamat IP yang dicadangkan.

gcloud compute addresses describe lb-ipv4-2 \
    --format="get(address)" \
    --global

Buat Layanan Backend

Sekarang kita harus membuat layanan backend untuk setiap grup instance terkelola yang kita buat sebelumnya. Satu untuk Timur, Barat, dan Tengah.

Membuat layanan backend untuk grup instance terkelola East.

Dari Cloud Shell

gcloud compute backend-services create east-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Membuat layanan backend untuk grup instance terkelola West.

Dari Cloud Shell

gcloud compute backend-services create west-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Membuat layanan backend untuk grup instance terkelola Central.

Dari Cloud Shell

gcloud compute backend-services create central-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Menambahkan MIG ke Layanan Backend

Setelah membuat layanan backend masing-masing untuk setiap cluster aplikasi, kita harus menambahkan Grup Instance Terkelola yang kita buat sebelumnya ke setiap layanan backend.

Tambahkan MIG Timur ke layanan backend.

Dari Cloud Shell

gcloud compute backend-services add-backend east-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-east1-mig \
    --instance-group-zone=us-east1-b \
    --global

Tambahkan MIG West ke layanan backend.

Dari Cloud Shell

gcloud compute backend-services add-backend west-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-west1-mig \
    --instance-group-zone=us-west1-a \
    --global

Tambahkan MIG Pusat ke layanan backend.

Dari Cloud Shell

gcloud compute backend-services add-backend central-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-central1-mig \
    --instance-group-zone=us-central1-a \
    --global

Buat Peta URL

Peta URL adalah tempat fitur pengelolaan traffic lanjutan untuk lab ini akan berada. Kita harus membuat file .yaml yang akan berisi konfigurasi. Dalam file .yaml, kita telah membuat pencocokan awalan di /roundrobbin, sehingga hanya traffic yang cocok dengan /roundrobbin yang akan terpengaruh oleh konfigurasi ini. Kita telah menentukan bahwa 50% traffic harus menuju east-backend-service dan 50% traffic harus menuju west-backend-service. Selain itu, kami telah menambahkan nilai header respons:{test} yang akan ada di semua respons. Terakhir, kita telah menambahkan bahwa semua traffic harus diduplikasi ke central-backend-service. Traffic diduplikasi dan dikirim ke sini hanya untuk tujuan pengujian.

Simpan contoh sebagai file .yaml di komputer Anda.

defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
kind: compute #urlMap
name: web-map-http
hostRules:
- hosts:
  - '*'
  pathMatcher: matcher1
pathMatchers:
- defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
  name: matcher1
  routeRules:
  - matchRules:
    - prefixMatch: /roundrobbin
    priority: 2
    headerAction:
        responseHeadersToAdd:
          - headerName: test
            headerValue: value
            replace: True
    routeAction:
        weightedBackendServices:
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
          weight: 50
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service
          weight: 50
        retryPolicy:
            retryConditions: ['502', '504']
            numRetries: 3
            perTryTimeout:
                seconds: 1
                nanos: 50
        requestMirrorPolicy:
          backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service

Buat Peta URL dengan mengimpor dokumen dari komputer Anda. Perhatikan bahwa jalur sumber akan berbeda-beda bergantung pada tempat Anda menyimpan file .yaml.

Dari Cloud Shell

gcloud compute url-maps import web-map-http \
   --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \
   --global

Membuat Frontend HTTP

Langkah terakhir dalam membuat load balancer adalah membuat frontend. Tindakan ini akan memetakan alamat IP yang Anda pesan sebelumnya ke peta URL load balancer yang Anda buat.

Dari Cloud Shell

gcloud compute target-http-proxies create http-lb-proxy-adv \
    --url-map=web-map-http

Selanjutnya, Anda perlu membuat aturan penerusan global yang akan memetakan alamat IP yang dicadangkan sebelumnya ke proxy HTTP.

Dari Cloud Shell

gcloud compute forwarding-rules create http-content-rule \
    --load-balancing-scheme EXTERNAL_MANAGED \
    --address=lb-ipv4-2 \
    --global \
    --target-http-proxy=http-lb-proxy-adv \
    --ports=80

6. Memastikan bahwa Fitur Traffic Lanjutan Berfungsi

Untuk memverifikasi bahwa fitur pembagian traffic yang diterapkan berfungsi, Anda perlu membuat beberapa beban. Untuk melakukannya, kita akan membuat VM baru untuk menyimulasikan beban.

Buat Aturan Firewall Izinkan SSH

Untuk menerapkan SSH ke VM yang akan kita gunakan untuk membuat traffic, Anda harus membuat aturan firewall terlebih dahulu yang akan mengizinkan traffic SSH ke VM.

Dari Cloud Shell

gcloud compute firewall-rules create fw-allow-ssh \
    --network=httplbs \
    --action=allow \
    --direction=ingress \
    --target-tags=allow-ssh \
    --rules=tcp:22

Output

NAME          NETWORK  DIRECTION  PRIORITY  ALLOW   DENY  DISABLED
fw-allow-ssh  httplbs  INGRESS    1000      tcp:22        False

Membuat Siege-vm

Sekarang Anda akan membuat siege-vm yang akan digunakan untuk menghasilkan beban

Dari Cloud Shell

gcloud compute instances create siege-vm \
    --network=httplbs \
    --zone=us-east4-c \
    --machine-type=e2-medium \
    --tags=allow-ssh,http-server \
    --metadata=startup-script='sudo apt-get -y install siege'

Output

NAME     ZONE        MACHINE_TYPE INTERNAL_IP  EXTERNAL_IP    STATUS
siege-vm us-east4-c  e2-medium    10.150.0.3   34.85.218.119  RUNNING

Selanjutnya, Anda dapat melakukan SSH ke VM yang Anda buat. Setelah dibuat, klik SSH untuk meluncurkan terminal, lalu hubungkan.

Setelah terhubung, jalankan perintah berikut untuk menghasilkan beban. Gunakan alamat IP yang Anda cadangkan sebelumnya untuk load balancer http eksternal.

Dari Cloud Shell

siege -c 250 http://[$lb-ipv4-2]/roundrobbin

Output

New configuration template added to /home/cloudcurriculumdeveloper/.siege
Run siege -C to view the current settings in that file
[alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...

Memeriksa Distribusi Beban

Setelah Siege berjalan, saatnya memeriksa apakah traffic didistribusikan secara merata ke grup instance terkelola timur dan barat. Selain itu, Anda dapat memeriksa apakah pencerminan traffic berfungsi dan traffic dikirim ke grup instance terkelola pusat.

Di Konsol Cloud, pada Navigation menu, klik Network Services > Load balancing. Pilih load balancer web-map-http. Buka tab Pemantauan dan Anda akan dapat melihat diagram di bawah.

f4d6803db44be253.png

Anda akan dapat melihat pembagian traffic secara real time ke MIG ini. Traffic dibagi secara merata karena Anda mengonfigurasi pemisahan round robin 50/50.

Untuk memeriksa apakah kebijakan duplikasi traffic yang Anda buat berfungsi, Anda perlu memeriksa pemanfaatan grup instance terkelola central-backend-service. Untuk melakukannya, buka compute, compute engine, instance groups, lalu pilih us-central1-mig. Selanjutnya, buka tab pemantauan.

cf25e44d511529e7.png

Anda akan melihat diagram yang terisi dan menunjukkan bahwa traffic telah di-mirror ke grup instance terkelola ini.

Hentikan Pengepungan

Setelah Anda menunjukkan bahwa pemisahan traffic lanjutan berfungsi, saatnya menghentikan serangan. Untuk melakukannya, kembali ke terminal SSH siege-vm dan tekan CTRL+C untuk menghentikan siege yang sedang berjalan.

Memvalidasi Header Respons yang Dikirim

Sebelum membersihkan, Anda dapat dengan cepat memvalidasi bahwa header respons yang sesuai sedang dikirim oleh load balancer http. Anda telah mengonfigurasinya untuk mengirim pengujian header dengan nilai konten. Menjalankan perintah curl dari Cloud Shell akan memberikan respons yang diharapkan.

Dari Cloud Shell

curl -svo /dev/null http://lb-ipv4-2/roundrobbin

Output

*   Trying lb-ipv4-2..
* TCP_NODELAY set
* Connected to  lb-ipv4-2 ( lb-ipv4-2) port 80 (#0)
> GET /roundrobbin HTTP/1.1
> Host:  lb-ipv4-2
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< date: Wed, 10 Nov 2021 17:05:27 GMT
< server: envoy
< Content-Length: 273
< content-type: text/html; charset=iso-8859-1
< via: 1.1 google
< test: value
<
{ [273 bytes data]
* Connection #0 to host 34.149.2.26 left intact
* Closing connection 0

7. Pembersihan Lab

Sekarang setelah kita selesai menggunakan lingkungan lab, saatnya untuk menghapusnya. Jalankan perintah berikut untuk menghapus lingkungan pengujian.

Dari Cloud Shell

gcloud compute instances delete siege-vm --zone=us-east4-c

gcloud compute forwarding-rules delete http-content-rule --global
gcloud compute target-http-proxies delete http-lb-proxy-adv
gcloud compute url-maps delete web-map-http
gcloud compute backend-services delete east-backend-service --global
gcloud compute backend-services delete west-backend-service --global
gcloud compute backend-services delete central-backend-service --global

gcloud compute addresses delete lb-ipv4-2 --global
gcloud compute health-checks delete http-basic-check 

gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b
gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a
gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a

gcloud compute instance-templates delete "us-east1-template" 
gcloud compute instance-templates delete "us-west1-template" 
gcloud compute instance-templates delete "us-central1-template" 

gcloud compute firewall-rules delete httplb-allow-http-rule
gcloud compute firewall-rules delete fw-allow-ssh

gcloud compute networks delete httplbs 

8. Selamat!

Anda telah menyelesaikan Codelab External HTTPs LB with Advanced Traffic Management (Envoy).

Yang telah kita bahas

  • Cara menyiapkan Managed Instance Group serta aturan firewall dan VPC terkait
  • Cara menggunakan fitur pengelolaan traffic lanjutan pada load balancer baru
  • Cara memvalidasi bahwa fitur pengelolaan traffic lanjutan berfungsi sebagaimana mestinya.

Langkah berikutnya

  • Coba beberapa fitur perutean lanjutan lainnya seperti penulisan ulang URL, penambahan header CORS, dan banyak lagi ( link)