Mengonversi Load Balancer Aplikasi ke IPv6

Dokumen ini menunjukkan cara mengonversi Load Balancer Aplikasi resource dan backend dari khusus IPv4 (single-stack) ke IPv4 dan IPv6 (dual-stack). Dalam dokumen ini, hanya IPv4 (single-stack) mengacu pada sumber daya yang hanya menggunakan alamat IPv4, dan IPv4 dan IPv6 (dual-stack) mengacu pada sumber daya yang menggunakan alamat IPv4 dan IPv6.

Manfaat

Ada beberapa manfaat dalam mengonversi load balancer menjadi dual stack:

  • Keuntungan utama dari IPv6 adalah bahwa kumpulan alamat IP yang jauh lebih besar dapat yang dialokasikan.

  • Banyak pelanggan yang sudah menggunakan load balancer IPv4 saja dapat melakukan konversi dari sumber daya IPv4 saja ke sumber daya IPv4 dan IPv6 (dual-stack) dengan memanfaatkan metode khusus cloud.

  • Anda dapat mengonfigurasi load balancer untuk menghentikan traffic masuk melakukan proxy traffic ini melalui koneksi IPv4 atau IPv6 ke backend Anda, berdasarkan preferensi Anda. Untuk informasi selengkapnya, lihat IPv6.

Batasan

  • Anda tidak dapat memperbarui jenis tumpukan IP subnet dari Hanya IPv4 dan IPv6 (dual-stack) ke IPv4.

  • Saat Anda mengonfigurasi kebijakan pemilihan alamat IP pada layanan backend sebagai Khusus IPv6, Anda masih dapat mengonfigurasi backend khusus IPv4. Namun demikian, menyebabkan backend yang tidak responsif, klien akan mendapatkan kode respons 503, dan lalu lintas tidak mengalir ke hulu. Log menunjukkan failed_to_pick_backend dalam statusDetails pesan kegagalan HTTP.

  • Anda dapat mengonfigurasi kebijakan pemilihan alamat IP layanan backend untuk Hanya IPv6, tetapi jenis tumpukan IP dari backend selalu IPv4 dan IPv6 (dual-stack).

  • Hanya backend grup instance VM dan grup endpoint jaringan zona (NEG) dengan endpoint GCE_VM_IP_PORT mendukung IPv4 dan IPv6 (dual-stack).

  • Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal regional, dan Load Balancer Aplikasi internal regional tidak mendukung aturan penerusan dengan IPv6. Traffic masuk Traffic IPv4 di-proxy-kan melalui koneksi IPv4 atau IPv6 ke backend dual-stack.

  • Load Balancer Aplikasi Klasik tidak mendukung backend dual-stack. Load balancer menghentikan traffic IPv6 masuk yang diterima dari klien IPv6 dan melakukan {i>proxy<i} untuk traffic ini melalui koneksi IPv4 ke backend IPv4 Anda.

Sebelum memulai

Anda harus sudah menyiapkan Load Balancer Aplikasi dengan stack khusus IPv4 dengan backend NEG zona atau grup instance.

Untuk informasi selengkapnya tentang cara menyiapkan Load Balancer Aplikasi eksternal global, lihat dokumentasi berikut:

Untuk informasi selengkapnya tentang cara menyiapkan Load Balancer Aplikasi eksternal regional, lihat dokumentasi berikut:

Untuk informasi selengkapnya tentang cara menyiapkan Load Balancer Aplikasi internal lintas region, lihat dokumentasi berikut:

Untuk informasi selengkapnya tentang cara menyiapkan Load Balancer Aplikasi internal regional, lihat dokumentasi berikut:

Mengidentifikasi sumber daya yang akan dikonversi

Perhatikan nama resource yang dikaitkan dengan load balancer. Anda harus memberikan nama ini nanti.

  1. Untuk membuat daftar semua subnet, gunakan Perintah gcloud compute networks subnets list:

    gcloud compute networks subnets list
    

    Perhatikan nama subnet dengan alamat khusus IPv4 yang akan dikonversi ke dual-stack. Nama ini nantinya disebut sebagai SUBNET. Jaringan VPC selanjutnya disebut sebagai NETWORK.

  2. Untuk menampilkan daftar semua layanan backend, gunakan metode Perintah gcloud beta compute backend-services list:

    gcloud beta compute backend-services list
    

    Perhatikan nama layanan backend yang akan dikonversi ke dual-stack. Nama ini nantinya disebut sebagai BACKEND_SERVICE.

  3. Untuk membuat daftar semua peta URL, gunakan atribut Perintah gcloud beta compute url-maps list:

    gcloud beta compute url-maps list
    

    Perhatikan nama peta URL yang terkait dengan load balancer Anda. Nama ini nantinya disebut sebagai URL_MAP.

  4. Jika sudah memiliki load balancer, untuk melihat jenis stack IP backend, gunakan Perintah gcloud compute instances list:

    gcloud compute instances list \
        --format= \
        "table(
        name,
        zone.basename(),
        networkInterfaces[].stackType.notnull().list(),
        networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6,
        networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"
    
  5. Untuk menampilkan semua instance VM dan template instance, gunakan metode Perintah gcloud compute instances list dan perintah gcloud compute instance-templates list:

    gcloud compute instances list
    
    gcloud compute instance-templates list
    

    Perhatikan nama instance dan template instance yang akan dikonversi ke dual-stack. Nama ini nantinya disebut sebagai VM_INSTANCE dan INSTANCE_TEMPLATES.

  6. Untuk menampilkan daftar semua grup endpoint jaringan zona (NEG), gunakan Perintah gcloud compute network-endpoint-groups list:

    gcloud compute network-endpoint-groups list
    

    Perhatikan nama backend NEG zona yang akan dikonversi ke dual-stack. Nama ini nantinya disebut sebagai ZONAL_NEG.

  7. Untuk menampilkan daftar semua proxy target, gunakan Perintah gcloud compute target-http-proxies list:

    gcloud compute target-http-proxies list
    

    Perhatikan nama proxy target yang terkait dengan load balancer Anda. Nama ini nantinya disebut sebagai TARGET_PROXY.

Mengonversi dari backend single-stack ke backend dual-stack

Bagian ini menunjukkan cara mengonversi resource dan backend load balancer menggunakan alamat IPv4 saja ({i>single-stack) <i}ke alamat IPv4 dan IPv6 (dual-stack).

Mengupdate subnet

Subnet dual-stack hanya didukung pada jaringan VPC mode kustom. Subnet dual-stack tidak didukung di jaringan VPC mode otomatis atau jaringan lama. Meskipun jaringan mode otomatis dapat berguna untuk mode kustom, VPC mode kustom lebih cocok untuk sebagian besar lingkungan production. Sebaiknya gunakan VPC dalam mode kustom.

Untuk mengupdate VPC ke setelan dual-stack, ikuti langkah-langkah berikut:

  1. Jika Anda menggunakan mode otomatis jaringan VPC, Anda harus terlebih dahulu mengonversi jaringan VPC mode otomatis mode kustom.

  2. Untuk mengaktifkan IPv6, lihat Mengubah jenis stack subnet menjadi dual stack.

  3. Opsional: Jika Anda ingin mengonfigurasi rentang alamat IPv6 internal subnet di jaringan ini, selesaikan langkah-langkah berikut:

    1. Untuk VPC network ULA internal IPv6 range, pilih Enabled.
    2. Untuk Allocate internal IPv6, pilih Automatically atau Manual.

      Jika Anda memilih Manually, masukkan rentang /48 dari dalam Rentang fd20::/20. Jika rentang ini sedang digunakan, Anda akan diminta untuk memberikan rentang yang berbeda.

Mengupdate subnet khusus proxy

Jika Anda menggunakan load balancer berbasis Envoy, sebaiknya ubah jenis stack subnet khusus proxy menjadi dual stack. Untuk mengetahui informasi tentang load balancer yang mendukung subnet khusus proxy, lihat Load balancer yang didukung.

Untuk mengubah jenis stack subnet khusus proxy menjadi dual stack, lakukan langkah berikut:

