Menyiapkan Load Balancer Jaringan passthrough eksternal dengan NEG zona

Dokumen ini menunjukkan cara men-deploy Load Balancer Jaringan passthrough eksternal dengan backend grup endpoint jaringan zona (NEG). NEG Zona dengan endpoint GCE_VM_IP memungkinkan Anda melakukan hal berikut:

  • Teruskan paket ke antarmuka jaringan non-nic0 instance virtual machine (VM) dengan menampilkan antarmuka jaringan instance VM sebagai endpoint backend.
  • Buat kumpulan endpoint backend yang fleksibel tempat endpoint dapat dilampirkan ke beberapa NEG, dan setiap NEG dapat memiliki kumpulan endpoint yang berbeda tetapi mungkin tumpang tindih.

Sebelum mengikuti dokumen ini, pahami hal-hal berikut:

Izin

Untuk mengikuti langkah-langkah ini, Anda harus membuat instance dan mengubah jaringan dalam sebuah project. Anda harus menjadi pemilik atau editor project, atau Anda harus memiliki semua peran IAM Compute Engine berikut:

Tugas Peran yang diperlukan
Membuat jaringan, subnet, dan komponen load balancer Admin Jaringan
Menambahkan dan menghapus aturan firewall Security Admin
Membuat instance Compute Instance Admin

Untuk informasi selengkapnya, lihat halaman berikut:

Ringkasan penyiapan

Dokumen ini menunjukkan cara mengonfigurasi dan menguji Load Balancer Jaringan passthrough eksternal yang menggunakan backend NEG zona GCE_VM_IP. Langkah-langkah di bagian ini menjelaskan cara mengonfigurasi hal-hal berikut:

  1. Contoh jaringan VPC yang disebut lb-network dengan subnet kustom.
  2. Aturan firewall yang mengizinkan koneksi masuk ke VM backend.
  3. Empat VM:
    • VM vm-a1 dan vm-a2 dalam zona us-west1-a
    • VM vm-c1 dan vm-c2 dalam zona us-west1-c
  4. Dua NEG zona backend, neg-a di zona us-west1-a, dan neg-c di zona us-west1-c. Setiap NEG memiliki endpoint berikut:
    • neg-a berisi dua endpoint ini:
      • nic1 VM vm-a1 diidentifikasi berdasarkan alamat IP internal utamanya
      • nic1 VM vm-a2 diidentifikasi berdasarkan alamat IP internal utamanya
    • neg-c berisi dua endpoint ini:
      • nic1 VM vm-c1 diidentifikasi berdasarkan alamat IP internal utamanya
      • nic1 VM vm-c2 diidentifikasi berdasarkan alamat IP internal utamanya
  5. Satu VM klien (vm-client) di us-west1-a untuk menguji koneksi
  6. Komponen load balancer berikut:
    • Layanan backend eksternal di region us-west1 untuk mengelola distribusi koneksi ke dua NEG zona
    • Aturan penerusan eksternal dan alamat IP untuk frontend load balancer

Load Balancer Jaringan passthrough eksternal adalah load balancer regional. Semua komponen load balancer (VM backend, layanan backend, dan aturan penerusan) harus berada di region yang sama.

Arsitektur untuk contoh ini terlihat seperti ini:

Load Balancer Jaringan passthrough eksternal dengan NEG zona.
Load Balancer Jaringan passthrough eksternal dengan NEG zona (klik untuk memperbesar).

Sebelum memulai

Instal Google Cloud CLI. Untuk ringkasan lengkap tentang alat ini, baca ringkasan gcloud CLI. Anda dapat menemukan perintah yang terkait dengan load balancing di referensi API dan gcloud.

Jika Anda belum pernah menjalankan gcloud CLI, jalankan perintah gcloud init terlebih dahulu untuk melakukan autentikasi.

Halaman ini mengasumsikan bahwa Anda sudah terbiasa dengan bash.

Menyiapkan jaringan dan subnet

Contoh di halaman ini menggunakan jaringan VPC mode kustom bernama lb-network. Anda dapat menggunakan jaringan VPC mode otomatis jika hanya ingin menangani traffic IPv4. Namun, traffic IPv6 memerlukan subnet mode kustom.

Traffic IPv6 juga memerlukan subnet dual-stack (stack-type yang disetel ke IPv4_IPv6). Saat membuat subnet stack ganda di jaringan VPC mode kustom, Anda memilih jenis akses IPv6 untuk subnet tersebut. Untuk contoh ini, kita menetapkan parameter ipv6-access-type subnet ke EXTERNAL. Artinya, VM baru di subnet ini dapat diberi alamat IPv4 eksternal dan alamat IPv6 eksternal.

