IPv6 untuk Load Balancer Aplikasi dan Load Balancer Jaringan proxy

Dokumen ini menunjukkan cara traffic IPv6 ditangani oleh Load Balancer Aplikasi dan Load Balancer Jaringan proxy. Load balancer ini adalah load balancer proxy, yang berarti koneksi klien yang masuk dihentikan di load balancer. Load balancer kemudian memulai koneksi baru untuk meneruskan permintaan klien ke backend. Bergantung pada jenis load balancer, Anda dapat mengaktifkan IPv6 untuk salah satu atau kedua koneksi ini.

Mengaktifkan IPv6 untuk load balancer memiliki manfaat berikut:

  • Menggunakan satu alamat IPv6 anycast untuk deployment multi-region. Anda hanya memerlukan satu alamat IPv6 load balancer untuk instance aplikasi yang berjalan di beberapa region. Artinya, server DNS Anda memiliki satu AAAA data dan Anda tidak perlu melakukan load balancing di antara beberapa alamat IPv6. Penayangan data AAAA dalam cache oleh klien tidak menjadi masalah karena hanya ada satu alamat yang dapat di-cache. Permintaan pengguna ke alamat IPv6 secara otomatis di-load balance ke backend responsif terdekat dengan kapasitas yang tersedia.
  • Menjalankan deployment dual-stack. Untuk melayani klien IPv6 dan IPv4, buat dua alamat IP load balancer—satu untuk IPv6 dan yang lainnya untuk IPv4. Klien IPv4 terhubung ke alamat IPv4, sedangkan klien IPv6 terhubung ke alamat IPv6. Klien ini kemudian secara otomatis di-load balance ke backend dual-stack IPv4 atau IPv6 responsif terdekat dengan kapasitas yang tersedia. Untuk melihat load balancer mana yang mendukung backend dual-stack, lihat Tabel: Layanan backend dan jenis backend yang didukung.

  • Melakukan load balancing traffic klien IPv6 HTTP, HTTPS, HTTP/2, TCP, dan SSL/TLS. Dukungan protokol bergantung pada jenis load balancer yang Anda gunakan dan protokol aturan penerusan.

  • Overflow di seluruh region dengan satu alamat load balancer IPv6. Jika backend di satu region kehabisan resource atau tidak responsif, load balancer global akan otomatis mengarahkan permintaan dari pengguna ke region terdekat berikutnya dengan resource yang tersedia. Saat region terdekat memiliki resource yang tersedia, load balancing global akan kembali melayani dari region ini. Load balancing global mengharuskan Anda menggunakan Paket Premium Tier dari Network Service Tiers.

Dukungan load balancer

Untuk load balancer berbasis proxy seperti Load Balancer Aplikasi dan Load Balancer Jaringan Proxy, koneksi dari klien ke load balancer dan koneksi kedua dari load balancer ke backend dapat dikonfigurasi secara terpisah. Misalnya, load balancer dapat menerima traffic IPv4 dan IPv6 dari klien, menghentikan koneksi, lalu meneruskan permintaan dari load balancer ke backend melalui koneksi IPv6 baru, selama backend adalah backend dual-stack yang dilengkapi untuk menangani koneksi IPv6.

Untuk mengaktifkan load balancer agar dapat menerima koneksi IPv6 dari klien, Anda harus menggunakan alamat IPv6 untuk aturan penerusan load balancer. Koneksi berikutnya dari load balancer ke backend menggunakan IPv4 secara default. Namun, Anda dapat mengaktifkan load balancer tertentu untuk menggunakan IPv6 dengan mengonfigurasi opsi kebijakan pemilihan alamat IP di layanan backend.

Tabel berikut menjelaskan jenis koneksi yang didukung oleh semua load balancer berbasis proxy:

Load balancer Koneksi dari klien ke load balancer Koneksi dari load balancer ke backend
Load Balancer Aplikasi eksternal global
Load Balancer Jaringan proxy eksternal global
Koneksi IPv4 dan IPv6 dapat dihentikan. Salah satu dari hal berikut:
  • Koneksi IPv4: didukung dengan backend khusus IPv4 atau dual-stack
  • Koneksi IPv6: hanya didukung dengan backend dual-stack*
