Ringkasan Failover untuk Load Balancer Jaringan passthrough eksternal

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 perlu, ke backend failover. Failover menyediakan salah satu metode untuk meningkatkan ketersediaan, sekaligus memberi Anda kontrol yang lebih besar terkait cara mengelola workload saat VM backend utama Anda tidak responsif.

Halaman ini menjelaskan konsep dan persyaratan khusus failover untuk Load Balancer Jaringan passthrough eksternal. Pastikan Anda telah memahami informasi konseptual dalam artikel berikut sebelum mengonfigurasi failover untuk Load Balancer Jaringan passthrough eksternal Anda:

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 untuk menjadi backend failover saat menambahkannya ke layanan backend load balancer, atau dengan mengedit layanan backend nanti. Backend failover hanya menerima koneksi dari load balancer jika rasio VM utama yang dapat dikonfigurasi tidak lulus health check.

Backend yang didukung

Grup instance (yang dikelola dan tidak dikelola) dan NEG zona (dengan endpoint GCE_VM_IP) didukung sebagai backend. Untuk mempermudah, contoh di halaman ini menunjukkan grup instance yang tidak dikelola.

Menggunakan grup instance terkelola dengan penskalaan otomatis dan failover dapat menyebabkan kumpulan aktif berulang kali failover dan failback antara backend utama dan failover. Google Cloud tidak mencegah Anda mengonfigurasi failover dengan grup instance terkelola karena deployment Anda dapat memanfaatkan penyiapan ini.

Arsitektur

Contoh berikut menggambarkan Load Balancer Jaringan passthrough eksternal dengan satu backend utama dan satu backend failover.

  • Backend utama adalah grup instance yang tidak dikelola di us-west1-a.
  • Backend failover adalah grup instance tidak terkelola yang berbeda di us-west1-c.
Contoh failover untuk Load Balancer Jaringan passthrough eksternal.
Contoh failover untuk Load Balancer Jaringan passthrough eksternal (klik untuk memperbesar).

Contoh berikutnya menggambarkan Load Balancer Jaringan passthrough eksternal dengan dua backend utama dan dua backend failover, keduanya didistribusikan di antara dua zona di region us-west1. Konfigurasi ini meningkatkan keandalan karena tidak bergantung pada satu zona untuk semua backend utama atau semua backend failover.

  • Backend utama adalah grup instance tidak terkelola ig-a dan ig-d.
  • Backend failover adalah grup instance yang tidak dikelola ig-b dan ig-c.
Failover Load Balancer Jaringan passthrough eksternal multi-zona.
Failover Load Balancer Jaringan passthrough eksternal multi-zona (klik untuk memperbesar).

Selama failover, kedua backend utama menjadi tidak aktif, sedangkan VM yang responsif di kedua backend failover akan aktif. Untuk penjelasan lengkap tentang cara kerja failover dalam contoh ini, lihat contoh failover.

Grup instance backend dan VM

Grup instance di Load Balancer Jaringan passthrough eksternal bisa berupa backend utama atau backend failover. Anda dapat menetapkan backend sebagai backend failover pada saat Anda menambahkannya ke layanan backend atau dengan mengedit backend setelah menambahkannya. Jika tidak, grup instance akan menjadi utama 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 untuk menggunakan backend failover-nya.

VM cadangan adalah anggota grup instance yang telah Anda tetapkan sebagai backend failover. VM di backend failover berpartisipasi dalam penyimpanan aktif load balancer saat VM utama menjadi tidak responsif. Jumlah VM utama 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.

Kolam aktif

Kumpulan aktif adalah kumpulan VM backend yang menjadi tujuan pengiriman koneksi baru oleh Load Balancer Jaringan passthrough eksternal. Keanggotaan VM backend di kumpulan aktif dikomputasi secara otomatis berdasarkan backend mana yang responsif dan kondisi yang dapat ditentukan, seperti yang dijelaskan dalam kebijakan failover.

Kumpulan aktif tidak pernah menggabungkan VM utama dan VM cadangan. Contoh berikut menjelaskan kemungkinan keanggotaan. Selama failover, kumpulan aktif hanya berisi VM cadangan. Selama operasi normal (failback), kumpulan aktif hanya berisi VM utama.

Kumpulan aktif saat failover dan failover.
Kumpulan aktif saat failover dan failback (klik untuk memperbesar).

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, prosesnya disebut failover. Ketika Google Cloud membalikkan hal ini, proses ini disebut failover.

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
  • Menurunkan 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 failover, sehingga mengubah keanggotaan di kumpulan aktif. Rasionya dapat 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 rasio default ini.

Kondisi VM di kumpulan aktif
  1. Rasio failover (x) != 0.0.
    Rasio VM utama yang responsif >= x.
  2. Rasio failover (x) = 0.0.
    Jumlah VM utama yang responsif > 0.
Semua VM utama yang responsif
Jika minimal satu VM cadangan responsif dan:
  1. Rasio failover (x) != 0.0.
    Rasio VM utama yang responsif < x.
  2. Rasio failover = 0.0.
    Jumlah VM utama yang responsif = 0.
Semua VM pencadangan yang responsif
Ketika semua VM primer dan semua VM cadangan tidak responsif dan Anda belum mengonfigurasi load balancer untuk menurunkan traffic dalam situasi ini. Semua VM utama, sebagai upaya terakhir