Backend dan komponen load balancer yang digunakan untuk contoh ini berada di region dan subnet ini:

  • Region: us-central1
  • Subnet: lb-subnet, dengan rentang alamat IPv4 utama 10.1.2.0/24. Meskipun Anda memilih rentang alamat IPv4 yang dikonfigurasi di subnet, rentang alamat IPv6 akan ditetapkan secara otomatis. Google menyediakan blok CIDR IPv6 dengan ukuran tetap (/64).

Untuk membuat contoh jaringan dan subnet, ikuti langkah-langkah berikut.

Konsol

Untuk mendukung traffic IPv4 dan IPv6, gunakan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  2. Klik Create VPC network.

  3. Masukkan Nama lb-network.

  4. Di bagian Subnet:

    • Setel Subnet creation mode ke Custom.
    • Di bagian Subnet baru, konfigurasi kolom berikut, lalu klik Done:
      • Name: lb-subnet
      • Region: us-central1
      • Jenis stack IP: IPv4 dan IPv6 (dual-stack)
      • Rentang IPv4: 10.1.2.0/24
        Meskipun Anda dapat mengonfigurasi rentang alamat IPv4 untuk subnet, Anda tidak dapat memilih rentang alamat IPv6 untuk subnet. Google memberikan blok CIDR IPv6 dengan ukuran tetap (/64).
      • Jenis akses IPv6: Eksternal
  5. Klik Create.

Untuk mendukung traffic IPv4 saja, gunakan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  2. Klik Create VPC network.

  3. Masukkan Nama lb-network.

  4. Di bagian Subnet:

    • Setel Subnet creation mode ke Custom.
    • Di bagian Subnet baru, konfigurasi kolom berikut, lalu klik Done:
      • Name: lb-subnet
      • Region: us-central1
      • Jenis stack IP: IPv4 (stack tunggal)
      • Rentang IPv4: 10.1.2.0/24
  5. Klik Create.

gcloud

  1. Buat jaringan VPC mode kustom:

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. Dalam jaringan lb-network, buat subnet untuk backend di region us-central1.

    Untuk traffic IPv4 dan IPv6, gunakan perintah berikut untuk membuat subnet stack ganda:

    gcloud compute networks subnets create lb-subnet \
      --stack-type=IPV4_IPv6 \
      --ipv6-access-type=EXTERNAL \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

    Untuk traffic IPv4 saja, gunakan perintah berikut:

    gcloud compute networks subnets create lb-subnet \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

Membuat grup endpoint jaringan dan VM

Untuk menunjukkan sifat regional Load Balancer Jaringan passthrough eksternal, contoh ini menggunakan dua backend NEG zona di dua zona yang berbeda. Traffic diseimbangkan di kedua NEG, dan di seluruh endpoint dalam setiap NEG.

Membuat VM

Untuk skenario load balancing ini, Anda perlu membuat empat VM dan menginstal server web Apache di setiap instance. Server web mendengarkan di TCP port 80. Secara {i>default<i}, Apache dikonfigurasi untuk mengikat ke alamat IP apa pun. Load Balancer Jaringan passthrough eksternal mengirimkan paket dengan mempertahankan alamat IP tujuan.

Demi kemudahan instruksi, VM backend ini menjalankan Debian GNU Linux 10.

Untuk menangani traffic IPv4 dan IPv6, konfigurasikan VM backend menjadi dual-stack. Tetapkan stack-type VM ke IPv4_IPv6. VM juga mewarisi setelan ipv6-access-type (dalam contoh ini, EXTERNAL) dari subnet. Untuk mengetahui detail selengkapnya tentang persyaratan IPv6, lihat Ringkasan Load Balancer Jaringan passthrough eksternal: Aturan penerusan.

Untuk menggunakan VM yang ada sebagai backend, perbarui VM menjadi dual stack dengan menggunakan perintah gcloud compute instances network-interfaces update.

Instance yang berpartisipasi sebagai VM backend untuk Load Balancer Jaringan passthrough eksternal harus menjalankan lingkungan tamu Linux, lingkungan tamu Windows yang sesuai, atau proses lain yang menyediakan kemampuan yang setara.

