Menyiapkan Load Balancer Jaringan passthrough eksternal dengan NEG zonal

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

  • Teruskan paket ke antarmuka jaringan non-nic0 dari instance virtual machine (VM) dengan merepresentasikan 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 perlu membuat instance dan mengubah jaringan dalam project. Anda harus menjadi pemilik atau editor project, atau Anda harus memiliki semua peran IAM Compute Engine berikut:

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

Untuk informasi lebih lanjut, lihat halaman berikut:

Ringkasan penyiapan

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

  1. Contoh jaringan VPC bernama lb-network dengan subnet kustom.
  2. Aturan firewall yang mengizinkan koneksi masuk ke VM backend.
  3. Empat VM:
    • VM vm-a1 dan vm-a2 di zona us-west1-a
    • VM vm-c1 dan vm-c2 di zona us-west1-c
  4. Dua NEG zonal 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 dari VM vm-a1 yang diidentifikasi berdasarkan alamat IP internal utamanya
      • nic1 dari VM vm-a2 yang diidentifikasi berdasarkan alamat IP internal utamanya
    • neg-c berisi dua endpoint ini:
      • nic1 dari VM vm-c1 yang diidentifikasi berdasarkan alamat IP internal utamanya
      • nic1 dari VM vm-c2 yang 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 dan alamat IP eksternal 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 mengetahui ringkasan lengkap alat ini, lihat ringkasan gcloud CLI. Anda dapat menemukan perintah yang terkait dengan load balancing di referensi API dan gcloud.

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

Halaman ini mengasumsikan bahwa Anda sudah memahami 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 ditetapkan ke IPv4_IPv6). Saat membuat subnet dual-stack di jaringan VPC mode kustom, Anda memilih jenis akses IPv6 untuk subnet. 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. Aturan penerusan juga dapat ditetapkan ke 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 ditetapkan secara otomatis. Google menyediakan blok CIDR IPv6 berukuran 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 New subnet, konfigurasikan kolom berikut, lalu klik Done:
      • Nama: lb-subnet
      • Region: us-central1
      • IP stack type: IPv4 and 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 menyediakan blok CIDR IPv6 ukuran tetap (/64).
      • Jenis akses IPv6: Eksternal
  5. Klik Create.

Untuk mendukung hanya traffic IPv4, 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 New subnet, konfigurasikan kolom berikut, lalu klik Done:
      • Nama: lb-subnet
      • Region: us-central1
      • Jenis stack IP: IPv4 (single-stack)
      • 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 dual-stack:

    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 VM dan grup endpoint jaringan

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

Membuat VM

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

Untuk memudahkan petunjuk, VM backend ini menjalankan Debian GNU Linux 10.

Untuk menangani traffic IPv4 dan IPv6, konfigurasikan VM backend menjadi stack ganda. 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, update VM menjadi dual-stack 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, atau proses lain yang memberikan kemampuan yang setara.

Setiap VM dibuat dengan dua antarmuka jaringan, nic0 dan nic1. Tutorial ini menggunakan nic1, yang dikaitkan dengan jaringan VPC lb-network dan subnet lb-subnet. Gunakan jaringan lb-network dan subnet lb-subnet ini untuk membuat NEG zonal 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 Name seperti yang ditunjukkan sebelumnya.

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

  6. Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Jika perlu, klik Pilih untuk mengubah gambar.

  7. Klik Advanced options, lalu buat perubahan berikut:

    • Klik Networking dan tambahkan Network tags berikut: lb-tag
    • Untuk Network interfaces, klik Add network interface dan buat perubahan berikut:

      Untuk backend IPv4 dan IPv6:

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

      Untuk backend khusus IPv4:

      • Jaringan: lb-network
      • Subnet: lb-subnet
      • Jenis stack IP: IPv4 (single-stack)
      • Primary internal IP: Ephemeral (otomatis)
      • External IP: Sementara

      Kemudian, klik Done.

    • Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk empat 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 empat kombinasi ini untuk [VM-NAME] dan [ZONE]. Konten skrip sama 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-12 \
    --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-12 \
    --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 endpoint GCE_VM_IP

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

Konsol

Untuk membuat grup endpoint jaringan zonal:

  1. Buka halaman Network Endpoint Groups di konsol Google Cloud.
    Buka halaman Network Endpoint Groups
  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 Zona: 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 Network Endpoint Groups di konsol Google Cloud.
    Buka Network endpoint groups
  2. Klik Name grup endpoint jaringan pertama yang dibuat di langkah sebelumnya (neg-a). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.

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

  5. Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.

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

gcloud

  1. Buat NEG zonal 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 zonal 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 instance backend.

Contoh ini membuat aturan firewall yang mengizinkan traffic TCP dari semua rentang sumber untuk menjangkau instance backend 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: Memeriksa rentang IP 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 Target, pilih Tag target yang ditentukan.
    5. Untuk kolom Target tags, masukkan lb-tag.
    6. Untuk Source filter, pilih IPv4 ranges.
    7. Tetapkan Source IPv4 ranges ke 0.0.0.0/0. Tindakan ini memungkinkan traffic IPv4 dari sumber mana pun. Hal ini juga memungkinkan probe health check Google menjangkau instance backend.
    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 Target, pilih Tag target yang ditentukan.
    5. Untuk kolom Target tags, masukkan lb-tag.
    6. Untuk Source filter, pilih IPv6 ranges.
    7. Tetapkan Source IPv6 ranges ke ::/0. Tindakan ini memungkinkan traffic IPv6 dari sumber mana pun. Hal ini juga memungkinkan probe health check Google menjangkau instance backend.
    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 Anda mengonfigurasi load balancer, VM Anda 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 di eth1 atau sebagai loopback di setiap instance.

