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 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 Anda memiliki manfaat berikut:

  • Gunakan 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 data AAAA dan Anda tidak perlu melakukan load balancing di antara beberapa alamat IPv6. Penyimpanan dalam cache data AAAA oleh klien bukanlah masalah karena hanya ada satu alamat yang akan di-cache. Permintaan pengguna ke alamat IPv6 secara otomatis di-load balancing 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 satu lagi 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 stack ganda IPv4 atau IPv6 terdekat yang sehat dengan kapasitas yang tersedia. Untuk melihat load balancer yang mendukung backend stack ganda, lihat Tabel: Layanan backend dan jenis backend yang didukung. Kami menyediakan aturan penerusan IPv6 tanpa biaya, sehingga Anda hanya membayar aturan IPv4.

  • 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. Jika region terdekat memiliki resource yang tersedia, load balancing global akan kembali ditayangkan oleh region ini. Load balancing global mengharuskan Anda menggunakan Paket Premium 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 independen. Misalnya, load balancer dapat menerima traffic IPv4 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.

Agar load balancer 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 berikut ini:
  • 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. Khusus 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
Hanya IPv4. Traffic IPv6 tidak didukung. Salah satu dari berikut ini:
  • Koneksi IPv4: didukung dengan backend khusus IPv4 atau dual-stack
  • Koneksi IPv6: hanya didukung dengan backend dual-stack*
* Hanya grup instance dan NEG zonal (dengan endpoint GCE_VM_IP_PORT) yang dapat dikonfigurasi menjadi dual-stack.

Cara kerja penghentian IPv6

Penghentian IPv6 didukung oleh Load Balancer Aplikasi global dan klasik serta Load Balancer Jaringan proxy. Mengonfigurasi penghentian IPv6 untuk load balancer ini memungkinkan backend Anda muncul sebagai aplikasi IPv6 ke klien IPv6, seperti yang ditunjukkan dalam 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, layanan ini 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, Anda harus menyediakan satu atau beberapa aturan penerusan, masing-masing dengan alamat IP IPv4 atau IPv6 yang dirutekan secara publik dan eksternal (atau keduanya). 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 atau Anda dapat membuat aturan penerusan secara otomatis memperoleh alamat IP sementara saat membuat aturan. Alamat IP statis direservasi untuk project Anda, dan Anda dapat menyimpannya hingga Anda sengaja merilisnya. Alamat sementara termasuk dalam aturan penerusan selama aturan penerusan ada. Jika Anda menghapus aturan penerusan, alamat efemeral akan dilepaskan kembali ke kumpulan Google Cloud.

Jika memerlukan alamat IPv4 dan IPv6 untuk load balancer, Anda dapat membuat dua aturan penerusan, yang 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

Google Cloud mengalokasikan rentang alamat IPv6 /64 ke aturan penerusan IPv6. Google Cloud CLI mencantumkan alamat IPv6 dengan 64 bit paling tidak signifikan ditetapkan ke 0, tetapi load balancer menerima traffic di rentang penuh. Oleh karena itu, Anda mungkin melihat alamat IPv6 load balancer lain dalam rentang yang dialokasikan di header X-Forwarded-For, bergantung pada alamat IP server IPv6 yang terhubung ke klien.

Saat memformat alamat IPv6, Google Cloud mengikuti rekomendasi dalam RFC 5952,bagian 4.

Header IP klien dengan penghentian IPv6 untuk Load Balancer Aplikasi eksternal

Saat load balancer melakukan 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 menampilkan alamat IP load balancer. Elemen kedua dari akhir menunjukkan alamat IP klien seperti yang dilihat oleh load balancer. Mungkin ada elemen lain di header X-Forwarded-For saat klien atau proxy perantara menambahkan header X-Forwarded-For lain 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 menjadi stack ganda

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

Untuk petunjuk cara mengonversi resource dan backend load balancer ke stack ganda, 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

Aturan penerusan untuk penghentian IPv6 disediakan tanpa biaya tambahan. Anda tidak akan dikenai biaya untuk alamat IPv6 sementara. Alamat IPv6 yang dicadangkan dikenai biaya dengan tarif yang ada, terlepas dari apakah alamat tersebut sedang digunakan atau tidak. Jika tidak, harga untuk load balancing IPv6 sama dengan harga untuk load balancing IPv4. Untuk mengetahui detail harga load balancing, lihat Harga jaringan.

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 melalui koneksi IPv4 ke backend.
  • 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 tidak mendukung frontend IPv6. Traffic IPv4 masuk di-proxy melalui koneksi IPv4 atau IPv6 ke backend IPv4 dan IPv6 (dual-stack).

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

Langkah selanjutnya