Setiap VM dibuat dengan dua antarmuka jaringan, nic0 dan nic1. Tutorial ini menggunakan nic1, yang terkait dengan jaringan VPC lb-network dan subnet lb-subnet. Gunakan jaringan lb-network dan subnet lb-subnet ini untuk membuat NEG zona nanti dalam prosedur ini.

Konsol

Membuat VM

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Ulangi langkah-langkah berikut untuk membuat empat VM, menggunakan kombinasi nama dan zona berikut:

    • Nama: vm-a1, zona: us-west1-a
    • Nama: vm-a2, zona: us-west1-a
    • Nama: vm-c1, zona: us-west1-c
    • Nama: vm-c2, zona: us-west1-c
  3. Klik Create instance.

  4. Tetapkan Nama seperti yang ditunjukkan sebelumnya.

  5. Untuk Region, pilih us-west1, lalu pilih Zone seperti yang ditunjukkan sebelumnya.

  6. Di bagian Boot disk, pastikan sistem operasi Debian dan versi 10 (buster) dipilih untuk opsi boot disk. Jika perlu, klik Choose untuk mengubah gambar.

  7. Klik Advanced options dan buat perubahan berikut:

    • Klik Networking, lalu tambahkan Tag jaringan berikut: lb-tag
    • Untuk Network interfaces, klik Add network interface, lalu lakukan perubahan berikut:

      Untuk backend IPv4 dan IPv6:

      • Jaringan: lb-network
      • Subnet: lb-subnet
      • Jenis stack IP: IPv4 and IPv6 (dual-stack)
      • IP internal utama: Ephemeral (otomatis)
      • Alamat IPv4 eksternal: Ephemeral (otomatis)
      • Alamat IPv6 eksternal: Alokasikan otomatis

      Untuk backend khusus IPv4:

      • Jaringan: lb-network
      • Subnet: lb-subnet
      • Jenis stack IP: IPv4 (single-stack)
      • IP internal utama: Ephemeral (otomatis)
      • IP Eksternal: Efemeral

      Kemudian, klik Done.

    • Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Konten skrip identik untuk keempat VM:

      #! /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" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  8. Klik Create.

gcloud

Buat empat VM dengan menjalankan perintah berikut empat kali, menggunakan keempat kombinasi ini untuk [VM-NAME] dan [ZONE]. Konten skrip identik untuk keempat VM.

  • VM_NAME: vm-a1 dan ZONE: us-west1-a
  • VM_NAME: vm-a2 dan ZONE: us-west1-a
  • VM_NAME: vm-c1 dan ZONE: us-west1-c
  • VM_NAME: vm-c2 dan ZONE: us-west1-c

Untuk menangani traffic IPv4 dan IPv6, gunakan perintah berikut.

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \
    --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" | \
      tee /var/www/html/index.html
      systemctl restart apache2'

Untuk menangani traffic khusus traffic IPv4, gunakan perintah berikut:

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=lb-tag \
    --network-interface=network=default,subnet=default,stack_type=IPv4_ONLY \
    --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_ONLY \
    --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" | \
      tee /var/www/html/index.html
      systemctl restart apache2'

Membuat NEG zona dengan GCE_VM_IP endpoint

NEG harus dibuat di zona yang sama dengan VM yang dibuat pada langkah sebelumnya. Contoh ini juga membuat NEG di jaringan VPC lb-network dan subnet lb-subnet yang terkait dengan nic1 dari VM yang dibuat pada langkah sebelumnya. Oleh karena itu, endpoint NEG akan berada di nic1 VM.

Konsol

Untuk membuat grup endpoint jaringan zona:

  1. Buka halaman Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka halaman Grup Endpoint Jaringan
  2. Klik Create network endpoint group.
  3. Masukkan Nama untuk NEG zona: neg-a.
  4. Pilih Network endpoint group type: Network endpoint group (Zonal).
  5. Pilih Network: lb-network
  6. Pilih Subnet: lb-subnet
  7. Pilih Zone: us-west1-a
  8. Klik Create.
  9. Ulangi langkah-langkah ini untuk membuat NEG zona kedua yang disebut neg-c, di zona us-west1-c.

Tambahkan endpoint ke NEG zona:

  1. Buka halaman Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka Grup endpoint jaringan
  2. Klik Nama grup endpoint jaringan pertama yang dibuat pada langkah sebelumnya (neg-a). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Network endpoint in this group, klik Add network endpoint. Anda akan melihat halaman Add network endpoint.

    1. Klik VM instance dan pilih vm-a1 untuk menambahkan alamat IP internalnya sebagai endpoint jaringan.
    2. Klik Create.
    3. Sekali lagi, klik Add network endpoint dan di bagian VM instance, pilih vm-a2.
    4. Klik Create.
  4. Klik Nama grup endpoint jaringan kedua yang dibuat pada langkah sebelumnya (neg-c). Anda akan melihat halaman Detail grup endpoint jaringan.

  5. Di bagian Network endpoint in this group, klik Add network endpoint. Anda akan melihat halaman Add network endpoint.

    1. Klik VM instance dan pilih vm-c1 untuk menambahkan alamat IP internalnya sebagai endpoint jaringan.
    2. Klik Create.
    3. Sekali lagi, klik Add network endpoint dan di bagian VM instance, pilih vm-c2.
    4. Klik Create.

gcloud

  1. Buat NEG zona GCE_VM_IP yang disebut neg-a di us-west1-a menggunakan perintah gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-a \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-a \
        --network=lb-network \
        --subnet=lb-subnet
    
  2. Tambahkan endpoint ke neg-a:

    gcloud compute network-endpoint-groups update neg-a \
        --zone=us-west1-a \
        --add-endpoint='instance=vm-a1' \
        --add-endpoint='instance=vm-a2'
    
  3. Buat NEG zona GCE_VM_IP yang disebut neg-c di us-west1-c menggunakan perintah gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-c \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-c \
        --network=lb-network \
        --subnet=lb-subnet
    
  4. Tambahkan endpoint ke neg-c:

    gcloud compute network-endpoint-groups update neg-c \
        --zone=us-west1-c \
        --add-endpoint='instance=vm-c1' \
        --add-endpoint='instance=vm-c2'
    

Mengonfigurasi aturan firewall

Buat aturan firewall yang mengizinkan traffic eksternal (yang mencakup pemeriksaan health check) untuk menjangkau backend instance.

Contoh ini membuat aturan firewall yang memungkinkan traffic TCP dari semua rentang sumber untuk mencapai backend instance Anda di port 80. Jika Anda ingin membuat aturan firewall terpisah khusus untuk pemeriksaan health check, gunakan rentang alamat IP sumber yang didokumentasikan dalam Ringkasan health check: Rentang IP pemeriksaan dan aturan firewall.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall.

    Buka Firewall

  2. Untuk mengizinkan traffic IPv4, lakukan langkah-langkah berikut:

    1. Klik Create firewall rule.
    2. Masukkan Nama: allow-network-lb-ipv4.
    3. Untuk Network, pilih lb-network.
    4. Untuk Targets, pilih Specified target tags.
    5. Untuk kolom Tag target, masukkan lb-tag.
    6. Untuk Source filter, pilih IPv4 ranges.
    7. Tetapkan Source IPv4 ranges ke 0.0.0.0/0. Hal ini memungkinkan lalu lintas IPv4 dari sumber mana pun. Hal ini juga memungkinkan pemeriksaan health check Google menjangkau backend instance.
    8. Untuk Specified protocols and ports, pilih TCP, lalu masukkan 80.
    9. Klik Create.
  3. Untuk mengizinkan traffic IPv6, lakukan langkah-langkah berikut:

    1. Klik Create firewall rule lagi.
    2. Masukkan Nama: allow-network-lb-ipv6.
    3. Untuk Network, pilih lb-network.
    4. Untuk Targets, pilih Specified target tags.
    5. Untuk kolom Tag target, masukkan lb-tag.
    6. Untuk Source filter, pilih IPv6 ranges.
    7. Setel Rentang IPv6 sumber ke ::/0. Hal ini memungkinkan lalu lintas IPv6 dari sumber mana pun. Hal ini juga memungkinkan pemeriksaan health check Google menjangkau backend instance.
    8. Untuk Specified protocols and ports, pilih TCP, lalu masukkan 80.
    9. Klik Create.

gcloud

  1. Untuk mengizinkan traffic IPv4, jalankan perintah berikut:

    gcloud compute firewall-rules create allow-network-lb-ipv4 \
        --network=lb-network \
        --target-tags=lb-tag \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
    
  2. Untuk mengizinkan traffic IPv6, jalankan perintah berikut:

    gcloud compute firewall-rules create allow-network-lb-ipv6 \
      --network=lb-network \
      --target-tags=lb-tag \
      --allow=tcp:80 \
      --source-ranges=::/0
    

Mengonfigurasi load balancer

Selanjutnya, siapkan load balancer.