Load Balancer Aplikasi klasik
Load Balancer Jaringan proxy klasik
Koneksi IPv4 dan IPv6 dapat dihentikan. Hanya koneksi IPv4
Load Balancer Aplikasi eksternal regional
Load Balancer Jaringan proxy eksternal regional
Load Balancer Aplikasi internal regional
Load Balancer Jaringan proxy internal regional
Load Balancer Aplikasi internal lintas region
Load Balancer Jaringan proxy internal lintas region
Koneksi IPv4 dan IPv6 (Pratinjau) dapat dihentikan. Salah satu dari hal berikut:
  • Koneksi IPv4: didukung dengan backend khusus IPv4 atau dual-stack
  • Koneksi IPv6: hanya didukung dengan backend dual-stack*
* Hanya grup instance dan NEG zona (dengan GCE_VM_IP_PORT endpoint) yang dapat dikonfigurasi sebagai dual-stack.

Cara kerja penghentian IPv6

Penghentian IPv6 didukung oleh Load Balancer Aplikasi dan Load Balancer Jaringan proxy. Mengonfigurasi penghentian IPv6 untuk load balancer ini memungkinkan backend Anda muncul sebagai aplikasi IPv6 ke klien IPv6 Anda, seperti yang ditunjukkan pada gambar berikut:

Penghentian IPv6 untuk load balancing.
Penghentian IPv6 untuk load balancing (klik untuk memperbesar).

Saat pengguna terhubung ke load balancer melalui IPv6, hal berikut akan terjadi:

  1. Load balancer Anda, dengan alamat IPv6 dan aturan penerusannya, menunggu koneksi pengguna.
  2. Klien IPv6 terhubung ke load balancer menggunakan IPv6.
  3. Load balancer bertindak sebagai reverse proxy dan menghentikan koneksi klien IPv6. Berdasarkan kebijakan pemilihan alamat IP layanan backend , load balancer menempatkan permintaan ke koneksi IPv4 atau IPv6 ke backend.
  4. Di jalur balik, load balancer menerima respons dari backend, lalu menempatkannya ke koneksi IPv6 kembali ke klien asli.

Alokasi alamat IPv6 untuk aturan penerusan load balancer

Saat mengonfigurasi load balancer eksternal atau internal, Anda akan memberikannya satu atau beberapa aturan penerusan, masing-masing dengan alamat IP IPv4 atau IPv6 (atau keduanya). Load balancer eksternal menggunakan alamat IP eksternal yang dirutekan secara publik, sedangkan load balancer internal menggunakan alamat IP internal pribadi yang tidak dapat diakses dari internet. Anda dapat menggunakan alamat IP ini dalam data DNS untuk situs Anda.

Saat membuat aturan penerusan, Anda dapat menggunakan alamat IP statis yang dicadangkan untuk project Anda atau Anda dapat meminta aturan penerusan untuk otomatis mendapatkan alamat IP sementara saat Anda membuat aturan. Alamat IP statis dicadangkan untuk project Anda, dan Anda dapat menyimpannya hingga Anda sengaja melepaskannya. Alamat sementara dimiliki oleh aturan penerusan selama aturan penerusan ada. Jika Anda menghapus aturan penerusan, alamat sementara akan dilepaskan kembali ke Google Cloud pool.

Jika memerlukan alamat IPv4 dan IPv6 untuk load balancer, Anda dapat membuat dua aturan penerusan, mengaitkan alamat IPv4 dengan satu aturan dan alamat IPv6 dengan aturan lainnya. Kemudian, Anda dapat mengaitkan kedua aturan dengan load balancer yang sama.

Format alamat IPv6

Saat Anda membuat aturan penerusan, bergantung pada jenis load balancer, perilaku alokasi alamat IPv6 adalah sebagai berikut:

  • Untuk Load Balancer Aplikasi eksternal global dan Load Balancer Jaringan proxy eksternal global, Google Cloud mengalokasikan rentang alamat IPv6 /64 ke aturan penerusan IPv6. Google Cloud CLI mencantumkan alamat IPv6 dengan 64 bit paling tidak signifikan yang ditetapkan ke 0, tetapi load balancer menerima traffic pada rentang penuh. Untuk Load Balancer Aplikasi eksternal global, Anda mungkin melihat alamat IPv6 load balancer lainnya dalam rentang yang dialokasikan di header X-Forwarded-For, bergantung pada alamat IP server IPv6 yang terhubung dengan klien.

  • Untuk Load Balancer Aplikasi internal dan Load Balancer Jaringan proxy internal, dengan yang --ip-version ditetapkan ke IPV6, Google Cloud membuat rentang alamat IPv6 /96 awalan acak untuk aturan penerusan. Alamat aturan penerusan ini dialokasikan dari subnet dual-stack mode kustom atau subnet khusus IPv6 /64 yang harus dikonfigurasi dengan --ipv6-access-type INTERNAL dan --stack-type IPV4_IPV6 atau IPV6_ONLY.

  • Untuk Load Balancer Aplikasi eksternal regional dan Load Balancer Jaringan proxy eksternal regional, dengan yang --ip-version ditetapkan ke IPV6, Google Cloud membuat rentang alamat IPv6 /96 awalan acak untuk aturan penerusan. Alamat aturan penerusan ini dialokasikan dari subnet dual-stack mode kustom atau subnet /64 khusus IPv6 yang harus dikonfigurasi dengan ipv6-access-type EXTERNAL dan stack-type IPV4_IPV6 atau IPV6_ONLY. Alamat IPv6 eksternal hanya dapat dicadangkan di tingkat jaringan premium. Flag --endpoint-type harus ditetapkan sebagai NETLB agar dapat digunakan untuk aturan penerusan.

