Panduan ini memberikan petunjuk untuk memigrasikan Load Balancer Jaringan passthrough eksternal yang ada dari backend kumpulan target ke layanan backend regional.
Dengan beralih ke layanan backend regional, Anda dapat memanfaatkan fitur seperti health check non-legacy (untuk TCP, SSL, HTTP, HTTPS, dan HTTP/2), grup instance terkelola, pengosongan koneksi, dan kebijakan failover.
Untuk mengikuti panduan langkah demi langkah untuk tugas ini langsung di Google Cloud konsol, klik Pandu saya:
Panduan ini memandu Anda memigrasikan contoh target berikut Load Balancer Jaringan passthrough eksternal berbasis kumpulan 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 lebih dari jumlah maksimum instance ini, Anda harus 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 perlu menentukan rasio failover saat membuat layanan backend. Nilai ini harus cocok dengan rasio failover yang sebelumnya dikonfigurasi untuk deployment target pool.
Tambahkan grup instance (yang dibuat sebelumnya) ke layanan backend.
Jika deployment Anda menyertakan kumpulan target cadangan, tandai grup instance failover yang sesuai dengan tanda
--failoversaat menambahkannya ke layanan backend.Konfigurasi 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. Tindakan ini mengharuskan Anda membuat alamat IP baru untuk frontend load balancer. Kemudian, Anda mengubah setelan DNS untuk bertransisi dengan lancar dari alamat IP load balancer berbasis kumpulan target lama ke alamat IP baru.
Sebelum memulai
Instal Google Cloud CLI. Untuk ringkasan lengkap alat ini, lihat Panduan Alat gcloud. Anda dapat menemukan perintah terkait load balancing di grup perintah gcloud compute.
Jika Anda belum pernah menjalankan Google Cloud CLI sebelumnya, jalankan
gcloud init terlebih dahulu untuk melakukan autentikasi.
Panduan ini mengasumsikan bahwa Anda sudah memahami bash.
Mengidentifikasi backend dan aturan penerusan yang akan dimigrasikan
Untuk mencantumkan semua target pool, jalankan perintah berikut di Cloud Shell:
gcloud compute target-pools list
Catat nama target pool yang akan dimigrasikan. Nama ini selanjutnya disebut sebagai TARGET_POOL_NAME.
Untuk mencantumkan semua instance VM di target pool TARGET_POOL_NAME, jalankan perintah di Cloud Shell:
gcloud compute target-pools describe TARGET_POOL_NAME \ --region=us-central1
Catat nama instance VM. Nama ini selanjutnya 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 selanjutnya disebut sebagai FORWARDING_RULE.
Membuat grup instance tidak terkelola zona
Buat grup instance tidak terkelola menurut zona untuk setiap zona tempat Anda memiliki backend. Bergantung pada penyiapan, Anda dapat membagi instance ke dalam sebanyak grup instance yang diperlukan. Untuk contoh ini, 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 akan membuat dua grup instance: satu di zona
uc-central1-a dan satu lagi di zona us-central1-c.
Menyiapkan grup instance
Konsol
- Di konsol Google Cloud , buka halaman Instance groups.
- Klik Create instance group.
- Di panel kiri, pilih New unmanaged 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 target pool yang ada berada di jaringan dan subnet
default. - Untuk menambahkan instance ke grup instance, di bagian VM instances, pilih dua instance BACKEND_INSTANCE1 dan BACKEND_INSTANCE2.
- Klik Create.
Ulangi langkah-langkah ini untuk membuat grup instance kedua dengan spesifikasi berikut:
- Nama:
ig-us-2 - Region:
us-central1 - Zona:
us-central1-c
Tambahkan dua instance BACKEND_INSTANCE3 dan BACKEND_INSTANCE4 di zona
us-central1-cke grup instance ini.- Nama:
Jika deployment load balancer yang ada juga memiliki kumpulan target cadangan, ulangi langkah-langkah ini untuk membuat grup instance failover terpisah untuk instance tersebut.
gcloud
Buat grup instance tidak terkelola di zona
us-central1-adengan perintahgcloud compute instance-groups unmanaged create.gcloud compute instance-groups unmanaged create ig-us-1 \ --zone us-central1-aBuat grup instance tidak terkelola kedua di zona
us-central1-c.gcloud compute instance-groups unmanaged create ig-us-2 \ --zone us-central1-cTambahkan 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-aTambahkan 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-cJika deployment load balancer yang ada juga memiliki kumpulan target cadangan, ulangi langkah-langkah ini untuk membuat grup instance failover terpisah untuk 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 sudah 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 pemeriksaan kondisi 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 Scope ke Regional.
- Untuk Region, pilih
us-central1. - Untuk Protocol, pilih HTTP.
- Untuk Port, masukkan
80. - Klik Create.
gcloud
Untuk contoh ini, kita akan membuat health check HTTP non-lama yang akan 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 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 perlu menetapkan grup instance failover dengan
flag --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-1danig-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. Konfigurasi rasio failover layanan backend agar sesuai dengan rasio failover yang sebelumnya dikonfigurasi untuk target pool.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-1danig-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 tanda
--failoversaat 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 sudah 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 dalam satu waktu, Anda harus mengubah setelan DNS secara manual untuk mentransisikan traffic masuk dari alamat IP lama ke alamat IP 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.
Cari 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
Gunakan perintah nc untuk mengakses alamat IP eksternal
Dalam contoh ini, kita 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 netcatUlangi perintah berikut beberapa kali hingga Anda melihat semua VM backend merespons:
$ nc IP_ADDRESS 80
Hapus resource yang terkait dengan load balancer lama
Setelah mengonfirmasi bahwa Load Balancer Jaringan passthrough eksternal baru berfungsi seperti yang diharapkan, Anda dapat menghapus resource target pool lama.
- Di konsol Google Cloud , buka halaman Load balancing.
- Pilih load balancer lama yang terkait dengan target pool, lalu klik Delete.
- Pilih health check yang Anda buat, lalu klik Delete load balancer and the selected resources.
Langkah berikutnya
- Untuk mengetahui informasi tentang cara kerja Load Balancer Jaringan passthrough eksternal dengan layanan backend, lihat 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, lihat Menyiapkan Load Balancer Jaringan passthrough eksternal dengan kumpulan target.