Saat mengonfigurasi load balancer, VM akan menerima paket yang ditujukan untuk alamat IP eksternal statis yang dikonfigurasi. Jika Anda menggunakan image yang disediakan oleh Compute Engine, instance Anda akan otomatis dikonfigurasi untuk menangani alamat IP ini. Jika menggunakan gambar lain, Anda harus mengonfigurasi alamat ini sebagai alias pada eth1 atau sebagai loopback pada setiap instance.

Konsol

Memulai konfigurasi Anda

  1. Di Konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Klik Create load balancer.
  3. Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
  4. Untuk Proxy or passthrough, pilih Passthrough load balancer lalu klik Next.
  5. Untuk Public facing or internal, pilih Public facing (eksternal), lalu klik Next.
  6. Klik Konfigurasikan.

Konfigurasi backend

  1. Di halaman Create external passthrough Network Load Balancer, masukkan nama network-lb-zonal-neg untuk load balancer baru.
  2. Untuk Region, pilih us-west1.
  3. Di bagian Backend type, pilih Zonal network endpoint group.
  4. Klik Backend configuration. Nama load balancer yang Anda masukkan sebelumnya akan muncul, tetapi tidak dapat diubah.
  5. Di halaman Backend configuration, buat perubahan berikut:
    1. Di daftar Grup endpoint jaringan, pilih neg-a, lalu klik Selesai.
    2. Klik Add backend dan ulangi langkah sebelumnya untuk menambahkan neg-c.
    3. Untuk Health check, pilih Create a health check atau Create another health check, lalu masukkan informasi berikut:
      • Name: tcp-health-check
      • Protokol: TCP
      • Port: 80
    4. Klik Save.
  6. Pastikan ada tanda centang biru di samping Konfigurasi Backend sebelum melanjutkan.

Konfigurasi frontend

  1. Klik Frontend configuration.
  2. Untuk Name, masukkan netlb-forwarding-rule.
  3. Untuk menangani traffic IPv4, gunakan langkah-langkah berikut:
    1. Untuk IP version, pilih IPv4.
    2. Untuk IP address, klik menu drop-down lalu pilih Create IP address.
      1. Di halaman Reserve a new static IP address, untuk Name, masukkan netlb-ipv4-address.
      2. Klik Reserve.
    3. Untuk Ports, pilih Single. Untuk Nomor port, masukkan 80.
    4. Klik Done.
  4. Untuk menangani traffic IPv6, gunakan langkah-langkah berikut:

    1. Untuk IP version, pilih IPv6.
    2. Untuk Subnetwork, pilih lb-subnet.
    3. Untuk IPv6 range, klik menu drop-down dan pilih Create IP address.
      1. Di halaman Reserve a new static IP address, untuk Name, masukkan netlb-ipv6-address.
      2. Klik Reserve.
    4. Untuk Ports, pilih Single. Untuk Nomor port, masukkan 80.
    5. Klik Done.

    Lingkaran biru dengan tanda centang di sebelah kiri Frontend configuration menunjukkan penyiapan yang berhasil.

Meninjau konfigurasi

  1. Klik Review and finalize.
  2. Tinjau setelan konfigurasi load balancer Anda.
  3. Opsional: Klik Equivalent code untuk melihat permintaan REST API yang akan digunakan untuk membuat load balancer.
  4. Klik Create.

    Di halaman load balancing, di bagian kolom Backend untuk load balancer baru, Anda akan melihat tanda centang hijau yang menunjukkan bahwa load balancer baru sudah responsif.