Saat memformat alamat IPv6, Google Cloud ikuti rekomendasi di RFC 5952, bagian 4.

Header IP klien dengan penghentian IPv6 untuk Load Balancer Aplikasi

Saat load balancer mem-proxy koneksi IPv6 dari klien ke koneksi IPv4 ke backend Anda, alamat IP sumber asli akan diganti dengan alamat IP load balancer. Namun, backend sering kali perlu mengetahui alamat IP sumber asli untuk logging, pengambilan keputusan, atau tujuan lainnya. Google Cloud menyediakan header HTTP yang disebarkan ke backend yang menyertakan alamat IP klien IPv6 asli.

Header HTTP untuk IPv6 mirip dengan header untuk IPv4. Format untuk permintaan adalah sebagai berikut:

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

Elemen terakhir menunjukkan alamat IP load balancer. Elemen kedua dari terakhir menunjukkan alamat IP klien seperti yang terlihat oleh load balancer. Mungkin ada elemen lain di header X-Forwarded-For saat klien atau proxy perantara menambahkan header X-Forwarded-For lainnya sebelum mengirim permintaan ke load balancer.

Contoh header X-Forwarded-For mungkin terlihat seperti ini:

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234 adalah alamat IPv6 klien. 2607:f8b0:4005:801::200e adalah alamat IPv6 Load Balancer Aplikasi eksternal.

Mengonversi dari khusus IPv4 ke dual-stack

Anda dapat mengonversi resource load balancer yang menggunakan khusus IPv4 (single-stack) ke IPv4 dan IPv6 (dual-stack). Dengan memperbarui resource load balancer, Anda dapat otomatis merutekan traffic IPv6 ke backend.

Untuk mengetahui petunjuk cara mengonversi resource load balancer dan backend ke dual-stack, lihat dokumentasi berikut:

Load balancer Dokumentasi
Load Balancer Aplikasi eksternal global
Load Balancer Aplikasi internal lintas region
Load Balancer Aplikasi eksternal regional
Load Balancer Aplikasi internal regional
Mengonversi Load Balancer Aplikasi ke IPv6
Load Balancer Jaringan proxy eksternal global
Load Balancer Jaringan proxy internal lintas region
Load Balancer Jaringan proxy eksternal regional
Load Balancer Jaringan proxy internal regional
Mengonversi Load Balancer Jaringan proxy ke IPv6

Harga

Untuk mengetahui harga alamat IP, lihat Harga jaringan: Virtual Private Cloud.

Untuk mengetahui detail harga load balancing, lihat Harga jaringan: Cloud Load Balancing.

Batasan

  • Load Balancer Jaringan proxy klasik dan Load Balancer Aplikasi klasik tidak mendukung backend dual-stack; traffic IPv6 dihentikan oleh load balancer, lalu di-proxy-kan melalui koneksi IPv4 ke backend.
  • Saat aturan penerusan IPv6 dibuat, rentang alamat IPv6 /96 akan otomatis dialokasikan dari subnet. Namun, hanya alamat pertama dalam rentang /96 ini (misalnya, yang diakhiri dengan :0:0) yang dapat dijangkau oleh klien. Pastikan klien dan data DNS Anda dikonfigurasi untuk menggunakan alamat pertama tertentu ini. Hal ini berlaku untuk Load Balancer Aplikasi eksternal regional, Load Balancer Aplikasi internal regional, Load Balancer Jaringan proxy internal regional, Load Balancer Jaringan proxy internal lintas region, Load Balancer Aplikasi internal lintas region, dan Load Balancer Jaringan proxy eksternal regional (Pratinjau).

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

Langkah berikutnya