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:
|
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:
|
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:
Saat pengguna terhubung ke load balancer melalui IPv6, hal berikut akan terjadi:
- Load balancer Anda, dengan alamat IPv6 dan aturan penerusannya, menunggu koneksi pengguna.
- Klien IPv6 terhubung ke load balancer menggunakan IPv6.
- 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.
- 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).