Anda dapat mengonfigurasi Load Balancer Jaringan passthrough eksternal berbasis layanan backend untuk mendistribusikan koneksi di antara instance virtual machine (VM) di backend utama, lalu beralih, jika diperlukan, untuk menggunakan backend failover. Failover menyediakan satu metode untuk meningkatkan ketersediaan, sekaligus memberi Anda kontrol yang lebih besar atas cara mengelola workload saat VM backend utama tidak berfungsi.
Halaman ini menjelaskan konsep dan persyaratan khusus untuk failover bagi Load Balancer Jaringan passthrough eksternal. Pastikan Anda memahami informasi konsep dalam artikel berikut sebelum mengonfigurasi failover untuk Network Load Balancer passthrough eksternal:
Konsep ini penting untuk dipahami karena mengonfigurasi failover akan mengubah algoritma distribusi traffic standar load balancer.
Secara default, saat Anda menambahkan backend ke layanan backend Load Balancer Jaringan passthrough eksternal, backend tersebut adalah backend utama. Anda dapat menetapkan backend sebagai backend failover saat menambahkannya ke layanan backend load balancer, atau dengan mengedit layanan backend nanti. Backend failover hanya menerima koneksi dari load balancer setelah rasio VM utama yang dapat dikonfigurasi tidak lulus health check.
Backend yang didukung
Grup instance (terkelola dan tidak terkelola) serta NEG zonal (dengan endpoint GCE_VM_IP
) didukung sebagai backend. Untuk memudahkan, contoh di halaman ini
menampilkan grup instance yang tidak dikelola.
Menggunakan grup instance terkelola dengan penskalaan otomatis dan failover dapat menyebabkan kumpulan aktif berulang kali beralih ke mode failover dan beralih kembali antara backend utama dan failover. Google Cloud tidak mencegah Anda mengonfigurasi failover dengan grup instance terkelola karena deployment Anda mungkin mendapatkan manfaat dari penyiapan ini.
Arsitektur
Contoh berikut menggambarkan Load Balancer Jaringan passthrough eksternal dengan satu backend utama dan satu backend failover.
- Backend utama adalah grup instance tak terkelola di
us-west1-a
. - Backend failover adalah grup instance tidak terkelola yang berbeda di
us-west1-c
.
Contoh berikutnya menggambarkan Load Balancer Jaringan passthrough eksternal dengan dua backend
utama dan dua backend failover, yang keduanya didistribusikan di antara dua zona di
region us-west1
. Konfigurasi ini meningkatkan keandalan karena tidak
bergantung pada satu zona untuk semua backend primer atau semua backend failover.
- Backend utama adalah grup instance tidak terkelola
ig-a
danig-d
. - Backend failover adalah grup instance tidak terkelola
ig-b
danig-c
.
Selama failover, kedua backend utama menjadi tidak aktif, sedangkan VM yang responsif di kedua backend failover menjadi aktif. Untuk penjelasan lengkap tentang cara kerja failover dalam contoh ini, lihat Contoh failover.
Grup instance dan VM backend
Grup instance di Load Balancer Jaringan passthrough eksternal adalah backend utama atau backend failover. Anda dapat menetapkan backend sebagai backend failover pada saat menambahkannya ke layanan backend atau dengan mengedit backend setelah menambahkannya. Jika tidak, grup instance akan menjadi primer secara default.
Anda dapat mengonfigurasi beberapa backend utama dan beberapa backend failover dalam satu Load Balancer Jaringan passthrough eksternal dengan menambahkannya ke layanan backend load balancer.
VM utama adalah anggota grup instance yang telah Anda tentukan sebagai backend utama. VM di backend utama berpartisipasi dalam kumpulan aktif load balancer (dijelaskan di bagian berikutnya), kecuali jika load balancer beralih untuk menggunakan backend failover-nya.
VM cadangan adalah anggota grup instance yang telah Anda tentukan sebagai backend failover. VM di backend failover berpartisipasi dalam kumpulan aktif load balancer saat VM utama menjadi tidak responsif. Jumlah VM utama yang tidak responsif yang memicu failover adalah persentase yang dapat dikonfigurasi.
Batas
- Grup instance. Anda dapat memiliki hingga 50 grup instance backend utama dan hingga 50 grup instance backend failover.
Kumpulan aktif
Kumpulan aktif adalah kumpulan VM backend tempat Load Balancer Jaringan passthrough eksternal mengirim koneksi baru. Keanggotaan VM backend dalam kumpulan aktif dihitung secara otomatis berdasarkan backend yang responsif dan kondisi yang dapat Anda tentukan, seperti yang dijelaskan dalam Kebijakan failover.
Kumpulan aktif tidak pernah menggabungkan VM utama dan VM cadangan. Contoh berikut memperjelas kemungkinan keanggotaan. Selama failover, kumpulan aktif hanya berisi VM cadangan. Selama operasi normal (failback), kumpulan aktif hanya berisi VM utama.
Failover dan failback
Failover dan failback adalah proses otomatis yang mengalihkan VM backend ke dalam atau keluar dari kumpulan aktif load balancer. Saat Google Cloud menghapus VM utama dari kumpulan aktif dan menambahkan VM failover yang sehat ke kumpulan aktif, proses ini disebut failover. Saat Google Cloud membalikkan hal ini, prosesnya disebut failback.
Kebijakan failover
Kebijakan failover adalah kumpulan parameter yang digunakan Google Cloud untuk failover dan failback. Setiap Load Balancer Jaringan passthrough eksternal memiliki satu kebijakan failover yang memiliki beberapa setelan:
- Rasio failover
- Menghentikan traffic saat semua VM backend tidak responsif
- Pengosongan koneksi saat failover dan failback
Rasio failover
Rasio failover yang dapat dikonfigurasi menentukan kapan Google Cloud melakukan failover atau failback, yang mengubah keanggotaan di kumpulan aktif. Rasio dapat berkisar dari 0.0
hingga 1.0
, inklusif.
Jika Anda tidak menentukan rasio failover, Google Cloud akan menggunakan nilai default 0.0
. Praktik terbaiknya adalah menetapkan rasio failover ke angka yang sesuai
untuk kasus penggunaan Anda, bukan mengandalkan default ini.
Kondisi | VM dalam kumpulan aktif |
---|---|
|
Semua VM utama yang sehat |
Jika setidaknya satu VM cadangan berfungsi dengan baik dan:
|
Semua VM pencadangan yang responsif |
Jika semua VM utama dan semua VM cadangan tidak responsif dan Anda belum mengonfigurasi load balancer untuk menghentikan traffic selama situasi ini | Semua VM utama, sebagai upaya terakhir |
Contoh berikut memperjelas keanggotaan dalam kumpulan aktif. Untuk contoh dengan penghitungan, lihat Contoh failover.
- Rasio failover
1.0
mengharuskan semua VM utama dalam kondisi responsif. Jika setidaknya satu VM utama tidak berfungsi, Google Cloud akan melakukan failover, yang memindahkan VM cadangan ke kumpulan aktif. - Rasio failover
0.1
mengharuskan setidaknya 10% VM utama berfungsi dengan baik; jika tidak, Google Cloud akan melakukan failover. - Rasio failover
0.0
berarti Google Cloud hanya melakukan failover jika semua VM utama tidak responsif. Failover tidak terjadi jika setidaknya satu VM utama responsif.
Load Balancer Jaringan passthrough eksternal mendistribusikan koneksi di antara VM dalam kumpulan aktif sesuai dengan algoritma distribusi traffic.
Menghentikan traffic saat semua VM backend tidak responsif
Secara default, saat semua VM utama dan cadangan tidak responsif, Google Cloud akan mendistribusikan koneksi baru di antara semua VM utama. Hal ini dilakukan sebagai upaya terakhir.
Jika mau, Anda dapat mengonfigurasi Load Balancer Jaringan passthrough eksternal untuk memutuskan koneksi baru saat semua VM utama dan cadangan tidak responsif.
Pengosongan koneksi saat failover dan failback
Jika pengosongan koneksi diaktifkan untuk kebijakan failover, koneksi yang dibuat ke instance dalam grup instance primer atau failover akan terus dikirim ke instance tempat koneksi tersebut dibuat, bahkan setelah failover atau failback, sehingga mencegah kerusakan koneksi. Jika pengosongan koneksi dinonaktifkan untuk kebijakan failover, semua koneksi yang ada akan segera dihentikan selama failover atau failback.
Jika protokol untuk load balancer Anda adalah TCP, hal berikut berlaku:
Secara default, pengosongan koneksi diaktifkan. Sesi TCP yang ada dapat tetap ada di VM backend saat ini meskipun VM backend tidak berada dalam kumpulan aktif load balancer.
Anda dapat menonaktifkan pengosongan koneksi selama peristiwa failover dan failback. Menonaktifkan pengosongan koneksi selama failover dan failback memastikan bahwa semua sesi TCP, termasuk yang sudah dibuat, dihentikan dengan cepat. Koneksi ke VM backend mungkin ditutup dengan paket reset TCP.
Menonaktifkan pengosongan koneksi saat failover dan failback berguna untuk skenario seperti berikut:
Melakukan patching pada VM backend. Sebelum melakukan patching, konfigurasikan VM utama Anda agar gagal dalam health check sehingga load balancer melakukan failover. Menonaktifkan pengosongan koneksi memastikan bahwa semua koneksi dipindahkan ke VM cadangan dengan cepat dan sesuai rencana. Hal ini memungkinkan Anda menginstal update dan memulai ulang VM utama tanpa mempertahankan koneksi yang ada. Setelah melakukan patching, Google Cloud dapat melakukan failback jika VM utama dalam jumlah yang memadai (sebagaimana ditentukan oleh rasio failover) lulus health check.
VM backend tunggal untuk konsistensi data. Jika Anda perlu memastikan bahwa hanya satu VM yang menjadi tujuan untuk semua koneksi, nonaktifkan pengosongan koneksi sehingga beralih dari VM utama ke VM cadangan tidak memungkinkan koneksi yang ada tetap ada di keduanya. Hal ini mengurangi kemungkinan inkonsistensi data dengan hanya mengaktifkan satu VM backend pada waktu tertentu.
Contoh failover
Contoh berikut menjelaskan perilaku failover untuk contoh Load Balancer Jaringan passthrough external multi-zona yang ditampilkan di bagian arsitektur.
Backend utama untuk load balancer ini adalah grup instance tidak terkelola
ig-a
di us-west1-a
dan ig-d
di us-west1-c
. Setiap grup instance berisi
dua VM. Keempat VM dari kedua grup instance adalah VM utama:
vm-a1
diig-a
vm-a2
diig-a
vm-d1
diig-d
vm-d2
diig-d
Backend failover untuk load balancer ini adalah grup instance tidak terkelola
ig-b
di us-west1-a
dan ig-c
di us-west1-c
. Setiap grup instance berisi
dua VM. Keempat VM dari kedua grup instance adalah VM cadangan:
vm-b1
diig-b
vm-b2
diig-b
vm-c1
diig-c
vm-c2
diig-c
Misalnya, Anda ingin mengonfigurasi kebijakan failover untuk load balancer ini sehingga
koneksi baru dikirim ke VM cadangan jika jumlah VM utama yang responsif
kurang dari dua. Untuk melakukannya, tetapkan rasio failover ke 0.5
(50%
). Google Cloud menggunakan rasio failover untuk menghitung jumlah minimum VM primer yang harus berfungsi dengan baik dengan mengalikan rasio failover dengan jumlah VM primer: 4 × 0.5 = 2
Jika keempat VM utama berfungsi dengan baik, Google Cloud akan mendistribusikan koneksi baru ke semua VM tersebut. Jika VM utama gagal dalam health check:
Jika
vm-a1
danvm-d1
menjadi tidak responsif, Google Cloud akan mendistribusikan koneksi baru antara dua VM utama yang tersisa dan responsif,vm-a2
danvm-d2
, karena jumlah VM utama yang responsif setidaknya sudah minimum.Jika
vm-a2
juga gagal dalam health check, sehingga hanya menyisakan satu VM utama yang sehat,vm-d2
, Google Cloud akan mengenali bahwa jumlah VM utama yang sehat lebih sedikit dari minimum, sehingga melakukan failover. Kumpulan aktif ditetapkan ke empat VM cadangan yang responsif, dan koneksi baru didistribusikan di antara keempat VM tersebut (di grup instanceig-b
danig-c
). Meskipunvm-d2
tetap responsif, VM tersebut akan dihapus dari kumpulan aktif dan tidak menerima koneksi baru.Jika
vm-a2
pulih dan lulus health check, Google Cloud akan mengenali bahwa jumlah VM utama yang responsif setidaknya minimal dua, sehingga melakukan failback. Kumpulan aktif ditetapkan ke dua VM utama yang responsif,vm-a2
danvm-d2
, dan koneksi baru didistribusikan di antara keduanya. Semua VM cadangan akan dihapus dari kumpulan aktif.Saat VM utama lainnya pulih dan lulus health check, Google Cloud akan menambahkannya ke kumpulan aktif. Misalnya, jika
vm-a1
menjadi responsif, Google Cloud akan menetapkan kumpulan aktif ke tiga VM utama yang responsif,vm-a1
,vm-a2
, danvm-d2
, dan mendistribusikan koneksi baru di antara ketiga VM tersebut.
Langkah selanjutnya
- Untuk mengonfigurasi dan menguji Load Balancer Jaringan passthrough eksternal yang menggunakan failover, lihat Mengonfigurasi failover untuk Load Balancer Jaringan passthrough eksternal.
- Untuk mengonfigurasi dan menguji Load Balancer Jaringan passthrough eksternal dengan layanan backend, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal.