Dokumen ini menunjukkan cara mengonversi resource dan backend Load Balancer Aplikasi dari khusus IPv4 (stack tunggal) menjadi IPv4 dan IPv6 (stack ganda). Keuntungan utama menggunakan IPv6 adalah tersedianya kumpulan alamat IP yang jauh lebih besar. Anda dapat mengonfigurasi load balancer untuk menghentikan traffic IPv6 masuk dan mengirim traffic ini melalui koneksi IPv4 atau IPv6 ke backend Anda, 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 Load Balancer Aplikasi 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 berdasarkan jenis load balancer.
Untuk Load Balancer Aplikasi eksternal global, Anda mengonversi backend menjadi stack ganda dan Anda 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
Catat nama subnet dengan alamat khusus IPv4 yang akan dikonversi menjadi dual-stack. Nama ini selanjutnya disebut sebagai
SUBNET. Jaringan VPC tersebut selanjutnya 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 menjadi dual-stack. Nama ini selanjutnya disebut sebagai
BACKEND_SERVICE.Untuk mencantumkan semua peta URL, gunakan perintah
gcloud compute url-maps list:gcloud compute url-maps list
Catat nama peta URL yang terkait dengan load balancer Anda. Nama ini selanjutnya 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 listdan perintahgcloud compute instance-templates list:gcloud compute instances list
gcloud compute instance-templates list
Catat nama instance dan template instance yang akan dikonversi menjadi dual-stack. Nama ini selanjutnya disebut sebagai
VM_INSTANCEdanINSTANCE_TEMPLATES.Untuk mencantumkan semua grup instance, gunakan perintah
gcloud compute instance-groups list:gcloud compute instance-groups list
Catat nama grup endpoint jaringan yang akan dikonversi menjadi stack ganda. Nama ini selanjutnya 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
Catat nama backend NEG zonal yang akan dikonversi ke dual-stack. Nama ini selanjutnya disebut sebagai
ZONAL_NEG.Untuk mencantumkan semua proxy target, gunakan perintah
gcloud compute target-http-proxies list:gcloud compute target-http-proxies list
Catat nama proxy target yang terkait dengan load balancer Anda. Nama ini selanjutnya disebut sebagai
TARGET_PROXY.
Mengonversi dari backend stack tunggal ke stack ganda
Bagian ini menunjukkan cara mengonversi resource dan backend load balancer Anda menggunakan alamat khusus IPv4 (stack tunggal) menjadi alamat IPv4 dan IPv6 (stack ganda).
Perbarui 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 mengonversi jaringan VPC mode otomatis menjadi mode kustom terlebih dahulu.
Jika Anda menggunakan jaringan
default, Anda harus mengonversinya ke 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
/48dari dalam rentangfd20::/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 mengetahui informasi tentang load balancer yang mendukung subnet khusus proxy, lihat Load balancer yang didukung.
Anda tidak dapat mengupdate jenis stack subnet khusus proxy (purpose=REGIONAL_MANAGED_PROXY) dengan cara yang sama seperti yang Anda lakukan untuk subnet reguler (dengan subnets update command). Sebagai gantinya, Anda harus membuat subnet khusus proxy cadangan dengan jenis stack dual stack, lalu mempromosikannya ke peran aktif. Hal ini karena hanya satu subnet khusus proxy
yang dapat aktif per region, per jaringan VPC.
Setelah menetapkan rentang IPv6 internal di jaringan VPC, lakukan hal berikut untuk mengubah jenis stack subnet khusus proxy menjadi stack ganda.
Konsol
Buat subnet khusus proxy cadangan di region yang sama dengan subnet khusus proxy aktif, dengan menentukan jenis stack IP sebagai stack ganda.
- Di konsol Google Cloud , buka halaman VPC networks.
Buka halaman Jaringan VPC - Klik nama jaringan VPC yang ingin Anda tambahi subnet khusus proxy.
- Klik Tambahkan subnet.
- Masukkan nama.
- Pilih region.
- Untuk Tujuan, pilih Regional Managed Proxy.
- Untuk Role, pilih Backup.
- Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
- Masukkan nilai untuk IP address range.
- Klik Tambahkan.
- Di konsol Google Cloud , buka halaman VPC networks.
Buat atau ubah aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga aturan tersebut menyertakan rentang alamat IP utama dari subnet khusus proxy cadangan.
Promosikan subnet khusus proxy cadangan ke peran aktif. Tindakan ini juga menurunkan subnet khusus proxy yang sebelumnya aktif ke peran cadangan:
- Di konsol Google Cloud , buka halaman VPC networks.
Buka halaman Jaringan VPC - Klik nama jaringan VPC yang ingin Anda ubah.
- Di bagian Subnet khusus proxy yang dicadangkan untuk load balancing, temukan subnet cadangan yang dibuat pada langkah sebelumnya.
- Klik Activate.
- Tentukan Waktu tunggu pengurasan opsional.
- Klik Aktifkan subnet.
- Di konsol Google Cloud , buka halaman VPC networks.
Setelah waktu tunggu penghentian koneksi, atau setelah Anda yakin bahwa koneksi ke VM atau endpoint backend Anda tidak berasal dari proxy di subnet khusus proxy yang sebelumnya aktif (sekarang cadangan), Anda dapat melakukan hal berikut:
- Ubah aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga tidak menyertakan rentang alamat IP utama dari subnet khusus proxy yang sebelumnya aktif (sekarang cadangan).
- Hapus subnet khusus proxy yang sebelumnya aktif (sekarang cadangan) untuk melepaskan alamat IP yang digunakan subnet untuk rentang alamat IP utamanya.
gcloud
Langkah-langkah berikut mengasumsikan bahwa Anda sudah memiliki subnet khusus proxy yang aktif.
Buat subnet khusus proxy cadangan di region yang sama, dengan menentukan jenis stack dual-stack (
--stack-type=IPV4_IPV6), menggunakan perintah gcloud compute networks subnets create. Subnet ini ditetapkan sebagai cadangan dengan tanda--role=BACKUP.gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=BACKUP_PROXY_ONLY_SUBNET_RANGE \ --stack-type=IPV4_IPV6
Ganti kode berikut:
BACKUP_PROXY_ONLY_SUBNET_NAME: nama subnet khusus proxy cadangan yang baru dibuatREGION: region subnet khusus proxy cadangan yang baru dibuat. Region ini harus sama dengan region proxy-only subnet aktif saat ini.VPC_NETWORK_NAME: jaringan subnet khusus proxy cadangan yang baru dibuat. Jaringan ini harus sama dengan jaringan subnet khusus proxy aktif saat ini.BACKUP_PROXY_ONLY_SUBNET_RANGE: rentang CIDR dari subnet khusus proxy cadangan yang baru dibuat
Buat atau ubah aturan firewall izin masuk yang berlaku untuk VM atau endpoint backend Anda sehingga kini menyertakan rentang alamat IP utama dari subnet khusus proxy cadangan. Aturan firewall seharusnya sudah menerima koneksi dari subnet aktif.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
Ganti kode berikut:
PROXY_ONLY_SUBNET_FIREWALL_RULE: nama aturan firewall yang mengizinkan traffic dari subnet khusus proxy untuk mencapai instance atau endpoint backend AndaACTIVE_PROXY_ONLY_SUBNET_RANGE: rentang CIDR dari subnet khusus proxy aktif saat iniBACKUP_PROXY_ONLY_SUBNET_RANGE: rentang CIDR subnet khusus proxy cadangan
Perbarui subnet baru, tetapkan sebagai subnet khusus proxy
ACTIVEdi region tersebut, lalu tunggu hingga subnet lama dikosongkan. Tindakan ini juga menurunkan subnet khusus proxy yang sebelumnya aktif ke peran cadangan.Untuk menguras rentang alamat IP secara langsung, tetapkan
--drain-timeoutke0s. Tindakan ini akan segera mengakhiri semua koneksi ke proxy yang telah menetapkan alamat di subnet yang sedang dikuras.gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Ganti kode berikut:
BACKUP_PROXY_ONLY_SUBNET_NAME: nama subnet khusus proxy cadangan yang baru dibuatREGION: region subnet khusus proxy cadangan yang baru dibuat. Region ini harus sama dengan region proxy-only subnet aktif saat ini.CONNECTION_DRAINING_TIMEOUT: jangka waktu, dalam detik, yang digunakan Google Cloud untuk memigrasi koneksi yang ada dari proxy di subnet khusus proxy yang sebelumnya aktif.
Pantau status pengurasan menggunakan perintah
listataudescribe. Status subnet adalahDRAININGsaat sedang dikuras.gcloud compute networks subnets list
Tunggu hingga pengurasan selesai. Saat subnet khusus proxy lama dikosongkan, status subnet adalah
READY.Perbarui aturan firewall subnet khusus proxy Anda agar hanya mengizinkan koneksi dari subnet baru.
gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
Setelah Anda yakin bahwa koneksi ke VM atau endpoint backend Anda tidak berasal dari proxy di subnet khusus proxy yang sebelumnya aktif (sekarang cadangan), Anda dapat menghapus subnet lama.
gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Mengupdate instance atau template 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 dual stack, 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 dual stack, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Instance templates.
- 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.
- Di 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 pada grup instance terkelola
MIGyang terkait dengan load balancer.
Memperbarui NEG zona
Endpoint NEG zonal 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 jenis GCE_VM_IP_PORT)
di region REGION_A, pertama-tama buat VM di
zona GCP_NEG_ZONE. Kemudian, tambahkan endpoint jaringan VM
ke NEG zonal.
Membuat VM
Konsol
Di konsol Google Cloud , buka halaman VM instances.
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_ZONEdalam 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, lakukan perubahan berikut:
- Network:
NETWORK - Subnet:
SUBNET - IP stack type: IPv4 and IPv6 (dual-stack)
- Network:
- 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. Isi skrip sama untuk kedua VM.
VM_NAMEdarivm-a1dan zonaGCP_NEG_ZONEpilihan Anda.VM_NAMEdarivm-a2dan zonaGCP_NEG_ZONEyang 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 dibuat sebelumnya. Klik Hapus endpoint.
Di bagian Network endpoints in this group, klik Add network endpoint.
Pilih VM instance.
Di bagian Network interface, nama, zona, dan subnet VM ditampilkan.
Di kolom IPv4 address, masukkan alamat IPv4 endpoint jaringan baru.
Di kolom Alamat IPv6, masukkan alamat IPv6 endpoint jaringan baru.
Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default
80untuk semua endpoint dalam grup endpoint jaringan. Hal ini sudah cukup untuk contoh kita karena server Apache melayani 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 lebih banyak endpoint, 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 dimiliki oleh
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 termasuk dalam 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 pemeriksaan Google Cloud . Untuk mengetahui informasi selengkapnya, lihat rentang IP probe.
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 aturan ini.
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 - Network:
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::/64Untuk 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: Izinkan semua
- Nama:
Klik Create.
gcloud
Buat aturan firewall
fw-allow-lb-access-ipv6untuk 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=allUntuk 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
Buat aturan firewall untuk subnet khusus proxy
Jika Anda menggunakan Load Balancer Aplikasi eksternal regional atau Load Balancer Aplikasi internal, Anda harus memperbarui aturan firewall ingressfw-allow-lb-access-ipv6 untuk mengizinkan traffic dari
subnet khusus proxy ke backend.
Untuk mendapatkan rentang alamat IPv6 dari subnet khusus proxy, jalankan perintah berikut:
gcloud compute networks subnets describe PROXY_ONLY_SUBNET \
--region=REGION \
--format="value(internalIpv6Prefix)"
Catat rentang alamat IPv6 internal; rentang ini selanjutnya disebut sebagai
IPV6_PROXY_ONLY_SUBNET_RANGE.
Untuk memperbarui 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-ipv6untuk 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
Buat 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 melayani 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 merutekan traffic ke layanan backend IPv6 baru.
Konsol
Di konsol Google Cloud , buka halaman Load balancing.
Klik nama load balancer.
Klik Edit.
Konfigurasi 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 Lebih suka 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.
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.
- Klik Frontend configuration.
- Klik Add frontend IP and port.
- Di kolom Name, masukkan nama untuk aturan penerusan.
- Pada kolom Protocol, pilih
HTTP. - Tetapkan IP version ke
IPv6. - Klik Done.
- Klik Update.
Mengonfigurasi aturan pemilihan rute
- Klik Routing rules.
- Klik Advanced host and path rule.
- Klik Update.
gcloud
Membuat health check:
gcloud compute health-checks create http HEALTH_CHECK \ --port 80Buat 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 \ --globallintas 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 \ --globalregional
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=REGIONUntuk 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=REGIONTambahkan 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 \ --globallintas 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 \ --globalregional
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=REGIONTambahkan 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 \ --globallintas region
Untuk Load Balancer Aplikasi internal lintas region, gunakan perintah:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --globalregional
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=REGIONKhusus 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
Merutekan 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 \ --globallintas region
Untuk Load Balancer Aplikasi internal lintas region, gunakan perintah:
gcloud compute url-maps edit URL_MAP \ --globalregional
Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Aplikasi internal regional, gunakan perintah:
gcloud compute url-maps edit URL_MAP \ --region=REGIONDi editor teks yang muncul, tambahkan
routeRuledengan tindakanweightedBackendServicesyang 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 secara bertahap hingga 100% dengan mengedit peta URL berkali-kali.BACKEND_SERVICE_IPV6
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 |
|---|---|
| Hanya IPv4 | Hanya mengirim traffic IPv4 ke backend layanan backend, terlepas dari traffic dari klien ke GFE. Health check IPv4 saja yang digunakan untuk memeriksa kondisi backend. |
| Lebih memilih IPv6 | Membuat koneksi IPv6 backend lebih diprioritaskan daripada koneksi IPv4 (asalkan ada backend yang sehat dengan alamat IPv6). Health check secara berkala memantau koneksi IPv6 dan IPv4 backend. GFE pertama-tama mencoba koneksi IPv6; jika koneksi IPv6 terputus atau lambat, GFE akan menggunakan happy eyeballs untuk melakukan penggantian dan terhubung ke IPv4. Meskipun salah satu koneksi IPv6 atau IPv4 tidak responsif, backend tetap dianggap responsif, dan kedua koneksi dapat dicoba oleh GFE, dengan happy eyeballs pada akhirnya memilih koneksi mana yang akan digunakan. |
| Khusus IPv6 | Hanya mengirim traffic IPv6 ke backend layanan backend, terlepas dari traffic dari klien ke proxy. Health check IPv6 saja 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 Backend service, pilih BACKEND_SERVICE_IPV6.
Backend type harus berupa Zonal network endpoint group atau Instance group.
Dalam daftar IP address selection policy, 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 dual stack. Setelah Anda memperbarui 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.
Cari 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 Backend, jika kebijakan pemilihan alamat IP adalah
Prefer IPv6, dua status health check 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 mirip dengan 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. Instance tidak harus berada di subnet atau zona yang sama.
gcloud compute instances create client-vm \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=SUBNETGunakan SSH untuk terhubung ke instance klien.
gcloud compute ssh client-vm \ --zone=ZONEUlangi 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 mirip dengan ini:curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Memeriksa log
Setiap entri log mencatat 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 menuju ke IPv6 atau 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.