Konsol

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

    Buka jaringan VPC

  2. Klik nama jaringan untuk melihat halaman VPC network details.

  3. Klik tab Subnets.

  4. Di bagian Reserved proxy-only subnets for load balancing, klik nama subnet khusus {i>proxy<i} yang ingin Anda ubah.

  5. Di halaman Subnet details, klik Edit.

  6. Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack). Jenis akses IPv6 adalah Internal.

  7. Klik Simpan.

gcloud

Gunakan perintah subnets update.

gcloud compute networks subnets update PROXY_ONLY_SUBNET \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=REGION

Ganti kode berikut:

  • PROXY_ONLY_SUBNET: nama subnet khusus proxy.
  • REGION: region subnet.
  • IPv6_ACCESS_TYPE: jenis akses subnet IPv6 adalah INTERNAL.

Mengupdate instance atau template VM

Anda dapat mengonfigurasi alamat IPv6 pada instance VM jika subnet tempat VM terhubung memiliki rentang IPv6 yang dikonfigurasi. Hanya backend berikut yang dapat mendukung alamat IPv6:

  • Backend grup instance: Satu atau beberapa terkelola, tidak terkelola, atau kombinasi backend grup instance terkelola dan tidak terkelola.
  • NEG zona: Satu atau beberapa jenis zona GCE_VM_IP_PORT NEG.

Mengupdate instance VM

Anda tidak dapat mengedit instance VM yang merupakan bagian dari instance di grup instance. Untuk mengupdate instance VM ke dual stack, ikuti langkah-langkah berikut:

  1. Menghapus instance tertentu dari grup
  2. Membuat VM dual-stack
  3. Membuat instance dengan nama tertentu di MIG

Mengupdate template instance VM

Anda tidak dapat memperbarui template instance yang sudah ada. Jika Anda perlu melakukan perubahan, Anda dapat membuat {i>template<i} lain dengan properti yang serupa. Untuk mengupdate template instance VM ke dual stack, ikuti langkah-langkah berikut:

Konsol

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

    Buka halaman Template instance

    1. Klik template instance yang ingin Anda salin dan perbarui.
    2. Klik Buat yang serupa.
    3. Luaskan bagian Advanced options.
    4. Untuk Tag jaringan, masukkan allow-health-check-ipv6.
    5. Di bagian Network interfaces, klik Add a network interface.
    6. Dalam daftar Jaringan, pilih VPC mode kustom jaringan.
    7. Dalam daftar Subnetwork, pilih SUBNET.
    8. Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
    9. Klik Create.
  2. Memulai update berkelanjutan dasar pada instance terkelola grup MIG yang terkait dengan load balancer.

Memperbarui NEG zona

Endpoint NEG zona tidak dapat diedit. Anda harus menghapus endpoint IPv4 dan membuat endpoint dual-stack baru dengan alamat IPv4 dan IPv6.

Untuk menyiapkan NEG zona (dengan endpoint GCE_VM_IP_PORT jenis) di region REGION_A, buat VM terlebih dahulu di zona GCP_NEG_ZONE. Kemudian, tambahkan endpoint jaringan VM ke NEG zona.

Membuat VM

Konsol

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

    Buka instance VM

  2. Klik Create instance.

  3. Tetapkan Name ke vm-a1.

  4. Untuk Region, pilih REGION_A, lalu pilih nilai apa pun untuk kolom Zone. Zona ini disebut sebagai GCP_NEG_ZONE dalam prosedur ini.

  5. Di bagian Boot disk, pastikan bahwa Debian GNU/Linux 12 (bookworm) dipilih untuk boot disk lainnya. Klik Pilih untuk mengubah gambar jika diperlukan.

  6. Luaskan bagian Opsi lanjutan dan buat perubahan berikut:

    • Luaskan bagian Networking.
    • Di kolom Network tags, masukkan allow-health-check.
    • Di bagian Network interfaces, buat perubahan berikut:
      • Jaringan: NETWORK
      • Subnet: SUBNET
      • Jenis stack IP: IPv4 dan IPv6 (dual-stack)
    • Klik Done.
    • Klik Management. Di kolom Skrip startup, salin dan tempel isi skrip berikut.

      #! /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
      
  7. Klik Create.

  8. Ulangi langkah-langkah berikut untuk membuat VM kedua menggunakan perintah berikut kombinasi nama dan zona:

    • Nama: vm-a2, zona: GCP_NEG_ZONE