Contoh berikut menjelaskan keanggotaan dalam kumpulan aktif. Untuk contoh kalkulasi, lihat Contoh failover.

  • Rasio failover sebesar 1.0 mengharuskan semua VM utama responsif. Saat setidaknya satu VM utama menjadi tidak responsif, Google Cloud akan melakukan failover, sehingga memindahkan VM cadangan ke kumpulan yang aktif.
  • Rasio failover 0.1 mengharuskan setidaknya 10% VM utama responsif; jika tidak, Google Cloud akan melakukan failover.
  • Rasio failover sebesar 0.0 berarti Google Cloud melakukan failover hanya saat semua VM utama tidak responsif. Failover tidak terjadi jika setidaknya satu VM primer responsif.

Load Balancer Jaringan passthrough eksternal mendistribusikan koneksi antara VM di kumpulan aktif sesuai dengan algoritma distribusi traffic.

Menurunkan 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 ingin, 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

Ketika penghentian koneksi diaktifkan untuk kebijakan failover, koneksi yang terhubung ke instance dalam grup instance utama atau failover akan terus dikirim ke instance yang telah dimilikinya, bahkan setelah failover atau failback, sehingga dapat mencegah kerusakan koneksi. Jika penghentian koneksi dinonaktifkan untuk kebijakan failover, setiap koneksi yang ada akan segera dihentikan selama failover atau failover.

Jika protokol untuk load balancer Anda adalah TCP, hal berikut berlaku:

  • Secara default, pengosongan koneksi diaktifkan. Sesi TCP yang ada dapat dipertahankan di VM backend saat ini meskipun VM backend tidak berada dalam kumpulan aktif load balancer.

  • Anda dapat menonaktifkan pengosongan koneksi selama peristiwa failover dan failover. Menonaktifkan pengosongan koneksi selama failover dan failback memastikan bahwa semua sesi TCP, termasuk yang sudah ada, dapat dihentikan dengan cepat. Koneksi ke VM backend dapat ditutup dengan paket reset TCP.

Menonaktifkan pengosongan koneksi pada failover dan failback berguna untuk skenario seperti berikut:

  • Melakukan patch pada VM backend. Sebelum melakukan patching, konfigurasikan VM utama untuk gagal dalam health check, sehingga load balancer melakukan failover. Menonaktifkan pengosongan koneksi memastikan bahwa semua koneksi dipindahkan ke VM cadangan dengan cepat dan secara terencana. Tindakan ini memungkinkan Anda menginstal update dan memulai ulang VM utama tanpa mempertahankan koneksi yang ada. Setelah menerapkan patch, Google Cloud dapat melakukan failover saat jumlah VM utama yang memadai (sebagaimana ditentukan oleh rasio failover) tersebut telah lulus health check.

  • VM backend tunggal untuk konsistensi data. Jika Anda perlu memastikan bahwa hanya satu VM yang merupakan tujuan untuk semua koneksi, nonaktifkan pengosongan koneksi sehingga beralih dari VM utama ke VM cadangan tidak memungkinkan koneksi yang ada terus bertahan di keduanya. Hal ini mengurangi kemungkinan inkonsistensi data dengan hanya membuat satu VM backend aktif pada satu waktu tertentu.

Contoh failover

Contoh berikut menjelaskan perilaku failover untuk contoh Load Balancer Jaringan passthrough eksternal multi-zona yang ditampilkan di bagian arsitektur.

Failover Load Balancer Jaringan passthrough eksternal multi-zona.
Failover Load Balancer Jaringan passthrough eksternal multi-zona (klik untuk memperbesar).

Backend utama untuk load balancer ini adalah grup instance yang tidak dikelola 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 tersebut adalah VM utama:

  • vm-a1 di ig-a
  • vm-a2 di ig-a
  • vm-d1 di ig-d
  • vm-d2 di ig-d

Backend failover untuk load balancer ini adalah grup instance yang tidak dikelola 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 tersebut adalah VM cadangan:

  • vm-b1 di ig-b
  • vm-b2 di ig-b
  • vm-c1 di ig-c
  • vm-c2 di ig-c

Misalnya 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 primer: 4 × 0.5 = 2

Jika keempat VM utama responsif, Google Cloud akan mendistribusikan koneksi baru ke semua VM tersebut. Jika VM utama gagal dalam health check:

  • Jika vm-a1 dan vm-d1 tidak responsif, Google Cloud akan mendistribusikan koneksi baru antara dua VM utama yang responsif, vm-a2 dan vm-d2, karena jumlah VM utama yang responsif setidaknya merupakan jumlah minimum.

  • Jika vm-a2 juga gagal dalam health check, sehingga hanya menyisakan satu VM utama yang responsif, vm-d2, Google Cloud akan mengetahui bahwa jumlah VM utama yang responsif kurang dari minimum, sehingga akan melakukan failover. Kumpulan aktif ditetapkan ke empat VM cadangan yang responsif, dan koneksi baru didistribusikan di antara keempat VM tersebut (dalam grup instance ig-b dan ig-c). Meskipun vm-d2 tetap responsif, data tersebut dihapus dari kumpulan aktif dan tidak menerima koneksi baru.

  • Jika vm-a2 berhasil dipulihkan dan lulus health check, Google Cloud akan menyadari bahwa jumlah VM utama yang responsif setidaknya minimal dua, sehingga sistem akan melakukan failover. Kumpulan aktif ditetapkan ke dua VM utama yang responsif, vm-a2 dan vm-d2, dan koneksi baru didistribusikan di antara keduanya. Semua VM cadangan akan dihapus dari kumpulan aktif.

  • Saat VM utama lainnya dipulihkan 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, yaitu vm-a1, vm-a2, dan vm-d2, serta mendistribusikan koneksi baru di antara ketiga VM tersebut.

Langkah selanjutnya