Panduan ini berisi petunjuk untuk memigrasikan Load Balancer Jaringan passthrough eksternal yang ada dari backend kumpulan target ke layanan backend regional.
Peralihan ke layanan backend regional memungkinkan Anda memanfaatkan fitur-fitur seperti health check non-lama (untuk TCP, SSL, HTTP, HTTPS, dan HTTP/2), grup instance terkelola, pengosongan koneksi, dan kebijakan failover.
Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:
Panduan ini akan menuntun Anda melakukan migrasi contoh Load Balancer Jaringan passthrough eksternal berbasis kumpulan target berikut untuk menggunakan layanan backend regional.
Deployment Load Balancer Jaringan passthrough eksternal berbasis layanan backend yang dihasilkan akan terlihat seperti ini.
Contoh ini mengasumsikan bahwa Anda memiliki Load Balancer Jaringan passthrough eksternal berbasis kumpulan target tradisional dengan dua instance di zona us-central-1a
dan dua instance di zona us-central-1c
.
Langkah-langkah tingkat tinggi yang diperlukan untuk transisi tersebut adalah sebagai berikut:
Kelompokkan instance kumpulan target Anda ke dalam grup instance.
Layanan backend hanya berfungsi dengan grup instance terkelola atau tidak terkelola. Meskipun tidak ada batasan jumlah instance yang dapat ditempatkan ke dalam satu kumpulan target, grup instance memiliki ukuran maksimum. Jika kumpulan target Anda memiliki instance lebih dari jumlah maksimum ini, Anda perlu membagi backend-nya ke beberapa grup instance.
Jika deployment yang ada mencakup kumpulan target cadangan, buat grup instance terpisah untuk instance tersebut. Grup instance ini dikonfigurasi sebagai grup failover.
Buat layanan backend regional.
Jika deployment Anda menyertakan kumpulan target cadangan, Anda harus menentukan rasio failover saat membuat layanan backend. Nilai ini harus cocok dengan rasio failover yang sebelumnya dikonfigurasi untuk deployment kumpulan target.
Tambahkan grup instance (dibuat sebelumnya) ke layanan backend.
Jika deployment Anda menyertakan kumpulan target cadangan, tandai grup instance failover yang sesuai dengan flag
--failover
saat menambahkannya ke layanan backend.Konfigurasikan aturan penerusan yang mengarah ke layanan backend baru.
Anda dapat memilih salah satu opsi berikut:
Perbarui aturan penerusan yang ada agar mengarah ke layanan backend (direkomendasikan).
Buat aturan penerusan baru yang mengarah ke layanan backend. Hal ini mengharuskan Anda membuat alamat IP baru untuk frontend load balancer. Kemudian, Anda dapat mengubah setelan DNS agar dapat melakukan transisi dari alamat IP load balancer berbasis kumpulan target yang lama ke alamat IP baru.
Sebelum memulai
Instal Google Cloud CLI. Untuk ringkasan lengkap tentang alat ini,
lihat Panduan Alat gcloud. Anda dapat menemukan perintah yang terkait dengan
load balancing di grup perintah
gcloud compute
.
Jika Anda belum pernah menjalankan Google Cloud CLI, jalankan gcloud init
terlebih dahulu untuk melakukan autentikasi.
Panduan ini mengasumsikan bahwa Anda sudah memahami bash.
Identifikasi backend dan aturan penerusan yang akan dimigrasikan
Untuk menampilkan semua kumpulan target, jalankan perintah berikut di Cloud Shell:
gcloud compute target-pools list
Perhatikan nama kumpulan target tempat migrasi berasal. Nama ini nantinya disebut sebagai TARGET_POOL_NAME.
Untuk menampilkan daftar semua instance VM dalam kumpulan target TARGET_POOL_NAME, jalankan perintah di Cloud Shell:
gcloud compute target-pools describe TARGET_POOL_NAME \ --region=us-central1
Catat nama instance VM-nya. Nama-nama ini nantinya disebut sebagai BACKEND_INSTANCE1, BACKEND_INSTANCE2, BACKEND_INSTANCE3, dan BACKEND_INSTANCE4.
Untuk mencantumkan aturan penerusan di Load Balancer Jaringan passthrough eksternal, jalankan perintah di Cloud Shell:
gcloud compute forwarding-rules list --filter="target: ( TARGET_POOL_NAME )"
Catat nama aturan penerusan. Nama ini nantinya disebut sebagai FORWARDING_RULE.
Membuat grup instance tidak terkelola menurut zona
Buat grup instance tidak terkelola menurut zona untuk setiap zona tempat Anda memiliki backend. Bergantung pada penyiapannya, Anda dapat membagi instance di sebanyak mungkin grup instance sesuai kebutuhan. Sebagai contoh, kita hanya menggunakan dua grup instance, satu untuk setiap zona, dan menempatkan semua VM backend di zona tertentu dalam grup instance terkait.
Untuk contoh ini, kita membuat dua grup instance: satu di zona uc-central1-a
dan satu di zona us-central1-c
.
Menyiapkan grup instance
Konsol
- Di Konsol Google Cloud, buka halaman Instance groups.
- Klik Create grup instance.
- Di panel kiri, pilih New managed instance group.
- Untuk Name, masukkan
ig-us-1
. - Untuk Region, pilih
us-central1
. - Untuk Zone, pilih
us-central1-a
. - Pilih Network dan Subnetwork bergantung pada lokasi instance Anda. Dalam contoh ini, instance kumpulan target yang ada berada di jaringan dan subnetwork
default
. - Untuk menambahkan instance ke grup instance, di bagian instance VM
, pilih dua instance BACKEND_INSTANCE1 dan BACKEND_INSTANCE2. - Klik Create.
Ulangi langkah-langkah ini untuk membuat grup instance kedua dengan spesifikasi berikut:
- Name:
ig-us-2
- Region:
us-central1
- Zona:
us-central1-c
Tambahkan dua instance BACKEND_INSTANCE3 dan BACKEND_INSTANCE4 di zona
us-central1-c
ke grup instance ini.- Name:
Jika deployment load balancer yang ada juga memiliki kumpulan target cadangan, ulangi langkah-langkah ini untuk membuat grup instance failover terpisah bagi instance tersebut.
gcloud
Buat grup instance yang tidak dikelola di zona
us-central1-a
dengan perintahgcloud compute instance-groups unmanaged create
.gcloud compute instance-groups unmanaged create ig-us-1 \ --zone us-central1-a
Buat grup instance kedua yang tidak dikelola di zona
us-central1-c
.gcloud compute instance-groups unmanaged create ig-us-2 \ --zone us-central1-c
Tambahkan instance ke grup instance
ig-us-1
.gcloud compute instance-groups unmanaged add-instances ig-us-1 \ --instances BACKEND_INSTANCE_1,BACKEND_INSTANCE_2 \ --zone us-central1-a
Tambahkan instance ke grup instance
ig-us-2
.gcloud compute instance-groups unmanaged add-instances ig-us-2 \ --instances BACKEND_INSTANCE_3,BACKEND_INSTANCE_4 \ --zone us-central1-c
Jika deployment load balancer yang ada juga memiliki kumpulan target cadangan, ulangi langkah-langkah ini untuk membuat grup instance failover terpisah bagi instance tersebut.
Membuat health check
Buat health check untuk menentukan kondisi instance di grup instance Anda. Load Balancer Jaringan passthrough eksternal berbasis kumpulan target yang ada kemungkinan memiliki health check HTTP lama yang terkait dengannya.
Anda dapat membuat health check baru yang cocok dengan protokol traffic yang akan didistribusikan oleh load balancer. Load Balancer Jaringan passthrough eksternal berbasis layanan backend dapat menggunakan health check TCP, SSL, HTTP(S), dan HTTP/2.
Konsol
- Di konsol Google Cloud, buka halaman Health checks.
- Klik Create health check.
- Di kolom Name, masukkan
network-lb-health-check
. - Tetapkan Cakupan ke Regional.
- Untuk Region, pilih
us-central1
. - Untuk Protocol, pilih HTTP.
- Untuk Port, masukkan
80
. - Klik Create.
gcloud
Untuk contoh ini, kami membuat health check HTTP non-lama untuk digunakan dengan layanan backend.
gcloud compute health-checks create http network-lb-health-check \ --region us-central1 \ --port 80
Mengonfigurasi layanan backend
Gunakan salah satu dari bagian berikut untuk membuat layanan backend. Jika Load Balancer Jaringan passthrough eksternal yang ada memiliki kumpulan target cadangan, Anda perlu mengonfigurasi rasio failover saat membuat layanan backend.
Anda juga harus menetapkan grup instance failover dengan tanda --failover
saat menambahkan backend ke layanan backend.
Deployment tanpa kumpulan target cadangan
gcloud
Buat layanan backend regional di region
us-central1
.gcloud compute backend-services create network-lb-backend-service \ --region us-central1 \ --health-checks network-lb-health-check \ --health-checks-region us-central1 \ --protocol TCP
Tambahkan dua grup instance (
ig-us-1
danig-us-2
) sebagai backend ke layanan backend.gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1
Deployment dengan kumpulan target cadangan
gcloud
Buat layanan backend regional di region
us-central1
. Konfigurasikan rasio failover layanan backend agar cocok dengan rasio failover yang sebelumnya dikonfigurasi untuk kumpulan target.gcloud compute backend-services create network-lb-backend-service \ --region us-central1 \ --health-check network-lb-health-check \ --failover-ratio 0.5
Tambahkan dua grup instance (
ig-us-1
danig-us-2
) sebagai backend ke layanan backend.gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1
Jika Anda membuat grup instance failover, tambahkan ke layanan backend. Tandai backend ini dengan flag
--failover
saat Anda menambahkannya ke layanan backend.gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group FAILOVER_INSTANCE_GROUP \ --instance-group-zone ZONE \ --region us-central1 \ --failover
Mengonfigurasi aturan penerusan
Anda memiliki dua opsi untuk mengonfigurasi aturan penerusan guna mengarahkan traffic ke layanan backend baru. Anda dapat memperbarui aturan penerusan yang ada atau membuat aturan penerusan baru dengan alamat IP baru.
Memperbarui aturan penerusan yang ada (direkomendasikan)
Gunakan flag set-target
untuk memperbarui aturan penerusan yang ada agar mengarah ke layanan backend baru.
gcloud compute forwarding-rules set-target FORWARDING_RULE \ --backend-service network-lb-backend-service \ --region us-central1
Ganti FORWARDING_RULE
dengan nama aturan penerusan yang ada.
Membuat aturan penerusan baru
Jika tidak ingin memperbarui aturan penerusan yang ada, Anda dapat membuat aturan penerusan baru dengan alamat IP baru. Karena alamat IP tertentu hanya dapat dikaitkan dengan satu aturan penerusan pada satu waktu, Anda perlu mengubah setelan DNS secara manual untuk mentransisikan traffic masuk dari alamat IP lama ke alamat baru.
Gunakan perintah berikut untuk membuat aturan penerusan baru dengan alamat IP baru. Anda dapat menggunakan flag --address
jika ingin menentukan alamat IP yang sudah dicadangkan di region us-central1
.
gcloud compute forwarding-rules create network-lb-forwarding-rule \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --backend-service network-lb-backend-service
Menguji load balancer
Uji load balancer untuk mengonfirmasi bahwa aturan penerusan mengarahkan traffic masuk seperti yang diharapkan.
Mencari alamat IP eksternal load balancer
gcloud
Masukkan perintah berikut untuk melihat alamat IP eksternal dari aturan penerusan network-lb-forwarding-rule
yang digunakan oleh load balancer.
gcloud compute forwarding-rules describe network-lb-forwarding-rule --region us-central1
Menggunakan perintah nc
untuk mengakses alamat IP eksternal
Dalam contoh ini, kami menggunakan metode hashing default untuk afinitas sesi, sehingga permintaan dari perintah nc
didistribusikan secara acak ke VM backend berdasarkan port sumber yang ditetapkan oleh sistem operasi Anda.
Untuk menguji konektivitas, instal Netcat di Linux terlebih dahulu dengan menjalankan perintah berikut:
$ sudo apt install netcat
Ulangi perintah berikut beberapa kali sampai Anda melihat semua VM backend merespons:
$ nc IP_ADDRESS 80
Menghapus resource yang terkait dengan load balancer lama
Setelah mengonfirmasi bahwa Load Balancer Jaringan passthrough eksternal yang baru berfungsi seperti yang diharapkan, Anda dapat menghapus resource kumpulan target lama.
- Di Konsol Google Cloud, buka halaman Load balancing.
- Pilih load balancer lama yang terkait dengan kumpulan target, lalu klik Delete.
- Pilih health check yang Anda buat, lalu klik Delete load balancer and the selected resources.
Langkah selanjutnya
- Untuk mengetahui informasi tentang cara kerja Load Balancer Jaringan passthrough eksternal dengan layanan backend, baca Ringkasan Load Balancer Jaringan passthrough eksternal berbasis layanan backend.
- Untuk mengonfigurasi Load Balancer Jaringan passthrough eksternal dengan layanan backend, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal dengan layanan backend.
- Untuk mengonfigurasi Load Balancer Jaringan passthrough eksternal dengan kumpulan target, baca artikel Menyiapkan Load Balancer Jaringan passthrough eksternal dengan kumpulan target.