gcloud

Buat VM dengan menjalankan perintah berikut dua kali, menggunakan kombinasi ini untuk nama VM dan zonanya. Tujuan isi skrip identik untuk kedua VM.

  • VM_NAME dari vm-a1 dan apa pun GCP_NEG_ZONE zona pilihan Anda.
  • VM_NAME dari vm-a2 dan sama GCP_NEG_ZONE zona.

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --stack-type=IPV4_IPV6 \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-health-check \
        --subnet=SUBNET \
        --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'
    

Tambahkan endpoint ke NEG zona

Konsol

Untuk menambahkan endpoint ke NEG zona:

  1. Di Konsol Google Cloud, buka halaman Network endpoint groups.

    Buka Network endpoint groups

  2. Dalam daftar Name, klik nama grup endpoint jaringan (ZONAL_NEG). Anda akan melihat halaman Detail grup endpoint jaringan.

  3. Di bagian Endpoint jaringan di grup ini, pilih opsi sebelumnya endpoint NEG yang dibuat. Klik Remove endpoint.

  4. Di bagian Network endpoint in this group, klik Add network endpoint.

  5. Pilih VM instance.

  6. Di bagian Network interface, nama, zona, dan subnet VM ditampilkan.

  7. Di kolom Alamat IPv4, masukkan alamat IPv4 jaringan baru endpoint.

  8. Di kolom IPv6 address, masukkan alamat IPv6 jaringan baru endpoint.

  9. Pilih Port type.

    1. Jika Anda memilih Default, endpoint akan menggunakan port default 80 untuk semua endpoint di grup endpoint jaringan. Ini sudah cukup untuk contoh kita, karena server Apache port 80.
    2. Jika Anda memilih Kustom, masukkan Nomor port untuk endpoint untuk digunakan.
  10. Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.

  11. Setelah Anda menambahkan semua endpoint, klik Create.

gcloud

  1. Tambahkan endpoint (GCE_VM_IP_PORT endpoint) ke ZONAL_NEG.

    gcloud compute network-endpoint-groups update ZONAL_NEG \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80' \
        --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \
          ipv6=IPv6_ADDRESS,port=80'
    

Ganti kode berikut:

IPv4_ADDRESS: Alamat IPv4 endpoint jaringan. IPv4 harus menjadi milik VM di Compute Engine (baik IP primer atau sebagai bagian dari rentang IP alias). Jika alamat IP tidak ditentukan, berarti alamat IP utama untuk VM instance di jaringan tempat grup endpoint jaringan tersebut berada akan digunakan.

IPv6_ADDRESS: Alamat IPv6 endpoint jaringan. IPv6 harus merupakan bagian dari instance VM dalam jaringan yang endpoint grup milik (alamat IPv6 eksternal).

Membuat aturan firewall health check IPv6

Pastikan Anda memiliki aturan masuk yang berlaku untuk instance load balanced dan memungkinkan traffic dari layanan Google Cloud memeriksa sistem (2600:2d00:1:b029::/64). Contoh ini menggunakan tag target allow-health-check-ipv6 untuk mengidentifikasi instance VM untuk tempat penerapannya.

Tanpa aturan firewall ini, opsi tolak default aturan ingress memblokir IPv6 yang masuk traffic ke instance backend.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Untuk mengizinkan traffic subnet IPv6, klik Create firewall rule sekali lagi, lalu masukkan informasi berikut:

    • Nama: fw-allow-lb-access-ipv6
    • Jaringan: NETWORK
    • Prioritas: 1000
    • Arah traffic: masuk
    • Targets: Tag target yang ditentukan
    • Tag target: allow-health-check-ipv6
    • Filter sumber: Rentang IPv6
    • Rentang IPv6 sumber:

      • Untuk Load Balancer Aplikasi eksternal global dan Load Balancer Jaringan proxy eksternal global, masukkan 2600:2d00:1:b029::/64,2600:2d00:1:1::/64

      • Untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal regional, Load Balancer Aplikasi internal regional, Load Balancer Jaringan proxy internal lintas region, Load Balancer Jaringan proxy eksternal regional, dan Load Balancer Jaringan proxy internal regional, masukkan 2600:2d00:1:b029::/64

    • Protokol dan port: Izinkan semua

  3. Klik Create.

