Dokumen ini menunjukkan cara mengonversi resource dan backend Application Load Balancer dari hanya IPv4 (stack tunggal) menjadi IPv4 dan IPv6 (stack ganda). Keuntungan utama penggunaan IPv6 adalah kumpulan alamat IP yang jauh lebih besar dapat dialokasikan. Anda dapat mengonfigurasi load balancer untuk menghentikan traffic IPv6 masuk dan mengirim traffic ini melalui koneksi IPv4 atau IPv6 ke backend, berdasarkan preferensi Anda. Untuk mengetahui informasi selengkapnya, lihat IPv6 untuk Load Balancer Aplikasi dan Load Balancer Jaringan proxy.
Dalam dokumen ini, khusus IPv4 (stack tunggal) mengacu pada resource yang hanya menggunakan alamat IPv4, dan IPv4 dan IPv6 (stack ganda) mengacu pada resource yang menggunakan alamat IPv4 dan IPv6.
Sebelum memulai
Perhatikan kondisi berikut sebelum Anda memulai proses konversi:
Anda harus menggunakan salah satu jenis Application Load Balancer berikut:
- Load Balancer Aplikasi eksternal global
- Load Balancer Aplikasi eksternal regional
- Load Balancer Aplikasi internal lintas region
- Load Balancer Aplikasi internal regional
Load Balancer Aplikasi Klasik tidak mendukung backend atau subnet stack ganda. Untuk mengetahui informasi selengkapnya tentang dukungan IPv6, lihat IPv6 untuk Load Balancer Aplikasi dan Load Balancer Jaringan proxy.
Load balancer Anda harus memiliki backend grup instance VM atau backend grup endpoint jaringan (NEG) zonal dengan endpoint
GCE_VM_IP_PORT
. Jenis backend lainnya tidak memiliki dukungan stack ganda.
Selain itu, proses konversi berbeda-beda berdasarkan jenis load balancer.
Untuk Load Balancer Aplikasi eksternal global, Anda mengonversi backend ke stack ganda dan membuat aturan penerusan IPv6 yang dapat menangani traffic IPv6 masuk.
Untuk Load Balancer Aplikasi internal lintas-region, Load Balancer Aplikasi eksternal regional, dan Load Balancer Aplikasi internal regional, Anda hanya mengonversi backend ke dual-stack. Aturan penerusan IPv6 tidak didukung untuk load balancer ini.
Untuk mengetahui informasi tentang cara menyiapkan Load Balancer Aplikasi, lihat dokumentasi berikut:
- Menyiapkan Load Balancer Aplikasi eksternal global: backend grup instance VM, backend NEG zonal
- Menyiapkan Load Balancer Aplikasi eksternal regional: backend grup instance VM, backend NEG zonal
- Menyiapkan Load Balancer Aplikasi internal lintas region: backend grup instance VM, backend NEG zonal
- Menyiapkan Load Balancer Aplikasi internal regional: backend grup instance VM, backend NEG zonal
Mengidentifikasi resource yang akan dikonversi
Perhatikan nama resource yang terkait dengan load balancer Anda. Anda harus memberikan nama ini nanti.
Untuk mencantumkan 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 akan disebut sebagai
SUBNET
. Jaringan VPC nantinya akan disebut sebagaiNETWORK
.Untuk mencantumkan semua layanan backend, gunakan perintah
gcloud compute backend-services list
:gcloud compute backend-services list
Catat nama layanan backend yang akan dikonversi ke dual-stack. Nama ini nantinya akan disebut sebagai
BACKEND_SERVICE
.Untuk mencantumkan semua peta URL, gunakan perintah
gcloud compute url-maps list
:gcloud compute url-maps list
Perhatikan nama peta URL yang terkait dengan load balancer Anda. Nama ini nantinya akan disebut sebagai
URL_MAP
.Jika Anda 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)"
Untuk mencantumkan semua instance VM dan template instance, gunakan perintah
gcloud compute instances list
dan perintahgcloud 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 akan disebut sebagai
VM_INSTANCE
danINSTANCE_TEMPLATES
.Untuk mencantumkan semua grup instance, gunakan perintah
gcloud compute instance-groups list
:gcloud compute instance-groups list
Perhatikan nama grup endpoint jaringan yang akan dikonversi menjadi stack ganda. Nama ini nantinya akan disebut sebagai
INSTANCE_GROUP
.Untuk mencantumkan semua grup endpoint jaringan (NEG) zonal, gunakan perintah
gcloud compute network-endpoint-groups list
:gcloud compute network-endpoint-groups list
Perhatikan nama backend NEG zona untuk dikonversi ke dual-stack. Nama ini nantinya akan disebut sebagai
ZONAL_NEG
.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 akan disebut sebagai
TARGET_PROXY
.
Mengonversi dari backend single-stack ke dual-stack
Bagian ini menunjukkan cara mengonversi resource dan backend load balancer menggunakan alamat IPv4 saja (stack tunggal) menjadi alamat IPv4 dan IPv6 (stack ganda).
Memperbarui 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 eksplorasi awal, VPC mode kustom lebih cocok untuk sebagian besar lingkungan produksi. Sebaiknya gunakan VPC dalam mode kustom.
Untuk mengupdate VPC ke setelan stack ganda, ikuti langkah-langkah berikut:
Jika menggunakan jaringan VPC mode otomatis, Anda harus terlebih dahulu mengonversi jaringan VPC mode otomatis menjadi mode kustom.
Jika menggunakan jaringan
default
, Anda harus mengonversinya menjadi jaringan VPC mode kustom.Untuk mengaktifkan IPv6, lihat Mengubah jenis stack subnet menjadi stack ganda.
Pastikan jenis akses IPv6 subnet ditetapkan ke
External
.Opsional: Jika Anda ingin mengonfigurasi rentang alamat IPv6 internal pada subnet di jaringan ini, selesaikan langkah-langkah berikut:
- Untuk VPC network ULA internal IPv6 range, pilih Enabled.
Untuk Allocate internal IPv6 range, pilih Automatically atau Manually.
Jika Anda memilih Manually, masukkan rentang
/48
dari dalamfd20::/20
. Jika rentang tersebut sedang digunakan, Anda akan diminta untuk memberikan rentang yang berbeda.
Memperbarui subnet khusus proxy
Jika Anda menggunakan load balancer berbasis Envoy, sebaiknya ubah jenis stack subnet khusus proxy menjadi stack ganda. Untuk informasi tentang load balancer yang mendukung subnet khusus proxy, lihat Load balancer yang didukung.
Untuk mengubah jenis stack subnet khusus proxy menjadi stack ganda, lakukan hal berikut:
Konsol
Di Konsol Google Cloud, buka halaman jaringan VPC.
Untuk melihat halaman VPC network details, klik nama jaringan.
Klik tab Subnet.
Di bagian Subnet khusus proxy yang dicadangkan untuk load balancing, klik nama subnet khusus proxy yang ingin Anda ubah.
Di halaman Subnet details, klik Edit.
Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack). Tetapkan IPv6 access type ke Internal.
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 IPv6 subnet adalahINTERNAL
.
Mengupdate template atau instance VM
Anda dapat mengonfigurasi alamat IPv6 pada instance VM jika subnet tempat VM terhubung memiliki rentang IPv6 yang telah dikonfigurasi. Hanya backend berikut yang dapat mendukung alamat IPv6:
- Backend grup instance: Satu atau beberapa backend grup instance terkelola, tidak terkelola, atau kombinasi backend grup instance terkelola dan tidak terkelola.
- NEG Zona: Satu atau beberapa NEG zona jenis
GCE_VM_IP_PORT
.
Mengupdate instance VM
Anda tidak dapat mengedit instance VM yang merupakan bagian dari grup instance terkelola atau tidak terkelola. Untuk mengupdate instance VM ke stack ganda, ikuti langkah-langkah berikut:
- Menghapus instance tertentu dari grup
- Membuat VM stack ganda
- Membuat instance dengan nama tertentu di MIG
Mengupdate template instance VM
Anda tidak dapat memperbarui template instance yang sudah ada. Jika perlu melakukan perubahan, Anda dapat membuat template lain dengan properti serupa. Untuk mengupdate template instance VM ke stack ganda, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud, buka halaman Instance templates.
Buka halaman Template instance
- Klik template instance yang ingin Anda salin dan perbarui.
- Klik Buat yang serupa.
- Luaskan bagian Advanced options.
- Untuk Network tags, masukkan
allow-health-check-ipv6
. - Di bagian Network interfaces, klik Add a network interface.
- Dalam daftar Network, pilih jaringan VPC mode kustom.
- Dalam daftar Subnetwork, pilih
SUBNET
. - Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
- Klik Create.
Memulai update berkelanjutan dasar di grup instance terkelola
MIG
yang terkait dengan load balancer.
Memperbarui NEG zona
Endpoint NEG zonal tidak dapat diedit. Anda harus menghapus endpoint IPv4 dan membuat endpoint stack ganda baru dengan alamat IPv4 dan IPv6.
Untuk menyiapkan NEG zonal (dengan endpoint jenis GCE_VM_IP_PORT
)
di region REGION_A
, buat VM terlebih dahulu di
zona GCP_NEG_ZONE
. Kemudian, tambahkan endpoint jaringan VM
ke NEG zonal.
Membuat VM
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik Create instance.
Tetapkan Name ke
vm-a1
.Untuk Region, pilih
REGION_A
, dan pilih nilai apa pun untuk kolom Zone. Zona ini disebut sebagaiGCP_NEG_ZONE
dalam prosedur ini.Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.
Luaskan bagian Advanced options dan lakukan perubahan berikut:
- Luaskan bagian Networking.
- Di kolom Tag jaringan, masukkan
allow-health-check
. - Di bagian Network interfaces, buat perubahan berikut:
- Jaringan:
NETWORK
- Subnet:
SUBNET
- IP stack type: IPv4 and IPv6 (dual-stack)
- Jaringan:
- Klik Done.
Klik Management. Di kolom Startup script, salin dan tempel konten 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
Klik Create.
Ulangi langkah-langkah berikut untuk membuat VM kedua, menggunakan kombinasi nama dan zona berikut:
- Nama:
vm-a2
, zona:GCP_NEG_ZONE
- Nama:
gcloud
Buat VM dengan menjalankan perintah berikut dua kali, menggunakan kombinasi ini untuk nama VM dan zonanya. Konten skrip identik untuk kedua VM.
VM_NAME
darivm-a1
dan zonaGCP_NEG_ZONE
mana pun pilihan Anda.VM_NAME
darivm-a2
dan zonaGCP_NEG_ZONE
yang sama.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'
Menambahkan endpoint ke NEG zona
Konsol
Untuk menambahkan endpoint ke NEG zonal:
Di Konsol Google Cloud, buka halaman Network endpoint groups.
Dalam daftar Nama, klik nama grup endpoint jaringan (
ZONAL_NEG
). Anda akan melihat halaman Detail grup endpoint jaringan.Di bagian Network endpoints in this group, pilih endpoint NEG yang sebelumnya dibuat. Klik Hapus endpoint.
Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan.
Pilih Instance VM.
Di bagian Network interface, nama, zona, dan subnet VM akan ditampilkan.
Di kolom IPv4 address, masukkan alamat IPv4 endpoint jaringan baru.
Di kolom IPv6 address, masukkan alamat IPv6 endpoint jaringan baru.
Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default
80
untuk semua endpoint dalam grup endpoint jaringan. Hal ini memadai untuk contoh kita karena server Apache menayangkan permintaan di port80
. - Jika Anda memilih Kustom, masukkan Nomor port untuk endpoint yang akan digunakan.
- Jika Anda memilih Default, endpoint akan menggunakan port default
Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
Setelah Anda menambahkan semua endpoint, klik Buat.
gcloud
Tambahkan endpoint (endpoint
GCE_VM_IP_PORT
) keZONAL_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 milik VM di Compute Engine (baik IP utama maupun sebagai bagian dari rentang IP alias).
Jika alamat IP tidak ditentukan, alamat IP utama untuk instance VM di jaringan tempat grup endpoint jaringan berada akan digunakan.
IPv6_ADDRESS
:
alamat IPv6 endpoint jaringan. Alamat IPv6 harus milik instance VM di jaringan tempat grup endpoint jaringan berada (alamat IPv6 eksternal).
Membuat aturan firewall untuk pemeriksaan health check IPv6
Anda harus membuat aturan firewall untuk mengizinkan health check dari rentang IP sistem probe Google Cloud. Untuk informasi selengkapnya, lihat rentang IP yang diuji.
Pastikan aturan ingress berlaku untuk instance yang di-load balance dan mengizinkan traffic dari sistem health check Google Cloud.
Contoh ini menggunakan tag target allow-health-check-ipv6
untuk mengidentifikasi instance VM yang menerapkan tag tersebut.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic IPv6 masuk ke instance backend.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Untuk mengizinkan traffic subnet IPv6, klik Create firewall rule lagi dan masukkan informasi berikut:
- Nama:
fw-allow-lb-access-ipv6
- Jaringan:
NETWORK
- Prioritas:
1000
- Direction of traffic: ingress
- 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
Protocols and ports: Allow all
- Nama:
Klik Create.
gcloud
Buat 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
Membuat aturan firewall untuk subnet khusus proxy
Jika menggunakan Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal, Anda harus memperbarui aturan firewall masukfw-allow-lb-access-ipv6
untuk mengizinkan traffic dari
subnet khusus proxy ke backend.
Untuk mendapatkan rentang alamat IPv6 subnet khusus proxy, jalankan perintah berikut:
gcloud compute networks subnets describe PROXY_ONLY_SUBNET \ --region=REGION \ --format="value(internalIpv6Prefix)"
Perhatikan rentang alamat IPv6 internal; rentang ini nantinya disebut sebagai
IPV6_PROXY_ONLY_SUBNET_RANGE
.
Untuk mengupdate aturan firewall fw-allow-lb-access-ipv6
untuk subnet khusus proxy, lakukan hal berikut:
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Di panel VPC firewall rules, klik
fw-allow-lb-access-ipv6
.- Rentang IPv6 sumber:
2600:2d00:1:b029::/64
, IPV6_PROXY_ONLY_SUBNET_RANGE
- Rentang IPv6 sumber:
Klik Simpan.
gcloud
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,IPV6_PROXY_ONLY_SUBNET_RANGE
Membuat layanan backend dan aturan penerusan baru untuk IPv6
Bagian ini menjelaskan prosedur untuk membuat layanan backend baru dan aturan penerusan untuk IPv6. Perhatikan bahwa aturan penerusan IPv6 hanya dapat dibuat untuk Load Balancer Aplikasi eksternal global. Aturan penerusan IPv6 tidak didukung untuk Load Balancer Aplikasi internal lintas-region, Load Balancer Aplikasi eksternal regional, dan Load Balancer Aplikasi internal regional.
Pada tahap proses ini, BACKEND_SERVICE
dan
BACKEND_SERVICE_IPV6
dapat menyalurkan traffic. Untuk menghindari gangguan traffic, buat layanan backend baru dengan kebijakan pemilihan alamat IP yang ditetapkan ke Prefer IPv6
. Setelah membuat layanan backend baru,
Anda dapat me-rutekan traffic ke layanan backend IPv6 baru.
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
Klik nama load balancer.
Klik Edit.
Konfigurasikan layanan backend:
- Klik Backend configuration.
- Di kolom Backend service, pilih Create a backend service.
- Tetapkan Name sebagai BACKEND_SERVICE_IPV6.
- Untuk Backend type, pilih Zonal network endpoint group.
- Dalam daftar Kebijakan pemilihan alamat IP, pilih Pilih IPv6.
- Di kolom Protocol, pilih HTTP.
- Di panel New Backend, lakukan hal berikut:
- Dalam daftar network endpoint group, pilih ZONAL_NEG.
- Untuk Maximum RPS, masukkan
10
.
- Dalam daftar Health check, pilih health check HTTP.
- Klik Done.
Konfigurasikan 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.
- Klik Frontend configuration.
- Klik Add frontend IP and port.
- Di kolom Name, masukkan nama untuk aturan penerusan.
- Pada kolom Protocol, pilih
HTTP
. - Tetapkam Versi IP ke
IPv6
. - Klik Done.
- Klik Perbarui.
Mengonfigurasi aturan pemilihan rute
- Klik Routing rules.
- Klik Advanced host and path rule.
- Klik Perbarui.
gcloud
Membuat health check:
gcloud compute health-checks create http HEALTH_CHECK \ --port 80
Buat layanan backend untuk traffic HTTP:
global
Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:
gcloud 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
lintas region
Untuk Load Balancer Aplikasi internal lintas-region, gunakan perintah:
gcloud 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 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 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
Tambahkan NEG zonal dual-stack sebagai backend ke layanan backend.
global
Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --global
lintas region
Untuk Load Balancer Aplikasi internal lintas-region, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --global
regional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --region=REGION
Tambahkan grup instance dual-stack sebagai backend ke layanan backend.
global
Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --global
lintas region
Untuk Load Balancer Aplikasi internal lintas-region, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --global
regional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --region=REGION
Khusus untuk Load Balancer Aplikasi eksternal global. Buat aturan penerusan IPv6 untuk Load Balancer Aplikasi eksternal global. Gunakan perintah:
gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --global \ --target-http-proxy=TARGET_PROXY \ --ports=443
Mengarahkan traffic ke layanan backend IPv6 baru
Perbarui peta URL untuk mengarahkan sebagian kecil traffic klien ke layanan backend IPv6
baru BACKEND_SERVICE_IPV6
.
Gunakan perintah berikut untuk mengedit peta URL:
global
Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:
gcloud compute url-maps edit URL_MAP \ --global
lintas region
Untuk 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
Di editor teks yang muncul, tambahkan
routeRule
dengan tindakanweightedBackendServices
yang mengarahkan persentase traffic IPv6 keBACKEND_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_IPV6
secara bertahap hingga 100% dengan mengedit peta URL beberapa kali.
Mengonfigurasi kebijakan pemilihan alamat IP
Setelah mengonversi resource dan backend ke stack ganda, 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 |
---|---|
Khusus IPv4 | Hanya kirim traffic IPv4 ke backend layanan backend, terlepas dari traffic dari klien ke GFE. Hanya health check IPv4 yang digunakan untuk memeriksa kondisi backend. |
Pilih IPv6 | Prioritaskan koneksi IPv6 backend daripada koneksi IPv4 (asalkan ada backend yang sehat dengan alamat IPv6). Health check memantau koneksi IPv6 dan IPv4 backend secara berkala. GFE pertama-tama mencoba koneksi IPv6; jika koneksi IPv6 rusak atau lambat, GFE akan menggunakan happy eyeballs untuk kembali dan terhubung ke IPv4. Meskipun salah satu koneksi IPv6 atau IPv4 tidak sehat, backend masih diperlakukan sebagai sehat, dan kedua koneksi dapat dicoba oleh GFE, dengan happy eyeballs yang pada akhirnya memilih koneksi mana yang akan digunakan. |
Hanya IPv6 | Hanya kirim traffic IPv6 ke backend layanan backend, terlepas dari traffic dari klien ke proxy. Hanya health check IPv6 yang digunakan untuk memeriksa kondisi backend. Tidak ada validasi untuk memeriksa apakah jenis traffic backend cocok dengan kebijakan pemilihan alamat IP. Misalnya, jika Anda memiliki backend khusus IPv4 dan memilih |
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
Klik nama load balancer.
Klik Edit.
Klik Backend configuration.
Di kolom Layanan backend, pilih BACKEND_SERVICE_IPV6.
Backend type harus berupa Zonal network endpoint group atau Instance group.
Dalam daftar Kebijakan pemilihan alamat IP, pilih IP_ADDRESS_SELECTION_POLICY.
Klik Done.
gcloud
Perbarui kebijakan pemilihan alamat IP untuk layanan backend:
global
Untuk Load Balancer Aplikasi eksternal global, gunakan perintah:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
lintas region
Untuk Load Balancer Aplikasi internal lintas-region, gunakan perintah:
gcloud 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 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 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 telah diupdate ke stack ganda. Setelah Anda mengupdate semua resource, traffic harus otomatis mengalir ke backend. Anda dapat memeriksa log dan memverifikasi bahwa konversi telah selesai.
Uji load balancer untuk mengonfirmasi bahwa migrasi berhasil dan traffic masuk mencapai backend seperti yang diharapkan.
Mencari alamat IP load balancer
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
Klik nama load balancer.
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.
Di bagian Backends, jika kebijakan pemilihan alamat IP adalah
Prefer IPv6
, dua status pemeriksaan kesehatan akan ditampilkan untuk backend.
Mengirim traffic ke load balancer
Dalam contoh ini, permintaan dari perintah curl
didistribusikan secara acak ke
backend.
Untuk load balancer eksternal
Ulangi perintah berikut beberapa kali hingga Anda melihat semua VM backend merespons:
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Misalnya, jika alamat IPv6 adalah
[fd20:1db0:b882:802:0:46:0:0]:80
, perintahnya akan terlihat seperti ini:curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Untuk load balancer internal
Buat VM klien pengujian di jaringan dan region VPC yang sama dengan load balancer. Subnet atau zona tidak harus sama.
gcloud compute instances create client-vm \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=SUBNET
Gunakan SSH untuk terhubung ke instance klien.
gcloud compute ssh client-vm \ --zone=ZONE
Ulangi perintah berikut beberapa kali hingga Anda melihat semua VM backend merespons:
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Misalnya, jika alamat IPv6 adalah
[fd20:1db0:b882:802:0:46:0:0]:80
, perintahnya akan terlihat seperti ini:curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Memeriksa log
Setiap entri log merekam alamat IPv4 dan IPv6 tujuan untuk backend. Karena kami mendukung dual-stack, penting untuk mengamati alamat IP yang digunakan oleh backend.
Anda dapat memeriksa apakah traffic akan diarahkan ke IPv6 atau gagal kembali ke IPv4 dengan melihat log.
HttpRequest
berisi alamat backend_ip
yang terkait dengan
backend. Dengan memeriksa log dan membandingkan alamat IPv4 dan IPv6 tujuan
backend_ip
, Anda dapat mengonfirmasi alamat IP mana yang digunakan.