Instans Application Load Balancer (ALB) dual-stack mendukung afinitas versi IP, yang meneruskan permintaan IPv4 ke server backend IPv4 dan permintaan IPv6 ke server backend IPv6. Fitur ini menyederhanakan arsitektur jaringan dengan mengarahkan lalu lintas berdasarkan versi protokol IP.
Afinitas versi IP merupakan fitur daftar putih. Untuk menggunakannya, hubungi manajer bisnis Anda.
Arsitektur solusi
Permasalahan
Selama migrasi dari IPv4 ke IPv6, layanan untuk kedua protokol tersebut sering kali perlu berjalan berdampingan. Ketika grup server berisi server backend IPv4 dan IPv6, secara default instans ALB tidak membedakan versi protokol IP klien. ALB hanya meneruskan lalu lintas berdasarkan algoritma penjadwalan yang dikonfigurasi, seperti round-robin berbobot atau jumlah koneksi paling sedikit dengan bobot.
Hal ini dapat menyebabkan penerusan lintas protokol, di mana permintaan dari klien IPv6 dikirim ke server backend IPv4 saja, atau sebaliknya. Ketidaksesuaian protokol ini dapat menimbulkan masalah berikut:
Terjadi gangguan layanan ketika aplikasi backend yang hanya mendengarkan satu versi protokol menerima permintaan menggunakan protokol berbeda dan gagal memprosesnya.
Penerusan campuran tidak mendukung layanan yang harus menangani lalu lintas secara berbeda berdasarkan versi protokol IP klien, seperti pemisahan lalu lintas berbasis protokol atau routing IPv6-first.
Solusi
Grup server ALB mendukung afinitas versi IP. Saat diaktifkan, permintaan IPv4 diteruskan secara eksklusif ke server backend IPv4 dan permintaan IPv6 ke server backend IPv6, sehingga mencegah gangguan layanan akibat penerusan lintas protokol. Jika semua server backend dengan protokol tertentu gagal dalam pemeriksaan kesehatan, permintaan akan didistribusikan sebaik mungkin di antara server-server tersebut, bukan dialihkan ke server dengan protokol lain.
Prasyarat
Anda telah mendaftarkan nama domain kustom. Instans ALB dalam topik ini diterapkan di wilayah China (Shanghai), sehingga nama domain tersebut harus memiliki Pendaftaran ICP.
Prosedur
Sebelum memulai, pastikan Anda telah membuat VPC VPC1 di wilayah China (Shanghai), vSwitch VSW1 dan VSW2 di zona ketersediaan E dan zona ketersediaan G masing-masing, serta telah mengaktifkan IPv6 untuk vSwitch tersebut.
Langkah 1: Buat instans ECS dan terapkan layanan
Buat dua instans ECS berdasarkan konfigurasi berikut.
Nama instans
Wilayah
VPC
vSwitch
Versi IP
Gambar
ecs-ipv4
China (Shanghai)
VPC1VSW1IPv4
Alibaba Cloud Linux 3.2104 LTS 64-bit
ecs-ipv6
VSW2IPv6
Saat membuat instans ECS, pada bagian Network and Security Group, pilih Assign IPv6 Address for Free.
Hubungkan ke
ecs-ipv4danecs-ipv6, lalu jalankan perintah berikut untuk menerapkan layanan Nginx.ecs-ipv4
sudo yum install -y nginx sudo systemctl start nginx echo "Hello from IPv4 backend" | sudo tee /usr/share/nginx/html/index.htmlecs-ipv6
sudo yum install -y nginx sudo systemctl start nginx echo "Hello from IPv6 backend" | sudo tee /usr/share/nginx/html/index.htmlTambahkan aturan inbound dengan prioritas tinggi ke grup keamanan kedua instans ECS untuk mengizinkan lalu lintas pada port 80.
Instance Name
Action
Protokol
Sumber
Tujuan (instans ini)
ecs-ipv4
Allow
Custom TCP
Setelah memilih
IPv4, pilihVPC CIDR Block.Untuk
Port, pilihHTTP (80).ecs-ipv6
Pilih
IPv6, lalu pilihThis VPC's CIDR block.Untuk informasi lebih lanjut, lihat Buat instans menggunakan wizard, Hubungkan ke instans ECS, dan Tambahkan aturan grup keamanan.
Langkah 2: Buat instans ALB dual-stack
Masuk ke Konsol ALB, pilih wilayah China (Shanghai), lalu klik Create ALB.
Tentukan pengaturan berikut, biarkan opsi lain pada nilai default-nya, lalu klik Buy Now:
Instance Network Type: Pilih Public.
VPC: Pilih
VPC1.Availability Zone: Pilih Availability Zone E dan Availability Zone G, vSwitch yang sesuai
VSW1danVSW2, serta centang Auto-assign Public IP.Address Type: Pilih Dual-stack.
Edition (Instance Fee): Pilih Standard.
Afinitas versi IP hanya didukung oleh instans ALB Standard dan WAF-enhanced, tidak didukung oleh instans Basic atau Advanced.
Setelah instans dibuat, klik ID-nya untuk membuka halaman Instance Details. Di bagian Basic Information, temukan Network Type, lalu klik Change Network Type di samping IPv6: Private. Di kotak dialog yang muncul, klik OK.
Langkah 3: Buat grup server dual-stack dengan afinitas
Di konsol grup server, klik Create Server Group.
Tentukan pengaturan berikut lalu klik Create:
Server Group Type: Pilih Server.
Afinitas versi IP hanya tersedia untuk grup server tipe Server dan IP.
Server Group Name: Masukkan
sgp-alb-dualstack.VPC: Pilih
VPC1.Backend Server Protocol: Pilih HTTP.
Di bagian Protocol Configuration, lengkapi konfigurasi berikut:
IP Version: Pilih IPv4/IPv6 dual-stack. Ini memungkinkan Anda menambahkan server backend IPv4 dan IPv6.
IP Version Affinity: Pilih Affinity mode. Saat diaktifkan, permintaan IPv4 hanya diteruskan ke backend IPv4, dan permintaan IPv6 hanya diteruskan ke backend IPv6.
Klik Add Backend Server di kotak dialog The server group is created. Di kolom IP, pilih alamat IPv4 untuk
ecs-ipv4dan alamat IPv6 untukecs-ipv6. Pilih dua instans tersebut lalu klik Next.Pada langkah Ports/Weights, atur Port kedua server menjadi
80, lalu klik OK untuk menyelesaikan penambahan.
Langkah 4: Buat listener
Di Konsol ALB, klik ID instans target untuk membuka halaman detailnya. Di tab Listener, klik Create Listener.
Pada langkah Configure Listener, atur Listener Protocol ke HTTP , masukkan
80untuk Listener Port, lalu klik Next.Topik ini menggunakan listener HTTP untuk menunjukkan kemampuan penerusan afinitas. Kami merekomendasikan penggunaan listener HTTPS di lingkungan produksi.
Pada langkah Select Server Group, pilih grup server
sgp-alb-dualstack, lalu klik Next.Pada langkah Configuration Review, konfirmasi konfigurasi lalu klik Submit.
Langkah 5: Konfigurasikan resolusi DNS
Buat rekaman CNAME untuk memetakan domain kustom Anda ke nama DNS instans ALB.
Contoh berikut menggunakan Alibaba Cloud DNS. Jika domain Anda tidak terdaftar di Alibaba Cloud, Anda harus terlebih dahulu menambahkan nama domain ke konsol Alibaba Cloud DNS.
Di Konsol ALB, salin Domain Name instans target.
Masuk ke Konsol Alibaba Cloud DNS. Di kolom Actions untuk domain target Anda, klik Settings. Di halaman Settings, klik Add Record.
Tambahkan rekaman CNAME dengan pengaturan berikut lalu klik OK:
Record Type: Pilih CNAME.
Hostname: Masukkan awalan nama domain, seperti
test. Jika domain root Anda adalahexample.com, nama domain yang digunakan untuk mengakses ALB adalahtest.example.com.Query Source dan TTL: Biarkan nilai default.
Record Value: Masukkan nama DNS instans ALB.
Di kotak dialog Change Resource Record Confirmation, tinjau informasi DNS lalu klik OK.
Langkah 6: Verifikasi penerusan afinitas
Saat klien melakukan resolusi domain kustom instans ALB dual-stack, server DNS akan mengembalikan rekaman A (IPv4) atau rekaman AAAA (IPv6) berdasarkan kemampuan jaringan klien.
Uji permintaan IPv4
curl -4 http://test.example.comSemua permintaan harus mengembalikan Hello from IPv4 backend, yang mengonfirmasi bahwa lalu lintas IPv4 diteruskan ke backend IPv4 ecs-ipv4.
Uji permintaan IPv6
curl -6 http://test.example.comSemua permintaan harus mengembalikan Hello from IPv6 backend, yang mengonfirmasi bahwa lalu lintas IPv6 diteruskan ke backend IPv6 ecs-ipv6.
Verifikasi isolasi afinitas
Hentikan layanan Nginx pada
ecs-ipv4:sudo systemctl stop nginx.Uji kembali permintaan IPv4. Permintaan akan gagal dan tidak diteruskan ke backend IPv6
ecs-ipv6.Pulihkan layanan
ecs-ipv4:sudo systemctl start nginx. Permintaan IPv4 kembali normal.
Informasi tambahan
Penagihan
Instans ALB: ALB mendukung pay-as-you-go (postpaid) dan paket sumber daya (prepaid). Untuk informasi selengkapnya, lihat Aturan penagihan ALB.
Instans ECS: Untuk detailnya, lihat Ikhtisar penagihan ECS. Jika Anda membuat instans ECS untuk pengujian, kami merekomendasikan menggunakan instans pay-as-you-go spesifikasi rendah dan segera melepaskannya setelah digunakan.
Biaya nama domain dan resolusi DNS: Selain biaya nama domain dari penyedia Anda, Anda harus membayar untuk resolusi DNS otoritatif publik saat mengonfigurasi resolusi DNS di Alibaba Cloud.
Biaya jaringan publik: Anda dikenai biaya untuk Alamat IP publik yang terkait dengan instans ALB dan untuk bandwidth publik IPv6 dari VPC tempat instans tersebut berada.
Wilayah yang mendukung instans ALB dual-stack
|
Area |
Wilayah |
|
China |
China (Hangzhou), China (Shanghai), China (Shenzhen), China (Heyuan), China (Chengdu), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Hong Kong), China (Guangzhou) |
|
Asia-Pasifik |
Singapura, Malaysia (Kuala Lumpur), Jepang (Tokyo), Indonesia (Jakarta), Korea Selatan (Seoul), Filipina (Manila), dan Thailand (Bangkok) |
|
Eropa dan Amerika |
Inggris (London), Jerman (Frankfurt), AS (Virginia), AS (Silicon Valley), dan Meksiko |
|
Timur Tengah |
SAU (Riyadh - Partner Region) |
Pertimbangan produksi
Penerapan ketersediaan tinggi: Terapkan server backend di beberapa zona ketersediaan. Pastikan redundansi untuk backend IPv4 dan IPv6 guna menghindari single point of failure.
Konfigurasi pemeriksaan kesehatan: Sesuaikan interval, timeout, dan ambang batas pemeriksaan kesehatan berdasarkan kebutuhan layanan Anda agar server yang rusak segera dikeluarkan dari rotasi.
FAQ
Apakah mode afinitas dapat meneruskan IPv4 ke IPv6?
Tidak. Dengan afinitas versi IP diaktifkan, permintaan IPv4 hanya dikirim ke server backend IPv4 dan permintaan IPv6 hanya ke server backend IPv6. Penerusan lintas protokol tidak terjadi.
Menangani permintaan IPv6 dengan backend IPv4 saja
Jika afinitas versi IP dinonaktifkan, ALB dapat menerjemahkan permintaan IPv6 ke IPv4 sebelum mengirimkannya ke server backend. Jika afinitas versi IP diaktifkan, permintaan IPv6 tidak dapat diteruskan ke backend IPv4 saja. Pastikan grup server Anda berisi server backend IPv4 dan IPv6 yang sehat.
Memodifikasi versi alamat IP grup server
Tidak. IP Version (IPv4 atau IPv4/IPv6 dual-stack) grup server tidak dapat diubah setelah pembuatan. Untuk mengubah pengaturan ini, Anda harus membuat grup server baru dan menghapus yang lama.
Memodifikasi afinitas versi IP grup server
Ya. Di konsol grup server, klik Modify Basic Information di kolom Actions untuk grup server dual-stack target.
Anda dapat memodifikasi IP Version Affinity hanya untuk grup server yang dibuat dengan IP Version diatur ke IPv4/IPv6 dual-stack.
Mengasosiasikan grup dual-stack dengan ALB IPv4 saja
Tidak. Grup server dual-stack hanya dapat diasosiasikan dengan listener pada instans ALB dual-stack.