gcloud

  1. Membuat aturan firewall fw-allow-lb-access-ipv6 untuk mengizinkan komunikasi dengan subnet.

    Untuk Load Balancer Aplikasi eksternal global dan Load Balancer Jaringan proxy eksternal global, gunakan perintah berikut:

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
        --rules=all
    

    Untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal regional, Load Balancer Aplikasi internal regional, Load Balancer Jaringan proxy internal lintas region, Load Balancer Jaringan proxy eksternal regional, dan Load Balancer Jaringan proxy internal regional, gunakan perintah berikut:

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64 \
        --rules=all
    

Menambahkan aturan firewall subnet khusus proxy

Jika menggunakan load balancer berbasis Envoy, Anda telah memperbarui traffic masuk aturan firewall fw-allow-lb-access-ipv6 untuk mengizinkan traffic dari hanya proxy subnet ke backend.

Untuk mendapatkan internalIpv6Prefix dari subnet khusus proxy, jalankan perintah berikut:

gcloud compute networks subnets describe PROXY_ONLY_SUBNET \
    --region=REGION \
    --format="value(internalIpv6Prefix)"

Catat alamat IPv6 internal, ini selanjutnya disebut sebagai IPv6_PROXY.

Untuk memperbarui aturan firewall fw-allow-lb-access-ipv6 untuk subnet khusus proxy, lakukan hal berikut:

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Di panel Aturan firewall VPC, klik fw-allow-lb-access-ipv6.

    • Rentang IPv6 sumber: 2600:2d00:1:b029::/64, IPv6_PROXY
  3. Klik Simpan.

gcloud

  1. Perbarui aturan firewall fw-allow-lb-access-ipv6 untuk mengizinkan komunikasi dengan subnet khusus proxy:

    gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64,
          IPv6_PROXY \
    

Membuat layanan backend dan aturan penerusan baru untuk IPv6

Bagian ini menjelaskan prosedur pembuatan layanan backend baru dan aturan penerusan untuk IPv6.

BACKEND_SERVICE dan BACKEND_SERVICE_IPV6 mampu menyalurkan traffic. Untuk menghindari gangguan traffic, buat layanan backend baru dengan alamat IP kebijakan pemilihan disetel ke Prefer IPv6. Setelah membuat layanan backend baru, Anda dapat mengarahkan traffic ke layanan backend IPv6 yang baru.

Aturan penerusan dengan IPv6 dapat dibuat hanya untuk Load Balancer Aplikasi eksternal global. Aturan penerusan dengan IPv6 tidak didukung untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal regional, dan Load Balancer Aplikasi internal regional.

Konsol

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

    Buka Load balancing

  2. Klik nama load balancer.

  3. Klik Edit.

Konfigurasi layanan backend:

  1. Klik Backend configuration.
  2. Di kolom Backend service, pilih Create a backend service.
  3. Tetapkan Name sebagai BACKEND_SERVICE_IPV6.
  4. Untuk Backend type, pilih Zonal network endpoint group.
  5. Di daftar Kebijakan pemilihan alamat IP, pilih Pilih IPv6.
  6. Pada kolom Protocol, pilih HTTP.
  7. Di panel New Backend, lakukan langkah berikut:
    1. Dalam daftar network endpoint group, pilih ZONAL_NEG.
    2. Untuk RPS Maksimum, masukkan 10.
  8. Dalam daftar Health check, pilih salah satu health check HTTP.
  9. Klik Done.

Konfigurasi frontend IPv6:

Aturan penerusan dengan IPv6 tidak didukung untuk Load Balancer Aplikasi internal lintas region, Load Balancer Aplikasi eksternal regional, dan Load Balancer Aplikasi internal regional.

  1. Klik Frontend configuration.
  2. Klik Add frontend IP and port.
  3. Di kolom Nama, masukkan nama untuk aturan penerusan.
  4. Pada kolom Protocol, pilih HTTP.
  5. Tetapkam Versi IP ke IPv6.
  6. Klik Done.
  7. Klik Perbarui.

Mengonfigurasi aturan pemilihan rute

  1. Klik Routing rules.
  2. Klik Aturan host dan jalur lanjutan.
  3. Klik Perbarui.

gcloud

  1. Membuat health check:

    gcloud compute health-checks create http HEALTH_CHECK \
       --port 80
    
  2. Buat layanan backend untuk traffic HTTP:

    global

    Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    

    Untuk Load Balancer Aplikasi internal lintas region, gunakan perintah:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --global
    

    regional

    Untuk Load Balancer Aplikasi eksternal regional, gunakan perintah:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --region=REGION
    

    Untuk Load Balancer Aplikasi internal regional, gunakan perintah:

    gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=PREFER_IPV6 \
       --health-checks=HEALTH_CHECK \
       --region=REGION
    
  3. Tambahkan NEG zona sebagai backend ke layanan backend.

    global

    Untuk Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi internal lintas region, gunakan perintah:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \
      --network-endpoint-group=ZONAL_NEG \
      --max-rate-per-endpoint=10 \
      --global
    

    regional

    Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \
      --network-endpoint-group=ZONAL_NEG \
      --max-rate-per-endpoint=10 \
      --region=REGION
    
  4. Pesan alamat IPv6 eksternal yang digunakan pelanggan untuk menjangkau dengan load balancer Jaringan Passthrough Eksternal Regional.

    global

    Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:

    gcloud compute addresses create lb-ipv6-1 \
       --ip-version=IPV6 \
       --network-tier=PREMIUM \
       --global
    
  5. Membuat aturan penerusan untuk layanan backend. Saat Anda membuat aturan penerusan, tentukan alamat IP eksternal di di subnet yang berbeda.

    global

    Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:

    gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --address=lb-ipv6-1 \
       --global \
       --target-https-proxy=TARGET_PROXY \
       --ports=443
    

Merutekan traffic ke layanan backend IPv6 yang baru

Memperbarui peta URL untuk mengarahkan beberapa bagian klien traffic ke layanan backend IPv6 yang baru BACKEND_SERVICE_IPV6.

  1. Gunakan perintah berikut untuk mengedit peta URL:

    global

    Untuk Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi internal lintas region, gunakan perintah:

       gcloud compute url-maps edit URL_MAP \
           --global
       

    regional

    Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:

       gcloud compute url-maps edit URL_MAP \
           --region=REGION
       
  2. Di editor teks yang muncul, tambahkan routeRule dengan Tindakan weightedBackendServices yang mengarahkan sebagian traffic IPv6 ke BACKEND_SERVICE_IPV6.

    defaultService: global/backendServices/BACKEND_SERVICE
    hostRules:
    - hosts:
      - '*'
      pathMatcher: matcher1
    name: URL_MAP
    pathMatchers:
    - defaultService: global/backendServices/BACKEND_SERVICE
      name: matcher1
      routeRules:
      - matchRules:
        - prefixMatch: ''
        priority: 1
        routeAction:
          weightedBackendServices:
          - backendService: global/backendServices/BACKEND_SERVICE
            weight: 95
          - backendService: global/backendServices/BACKEND_SERVICE_IPV6
            weight: 5
    

Untuk menerapkan migrasi bertahap ke IPv6, tingkatkan persentase bobot untuk layanan backend baru BACKEND_SERVICE_IPV6secara bertahap hingga 100% dengan mengedit peta URL berkali-kali.

Mengonfigurasi kebijakan pemilihan alamat IP

Langkah ini opsional. Setelah Anda mengonversi resource dan backend menjadi dual-stack, Anda dapat menggunakan kebijakan pemilihan alamat IP untuk menentukan jenis traffic yang dikirim dari layanan backend ke backend Anda.

Ganti IP_ADDRESS_SELECTION_POLICY dengan salah satu nilai berikut:

Kebijakan pemilihan alamat IP Deskripsi
Hanya IPv4 Hanya kirim lalu lintas IPv4 ke backend layanan backend, terlepas dari traffic dari klien ke GFE. Hanya IPv4 health check digunakan untuk memeriksa respons backend.
Pilih IPv6

Prioritaskan koneksi IPv6 backend melalui Koneksi IPv4 (asalkan ada backend yang sehat dengan alamat IPv6).