Untuk menyiapkan load balancer, gunakan petunjuk berikut.

Konsol

Memulai konfigurasi

  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 (external), 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, lakukan perubahan berikut:
    1. Dalam daftar Network endpoint group, pilih neg-a, lalu klik Done.
    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:
      • Nama: tcp-health-check
      • Protokol: TCP
      • Port: 80
    4. Klik Simpan.
  6. Pastikan ada tanda centang biru di samping Backend configuration 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 dan pilih Create IP address.
      1. Di halaman Reserve a new static IP address, untuk Name, masukkan netlb-ipv4-address.
      2. Klik Reserve.
    3. Untuk Port, pilih Single. Untuk Port number, 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 Rentang IPv6, 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 Port, pilih Single. Untuk Port number, masukkan 80.
    5. Klik Done.

    Lingkaran biru dengan tanda centang di sebelah kiri Konfigurasi frontend 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 kolom Backend untuk load balancer baru, Anda akan melihat tanda centang hijau yang menunjukkan bahwa load balancer baru berfungsi dengan baik.

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 zonal, 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, bergantung pada apakah Anda ingin menangani traffic IPv4 atau traffic IPv6. Buat kedua aturan penerusan untuk menangani kedua jenis traffic.

    1. Untuk traffic IPv4: Buat aturan penerusan untuk merutekan traffic TCP masuk ke layanan backend. Gunakan alamat IPv4 yang dicadangkan pada langkah 1 sebagai alamat IP eksternal statis dari 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 stack ganda 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 mengirimkan traffic ke alamat IP eksternal load balancer dan melihat traffic didistribusikan ke instance backend.

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, catat 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:

    $ 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 secara acak berubah di antara instance backend. Jika respons di awal tidak berhasil, Anda mungkin perlu menunggu sekitar 30 detik agar konfigurasi dimuat sepenuhnya dan instance Anda dianggap responsif sebelum mencoba lagi.

Opsi konfigurasi tambahan

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

Membuat aturan penerusan IPv6 dengan BYOIP

Load balancer yang dibuat pada langkah sebelumnya telah dikonfigurasi dengan aturan penerusan dengan IP version sebagai IPv4 atau IPv6. Bagian ini memberikan petunjuk untuk membuat aturan penerusan IPv6 dengan alamat bawa IP Anda sendiri (BYOIP).

Dengan Bawa alamat IP Anda sendiri, Anda dapat menyediakan dan menggunakan alamat IPv6 publik Anda sendiri untuk resource Google Cloud. Untuk informasi selengkapnya, lihat Menggunakan alamat IP Anda sendiri.

Sebelum mulai mengonfigurasi aturan penerusan IPv6 dengan alamat BYOIP, Anda harus menyelesaikan langkah-langkah berikut:

  1. Membuat awalan IPv6 yang diiklankan secara publik
  2. Membuat awalan yang didelegasikan publik
  3. Membuat sub-awalan IPv6
  4. Mengumumkan awalan

Untuk membuat aturan penerusan baru, ikuti langkah-langkah berikut:

Konsol

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

    Buka Load balancing.

  2. Klik nama load balancer yang ingin diubah.
  3. Klik Edit.
  4. Klik Frontend configuration.
  5. Klik Add frontend IP and port.
  6. Di bagian New Frontend IP and port, tentukan hal berikut:
    1. Protocol adalah TCP.
    2. Di kolom IP version, pilih IPv6.
    3. Di kolom Sumber rentang IPv6, pilih BYOIP.
    4. Dalam daftar IP collection, pilih sub-awalan yang dibuat di langkah sebelumnya dengan opsi aturan penerusan diaktifkan.
    5. Di kolom Rentang IPv6, masukkan rentang alamat IPv6. Rentang alamat IPv6 harus mematuhi spesifikasi sub-awalan IPv6.
    6. Di kolom Port, masukkan nomor port.
    7. Klik Done.
  7. Klik Perbarui.

Google Cloud CLI

Buat aturan penerusan menggunakan perintah gcloud compute forwarding-rules create:

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

Ganti kode berikut:

  • FWD_RULE_NAME: nama aturan penerusan
  • PROTOCOL: protokol IP untuk aturan penerusan Default-nya adalah TCP. Protokol IP dapat berupa salah satu dari TCP, UDP, atau L3_DEFAULT.
  • REGION_A: region untuk aturan penerusan
  • IPV6_CIDR_RANGE: rentang alamat IPv6 yang ditayangkan oleh aturan penerusan. Rentang alamat IPv6 harus mematuhi spesifikasi sub-awalan IPv6.
  • BACKEND_SERVICE: nama layanan backend
  • PDP_NAME: nama awalan yang didelegasikan publik. PDP harus berupa sub-awalan dalam mode EXTERNAL_IPV6_FORWARDING_RULE_CREATION

Langkah selanjutnya