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, ke penggunaan backend failover. Pengalihan menyediakan satu metode untuk meningkatkan ketersediaan, sekaligus memberi Anda kontrol yang lebih besar tentang cara mengelola workload saat VM backend utama Anda tidak dalam kondisi baik.
Halaman ini menjelaskan konsep dan persyaratan khusus untuk failover bagi Load Balancer Jaringan passthrough eksternal. Pastikan Anda memahami informasi konseptual 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. Agar lebih sederhana, contoh di halaman ini menampilkan grup instance tidak terkelola.
Menggunakan grup instance terkelola dengan penskalaan otomatis dan failover dapat menyebabkan kumpulan aktif berulang kali melakukan failover dan failback 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 tidak 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 didistribusikan di antara dua zona di region
us-west1. Konfigurasi ini meningkatkan keandalan karena tidak
bergantung pada satu zona untuk semua backend failover atau semua backend utama.
- Backend utama adalah grup instance tidak terkelola
ig-adanig-d. - Backend failover adalah grup instance tidak terkelola
ig-bdanig-c.
Selama failover, kedua backend utama menjadi tidak aktif, sementara 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 Anda menambahkannya ke layanan backend atau dengan mengedit backend setelah Anda menambahkannya. Jika tidak, grup instance bersifat 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 tetapkan sebagai backend utama. VM di backend utama berpartisipasi dalam kumpulan aktif load balancer (dijelaskan di bagian berikutnya), kecuali jika load balancer beralih menggunakan backend failover-nya.
VM cadangan adalah anggota grup instance yang telah Anda tetapkan 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 yang menerima koneksi baru dari Load Balancer Jaringan passthrough eksternal. Keanggotaan VM backend di 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 responsif ke kumpulan aktif, proses ini disebut failover. Saat Google Cloud membalikkan ini, prosesnya disebut failback.
Kebijakan failover
Kebijakan failover adalah kumpulan parameter yang Google Cloud digunakan untuk failover dan failback. Setiap Load Balancer Jaringan passthrough eksternal memiliki satu kebijakan failover yang memiliki beberapa setelan:
- Rasio failover
- Menjatuhkan 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, 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. Sebaiknya tetapkan rasio failover ke angka yang sesuai untuk kasus penggunaan Anda, bukan mengandalkan nilai default ini.
| Kondisi | VM di kumpulan aktif |
|---|---|
|
Semua VM utama yang responsif |
Jika setidaknya satu VM cadangan responsif dan:
|
Semua VM cadangan 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.0mengharuskan semua VM utama responsif. Jika setidaknya satu VM utama menjadi tidak responsif, Google Cloud failover akan dilakukan, dan VM cadangan akan dipindahkan ke kumpulan aktif. - Rasio failover
0.1mengharuskan setidaknya 10% VM utama responsif; jika tidak, Google Cloud melakukan failover. - Rasio failover
0.0berarti Google Cloud melakukan failover hanya jika semua VM utama tidak responsif. Failover tidak terjadi jika setidaknya ada satu VM utama yang responsif.
Load Balancer Jaringan passthrough eksternal mendistribusikan koneksi di antara VM dalam kumpulan aktif sesuai dengan algoritma distribusi traffic.
Menjatuhkan traffic saat semua VM backend tidak responsif
Secara default, jika 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 menghentikan koneksi baru saat semua VM utama dan cadangan tidak responsif.
Pengosongan koneksi saat failover dan failback
Jika penghentian koneksi diaktifkan untuk kebijakan failover, koneksi yang sudah dibuat ke instance di grup instance primer atau failover akan terus dikirim ke instance yang telah terhubung, bahkan setelah failover atau failback, sehingga mencegah gangguan 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 ini berlaku:
Secara default, pengosongan koneksi diaktifkan. Sesi TCP yang ada dapat tetap ada di VM backend saat ini meskipun VM backend tidak berada di kumpulan aktif load balancer.
Anda dapat menonaktifkan pengosongan koneksi selama peristiwa failover dan failback. Menonaktifkan pengurasan koneksi selama failover dan failback memastikan bahwa semua sesi TCP, termasuk sesi yang sudah dibuat, dihentikan dengan cepat. Koneksi ke VM backend dapat ditutup dengan paket reset TCP.
Menonaktifkan penghentian koneksi saat failover dan failback berguna untuk skenario seperti berikut:
Membuat patch VM backend. Sebelum melakukan patching, konfigurasi VM utama Anda agar gagal melewati health check sehingga load balancer melakukan failover. Menonaktifkan pengurasan koneksi memastikan bahwa semua koneksi dipindahkan ke VM cadangan dengan cepat dan terencana. Dengan begitu, Anda dapat menginstal update dan memulai ulang VM utama tanpa mempertahankan koneksi yang ada. Setelah melakukan patching, Google Cloud dapat melakukan failback saat jumlah VM utama yang memadai (sebagaimana ditentukan oleh rasio failover) lulus pemeriksaan kondisinya.
VM backend tunggal untuk konsistensi data. Jika Anda perlu memastikan bahwa hanya satu VM yang menjadi tujuan untuk semua koneksi, nonaktifkan pengurasan koneksi sehingga pengalihan dari VM utama ke VM cadangan tidak memungkinkan koneksi yang ada tetap ada di keduanya. Tindakan ini mengurangi kemungkinan inkonsistensi data dengan hanya menjaga satu VM backend tetap aktif pada waktu tertentu.
Contoh failover
Contoh berikut menjelaskan perilaku failover untuk contoh Load Balancer Jaringan passthrough eksternal multi-zona yang disajikan 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-a1diig-avm-a2diig-avm-d1diig-dvm-d2diig-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-b1diig-bvm-b2diig-bvm-c1diig-cvm-c2diig-c
Misalkan Anda ingin mengonfigurasi kebijakan failover untuk load balancer ini sehingga koneksi baru dikirimkan ke VM cadangan saat 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 utama yang harus responsif dengan mengalikan rasio failover dengan
jumlah VM utama: 4 × 0.5 = 2
Jika keempat VM utama responsif, Google Cloud VM tersebut akan mendistribusikan koneksi baru ke semuanya. Jika VM utama gagal dalam health check:
Jika
vm-a1danvm-d1menjadi tidak responsif, Google Cloud akan mendistribusikan koneksi baru di antara dua VM utama yang responsif yang tersisa,vm-a2danvm-d2, karena jumlah VM utama yang responsif setidaknya adalah minimum.Jika
vm-a2juga gagal melewati health check, sehingga hanya ada satu VM utama yang responsif,vm-d2, Google Cloud mengenali bahwa jumlah VM utama yang responsif 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 (dalam grup instanceig-bdanig-c). Meskipunvm-d2tetap responsif, VM tersebut dihapus dari kumpulan aktif dan tidak menerima koneksi baru.Jika
vm-a2pulih dan lulus health check, Google Cloud mengenali bahwa jumlah VM utama yang responsif setidaknya adalah minimum dua, sehingga melakukan failback. Kumpulan aktif ditetapkan ke dua VM utama yang responsif, yaituvm-a2danvm-d2, dan koneksi baru didistribusikan di antara keduanya. Semua VM cadangan dihapus dari kumpulan aktif.Saat VM utama lainnya pulih dan lulus health check, Google Cloud akan menambahkannya ke kumpulan aktif. Misalnya, jika
vm-a1menjadi responsif, Google Cloud menetapkan kumpulan aktif ke tiga VM utama yang responsif,vm-a1,vm-a2, danvm-d2, serta mendistribusikan koneksi baru di antara ketiganya.
Langkah berikutnya
- 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.