Health check memantau backend secara berkala IPv6 dan IPv4 koneksi jarak jauh. GFE pertama kali mencoba koneksi IPv6; jika IPv6 koneksi terputus atau lambat, GFE menggunakan bola mata yang bahagia untuk kembali dan terhubung ke IPv4.

Bahkan jika salah satu koneksi IPv6 atau IPv4 tidak sehat, backend masih dianggap sehat, dan kedua koneksi dapat dicoba oleh GFE, dengan bola mata yang bahagia dan akhirnya memilih yang mana yang akan digunakan.

Hanya IPv6

Hanya kirim lalu lintas IPv6 ke backend layanan backend, terlepas dari lalu lintas dari klien ke {i>proxy<i}. Hanya IPv6 health check digunakan untuk memeriksa respons backend.

Tidak ada validasi untuk memeriksa apakah jenis traffic backend cocok dengan Kebijakan pemilihan alamat IP. Misalnya, jika Anda memiliki {i>backend<i} IPV4 dan pilih Only IPv6 sebagai kebijakan pemilihan alamat IP, Anda tidak perlu mengamati kesalahan konfigurasi, tetapi lalu lintas tidak akan mengalir ke backend.

Konsol

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

    Buka Load balancing

  2. Klik nama load balancer.

  3. Klik Edit.

  4. Klik Backend configuration.

  5. Di kolom Backend service, pilih BACKEND_SERVICE_IPV6.

  6. Jenis backend harus berupa Grup endpoint jaringan zona atau Grup instance.

  7. Di daftar IP address selection policy, pilih IP_ADDRESS_SELECTION_POLICY.

  8. Klik Done.

gcloud

  1. Update layanan backend:

    global

    Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --global
    

    Untuk Load Balancer Aplikasi internal lintas region, gunakan perintah:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --global
    

    regional

    Untuk Load Balancer Aplikasi eksternal regional, gunakan perintah:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --region=REGION
    

    Untuk Load Balancer Aplikasi internal regional, gunakan perintah:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=HTTP \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --region=REGION
    

Menguji load balancer

Anda harus memvalidasi bahwa semua resource yang diperlukan diupdate ke dual stack. Setelah Anda mengupdate semua resource, traffic harus secara otomatis mengalir ke backend. Anda dapat memeriksa log dan memverifikasi bahwa konversi selesai.

Uji load balancer untuk mengonfirmasi bahwa migrasi berhasil dan traffic masuk mencapai backend seperti yang diharapkan.

Mencari alamat IP eksternal load balancer

Konsol

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

    Buka Load balancing

  2. Klik nama load balancer.

  3. Di bagian Frontend, dua alamat IP load balancer ditampilkan. Dalam prosedur ini, alamat IPv4 disebut sebagai IP_ADDRESS_IPV4 dan alamat IPv6 disebut sebagai IP_ADDRESS_IPV6.

  4. Di bagian Backend, saat kebijakan pemilihan alamat IP adalah Prefer IPv6 dua status health check ditampilkan untuk backend.

Mengirim traffic ke instance Anda

Dalam contoh ini, permintaan dari perintah curl didistribusikan secara acak ke backend.

  1. Ulangi perintah berikut beberapa kali hingga Anda melihat semua VM backend menanggapi:

    curl http://IP_ADDRESS_IPV4
    
    curl http://IP_ADDRESS_IPV6
    

    Misalnya, jika alamat IPv6 adalah [fd20:1db0:b882:802:0:46:0:0]:80, terlihat mirip dengan perintah ini:

    curl http://[fd20:1db0:b882:802:0:46:0:0]
    

Memeriksa log

Setiap entri log menangkap alamat IPv4 dan IPv6 tujuan untuk backend. Karena kita mendukung dual-stack, penting untuk mengamati yang digunakan oleh backend.

Anda dapat memeriksa apakah lalu lintas menuju ke IPv6 atau gagal kembali ke IPv4 dengan melihat log.

HttpRequest berisi alamat backend_ip yang terkait dengan backend. Dengan memeriksa log dan membandingkan tujuan IPv4 dan IPv6 backend_ip, Anda dapat mengonfirmasi alamat IP yang digunakan.