Application Load Balancer (ALB) mendukung cross-zone load balancing untuk mencegah bottleneck sumber daya akibat load balancing di zona tunggal. Namun, dalam skenario bisnis yang sensitif terhadap latensi—seperti trading kuantitatif di sektor keuangan dan komunikasi real-time—fitur ini dapat menyebabkan latensi jaringan yang tidak diinginkan. Dalam kasus tersebut, Anda dapat menonaktifkan cross-zone load balancing agar ALB hanya mendistribusikan permintaan ke layanan backend dalam satu zona di wilayah tertentu, sehingga meningkatkan kecepatan akses permintaan untuk bisnis Anda.
Ikhtisar
Secara default, cross-zone load balancing diaktifkan untuk instans ALB. Permintaan masuk didistribusikan ke layanan backend yang ditempatkan di semua zona yang dipilih dalam suatu wilayah. Jika Anda menonaktifkan fitur ini untuk suatu grup server, beban akan diseimbangkan secara terpisah di setiap zona.
Sebelum menonaktifkan cross-zone load balancing untuk layanan ALB Anda, pastikan tersedia setidaknya satu server backend dengan sumber daya memadai di setiap zona. Untuk menghindari dampak negatif pada bisnis Anda, pahami terlebih dahulu cara kerja fitur ini sebelum menonaktifkannya.
Manfaat
Mengurangi latensi: Mendistribusikan permintaan dalam satu zona menghilangkan latensi jaringan akibat transfer data antar-zona, sehingga meningkatkan kecepatan akses permintaan untuk bisnis Anda.
Skema penggunaan
Skenario yang sensitif terhadap latensi:
Trading keuangan: Trading kuantitatif intensif memerlukan latensi rendah untuk memungkinkan pemrosesan transaksi cepat, sehingga mengurangi risiko kegagalan atau timeout transaksi.
Komunikasi real-time: Konferensi video dan pesan instan memerlukan latensi rendah guna memberikan pengalaman pengguna yang lancar dan mulus.
Internet of Things (IoT): Pengumpulan data real-time memerlukan latensi rendah agar analisis data dapat dilakukan secara cepat dan respons terhadap permintaan menjadi lebih cepat, sehingga meningkatkan efisiensi dan akurasi sistem pengumpulan data secara keseluruhan.
Batasan
Grup server dengan cross-zone load balancing yang dinonaktifkan hanya dapat dikaitkan dengan instans ALB standar dan instans ALB yang diaktifkan WAF. Grup server tersebut tidak dapat dikaitkan dengan instans ALB dasar.
Jika cross-zone load balancing dinonaktifkan, Session Persistence tidak dapat diaktifkan.
Untuk grup server bertipe IP, jika Remote IP diaktifkan, cross-zone load balancing tidak dapat dinonaktifkan.
Parameter ini tidak tersedia untuk grup server bertipe Function Compute.
Contoh skenario
Sebuah perusahaan telah menerapkan bisnis berkelanjutan tinggi di wilayah Tiongkok (Hangzhou), dengan cross-zone load balancing diaktifkan secara default. Seiring transformasi bisnis, perusahaan kini memiliki persyaratan latensi yang lebih ketat.
Dalam kasus ini, perusahaan dapat menonaktifkan cross-zone load balancing, sehingga ALB hanya mendistribusikan permintaan ke layanan backend yang ditempatkan dalam satu zona di wilayah tersebut. Dengan demikian, latensi jaringan berkurang dan kecepatan akses permintaan untuk bisnis perusahaan meningkat.
Prasyarat
Instans ALB standar telah dibuat di beberapa zona di wilayah Tiongkok (Hangzhou). Dalam contoh ini, instans ALB dibuat di Zona H dan Zona K. Untuk informasi selengkapnya, lihat Buat dan kelola instans ALB.
Grup server telah dibuat. Untuk informasi selengkapnya, lihat Buat dan kelola grup server.
Instans Elastic Compute Service (ECS) ECS01 dan ECS02 telah ditambahkan ke grup server yang dikaitkan dengan instans ALB. ECS01 ditempatkan di Zona H dan ECS02 di Zona K. Kedua instans tersebut telah menjalankan layanan aplikasi.
Pendengar telah dikonfigurasi untuk instans ALB dan grup server yang dibuat telah dikaitkan dengan instans ALB. Untuk informasi selengkapnya, lihat Tambahkan pendengar HTTP, Tambahkan pendengar HTTPS, dan Tambahkan pendengar QUIC.
Nama domain telah didaftarkan, nomor Internet Content Provider (ICP) telah diperoleh untuk nama domain tersebut, dan rekaman CNAME telah dikonfigurasi untuk memetakan nama domain kustom ke nama domain instans ALB. Untuk informasi selengkapnya, lihat Daftarkan nama domain generik, Proses pendaftaran ICP, dan Konfigurasikan rekaman CNAME untuk instans ALB.
Prosedur
Langkah 1: Nonaktifkan cross-zone load balancing
Langkah ini menjelaskan cara memodifikasi konfigurasi grup server untuk menonaktifkan cross-zone load balancing dengan asumsi grup server telah dibuat. Jika Anda belum membuat grup server, Anda dapat menonaktifkan fitur ini saat pembuatan.
Masuk ke Konsol ALB.
Pada halaman Server Groups, temukan grup server yang ingin Anda kelola lalu klik ID grup server tersebut.
Pada halaman Details, di bagian Basic Information, klik Modify Basic Information.
Pada kotak dialog Modify Basic Information, klik Advanced Settings, matikan Cross-zone Load Balancing, lalu klik Save.
(Opsional) Langkah 2: Verifikasi bahwa cross-zone load balancing telah dinonaktifkan
Langkah ini hanya memverifikasi apakah modifikasi konfigurasi telah berlaku. Langkah 3 menguji latensi jaringan aktual setelah modifikasi konfigurasi.
Pada halaman Instance Details instans ALB, pada tab Zone, salin Alamat IP Elastis (EIP) dari Zone H dan Zone K.
Gunakan browser untuk mengakses EIP Zone H, misalnya
http://<EIP_of_Zone_H>. Segarkan browser beberapa kali. Hanya server backend ECS01 yang ditempatkan di Zone H yang dapat diakses.
Gunakan browser untuk mengakses EIP Zone K, misalnya
http://<EIP_of_Zone_K>. Segarkan browser beberapa kali. Hanya server backend ECS02 yang ditempatkan di Zone K yang dapat diakses.
Langkah 3: Uji latensi jaringan
Hasil pengujian dapat bervariasi tergantung wilayah dan zona. Hasil pengujian aktual bisnis Anda yang berlaku. Dalam contoh ini, penundaan paket diperiksa.
Buat instans ECS03 yang menghadap Internet di wilayah Jerman (Frankfurt) sebagai client pengujian. Jika Anda sudah memiliki server yang dapat digunakan untuk pengujian, Anda tidak perlu membuat instans baru.
Masuk ke client pengujian ECS03 dan jalankan perintah berikut untuk menguji latensi akses:
curl http://www.example.com -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n"Parameter yang terlibat dijelaskan sebagai berikut:
time_connect: Waktu koneksi, yaitu waktu yang diperlukan untuk membangun koneksi TCP. Satuan: detik.
time_starttransfer: Waktu transfer data, yaitu waktu dari saat client mengirim permintaan ke server backend hingga byte pertama dikirim ke client. Satuan: detik.
time_total: Waktu koneksi total, yaitu waktu dari saat client mengirim permintaan ke server backend hingga client menerima byte terakhir dari server backend. Satuan: detik.
Waktu respons dengan cross-zone load balancing diaktifkan:

Waktu respons dengan cross-zone load balancing dinonaktifkan:

Hasil pengujian menunjukkan bahwa setelah cross-zone load balancing dinonaktifkan, waktu koneksi, waktu transfer data, dan waktu koneksi total semuanya lebih singkat.
FAQ
Mengapa saya menerima kode status 503 setelah menonaktifkan cross-zone load balancing?
Salah satu kemungkinan penyebabnya adalah pada grup server yang dikaitkan dengan instans ALB Anda, tidak tersedia server backend di zona tertentu tempat instans ALB ditempatkan. Karena instans ALB tidak memiliki server backend untuk meneruskan permintaan, kode status 503 dikembalikan.
Mengapa saya tidak dapat mengaktifkan fitur persistensi sesi setelah menonaktifkan cross-zone load balancing?
Jika persistensi sesi diaktifkan, permintaan yang diterima instans ALB dari satu zona dapat terus-menerus diteruskan ke server backend di zona lain. Setelah cross-zone load balancing dinonaktifkan, persistensi sesi tidak dapat diimplementasikan.
Apa status pemeriksaan kesehatan server backend yang tidak ditempatkan di zona mana pun dari layanan ALB?
Setelah cross-zone load balancing dinonaktifkan untuk instans ALB, server backend yang tidak ditempatkan di zona mana pun dari layanan ALB dinyatakan sebagai Unused.
Referensi
Untuk wilayah dan zona tempat ALB tersedia, lihat Wilayah dan zona.
Jika Anda mengalami masalah konfigurasi, lihat FAQ ALB.
Jika Anda mengalami anomali pemeriksaan kesehatan, lihat Pemecahan masalah pemeriksaan kesehatan ALB.
Untuk informasi tentang pemanggilan operasi API guna membuat grup server, lihat CreateServerGroup.
Untuk informasi tentang pemanggilan operasi API guna memperbarui konfigurasi server backend, lihat UpdateServerGroupServersAttribute.
Untuk informasi tentang pemanggilan operasi API guna menampilkan daftar grup server, lihat ListServerGroups.
Untuk informasi tentang pemanggilan operasi API guna menanyakan status pemeriksaan kesehatan, lihat GetListenerHealthStatus.