gcloud

  1. Lakukan reservasi alamat IP eksternal statis.

    Untuk traffic IPv4: Buat alamat IPv4 eksternal statis untuk load balancer Anda.

    gcloud compute addresses create netlb-ipv4-address \
        --region=us-west1
    

    Untuk traffic IPv6: Buat rentang alamat IPv6 eksternal statis untuk load balancer Anda. Subnet yang digunakan harus berupa subnet dual stack dengan rentang IPv6 eksternal.

    gcloud compute addresses create netlb-ipv6-address \
        --region=us-west1 \
        --subnet=lb-subnet \
        --ip-version=IPV6 \
        --endpoint-type=NETLB
    
  2. Membuat health check TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region=us-west1 \
        --port=80
    
  3. Buat layanan backend.

    gcloud compute backend-services create networklb-backend-service \
        --protocol=TCP \
        --health-checks=tcp-health-check \
        --health-checks-region=us-west1 \
        --region=us-west1
    
  4. Tambahkan dua NEG zona, neg-a dan neg-c, ke layanan backend:

    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-a \
        --network-endpoint-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend networklb-backend-service \
        --region=us-west1 \
        --network-endpoint-group=neg-c \
        --network-endpoint-group-zone=us-west1-c
    
  5. Buat aturan penerusan tergantung pada apakah Anda ingin menangani lalu lintas IPv4 atau lalu lintas IPv6. Buat kedua aturan penerusan untuk menangani kedua jenis traffic.

    1. Untuk traffic IPv4: Buat aturan penerusan untuk merutekan traffic TCP yang masuk ke layanan backend. Gunakan alamat IPv4 yang dicadangkan di langkah 1 sebagai alamat IP eksternal statis load balancer.

      gcloud compute forwarding-rules create forwarding-rule-ipv4 \
        --load-balancing-scheme=EXTERNAL \
        --region=us-west1 \
        --ports=80 \
        --address=netlb-ipv4-address \
        --backend-service=networklb-backend-service
      
    2. Untuk traffic IPv6: Buat aturan penerusan untuk menangani traffic IPv6. Gunakan rentang alamat IPv6 yang dicadangkan di langkah 1 sebagai alamat IP eksternal statis load balancer. Subnet yang digunakan harus berupa subnet dual-stack dengan rentang subnet IPv6 eksternal.

      gcloud compute forwarding-rules create forwarding-rule-ipv6 \
          --load-balancing-scheme=EXTERNAL \
          --region=us-west1 \
          --network-tier=PREMIUM \
          --ip-version=IPV6 \
          --subnet=lb-subnet \
          --address=netlb-ipv6-address \
          --ports=80 \
          --backend-service=networklb-backend-service
      

Menguji load balancer

Setelah layanan load balancing dikonfigurasi, Anda dapat mulai mengirim traffic ke alamat IP eksternal load balancer dan melihat traffic didistribusikan ke backend instance.

Mencari alamat IP eksternal load balancer

Konsol

  1. Di halaman load balancing Lanjutan, buka tab Aturan penerusan.

    Buka Aturan penerusan

  2. Temukan aturan penerusan yang digunakan oleh load balancer.

  3. Di kolom Address, perhatikan alamat IP eksternal yang tercantum.

gcloud: IPv4

Masukkan perintah berikut untuk melihat alamat IPv4 eksternal dari aturan penerusan network-lb-forwarding-rule yang digunakan oleh load balancer.

gcloud compute forwarding-rules describe forwarding-rule-ipv4 \
    --region=us-west1

gcloud: IPv6

Masukkan perintah berikut untuk melihat alamat IPv6 eksternal dari aturan penerusan network-lb-forwarding-rule yang digunakan oleh load balancer.

gcloud compute forwarding-rules describe forwarding-rule-ipv6 \
    --region=us-west1

Mengirim traffic ke load balancer

Buat permintaan web ke load balancer menggunakan curl untuk menghubungi alamat IP-nya.

  • Dari klien dengan konektivitas IPv4, jalankan perintah berikut:

    $ while true; do curl -m1 IPV4_ADDRESS; done
    
  • Dari klien dengan konektivitas IPv6, jalankan perintah berikut:

    $ while true; do curl -m1 http://IPV6_ADDRESS; done
    

    Misalnya, jika alamat IPv6 yang ditetapkan adalah [2001:db8:1:1:1:1:1:1/96]:80, perintahnya akan terlihat seperti ini:

    $ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

Perhatikan teks yang ditampilkan oleh perintah curl. Nama VM backend yang menghasilkan respons ditampilkan dalam teks tersebut; misalnya: Page served from: VM_NAME

Respons dari perintah curl bergantian secara acak di antara instance backend. Jika respons di awal tidak berhasil, Anda mungkin harus menunggu sekitar 30 detik hingga konfigurasi dimuat sepenuhnya dan instance dianggap responsif sebelum mencoba lagi.

Opsi konfigurasi tambahan

Untuk menyesuaikan Load Balancer Jaringan passthrough eksternal lebih lanjut, Anda dapat mengonfigurasi afinitas sesi, pengarahan traffic, dan menyiapkan kebijakan failover atau kebijakan pelacakan koneksi. Tugas ini bersifat opsional dan Anda dapat melakukannya dalam urutan apa pun. Untuk petunjuk, lihat Opsi konfigurasi tambahan.

Langkah selanjutnya