1. Pengantar
Panduan ini memberikan petunjuk untuk mentransisikan load balancer jaringan yang ada dari backend kumpulan target ke layanan backend regional.
Yang akan Anda pelajari
- Memahami manfaat layanan backend regional
- Membuat load balancer jaringan dengan kumpulan target
- Melakukan validasi kumpulan target
- Membuat layanan backend regional menggunakan grup instance tidak terkelola
- Melakukan migrasi kumpulan target ke layanan backend
- Melakukan validasi layanan backend
Yang Anda butuhkan
- Pengalaman dengan load balancer
2. Ringkasan layanan backend regional untuk Load Balancing jaringan
Dengan Network Load Balancing, pelanggan Google Cloud memiliki alat canggih untuk mendistribusikan traffic eksternal ke berbagai virtual machine di region Google Cloud. Untuk mempermudah pelanggan kami mengelola traffic masuk dan mengontrol perilaku load balancer, baru-baru ini kami menambahkan dukungan untuk layanan backend ke Load Balancing Jaringan. Hal ini memberikan peningkatan skala, kecepatan, performa, dan ketahanan kepada pelanggan kami dalam deployment mereka—semuanya dengan cara yang mudah dikelola.
Kami kini mendukung layanan backend dengan Network Load Balancing—peningkatan signifikan dibandingkan pendekatan sebelumnya, kumpulan target. Layanan backend menentukan cara load balancer mendistribusikan traffic masuk ke backend terlampir dan memberikan kontrol terperinci untuk cara load balancer berperilaku.
3. Manfaat layanan backend regional
Memilih layanan backend regional sebagai load balancer Anda memberikan sejumlah keuntungan bagi lingkungan Anda.

Sejak awal, layanan backend regional menyediakan:
- Health check berfidelitas tinggi dengan health check terpadu - Dengan layanan backend regional, Anda kini dapat memanfaatkan sepenuhnya fitur health check load balancing, sehingga Anda tidak perlu lagi menggunakan health check HTTP lama. Untuk alasan kepatuhan, pemeriksaan kesehatan TCP dengan dukungan untuk string permintaan dan respons kustom atau HTTPS adalah permintaan umum bagi pelanggan Network Load Balancing.
- Ketahanan yang lebih baik dengan grup failover - Dengan grup failover, Anda dapat menetapkan Grup Instance sebagai yang utama dan yang lain sebagai yang sekunder, lalu melakukan failover traffic saat respons instance dalam grup aktif berada di bawah nilai minimum tertentu. Untuk kontrol lebih besar pada mekanisme failover, Anda dapat menggunakan agen seperti keepalived atau pacemaker dan mengekspos health check yang responsif atau gagal berdasarkan perubahan status instance backend.
- Skalabilitas dan ketersediaan tinggi dengan Grup Instance Terkelola - Layanan backend regional mendukung Grup Instance Terkelola sebagai backend. Anda kini dapat menentukan template untuk instance virtual machine backend dan memanfaatkan penskalaan otomatis berdasarkan pemakaian CPU atau metrik pemantauan lainnya.
Selain hal di atas, Anda akan dapat memanfaatkan Penghentian Koneksi untuk protokol berorientasi koneksi (TCP) dan waktu pemrograman yang lebih cepat untuk deployment besar.
Topologi jaringan codelab
Panduan ini memberikan petunjuk untuk mentransisikan load balancer jaringan 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.
Panduan ini akan memandu Anda mentransisikan contoh load balancer jaringan berbasis kumpulan target berikut untuk menggunakan layanan backend regional

Sebelum: Network Load Balancing dengan kumpulan target
Deployment load balancer jaringan berbasis layanan backend yang dihasilkan akan terlihat seperti ini.

Setelah: Load Balancing Jaringan dengan layanan backend regional
Contoh ini mengasumsikan Anda memiliki load balancer jaringan berbasis kumpulan target tradisional dengan dua instance di zona us-central-1a, dan 2 instance di zona us-central-1c.
Langkah-langkah tingkat tinggi yang diperlukan untuk transisi tersebut adalah:
- Kelompokkan instance kumpulan target Anda ke dalam grup instance. Layanan backend hanya berfungsi dengan grup instance terkelola atau tidak terkelola. Perhatikan bahwa meskipun tidak ada batasan jumlah instance yang dapat ditempatkan ke dalam satu target pool, 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 akan 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 (yang dibuat sebelumnya) ke layanan backend. Jika deployment Anda menyertakan kumpulan target cadangan, tandai grup instance failover yang sesuai dengan tanda –failover saat menambahkannya ke layanan backend.
- Konfigurasi aturan penerusan yang mengarah ke layanan backend baru. Anda memiliki 2 opsi di sini:
- (Direkomendasikan) Perbarui aturan penerusan yang ada agar mengarah ke layanan backend. ATAU
- Buat penerusan baru yang mengarah ke layanan backend. Tindakan ini mengharuskan Anda membuat alamat IP baru untuk frontend load balancer. Kemudian, ubah setelan DNS Anda untuk melakukan transisi yang lancar dari alamat IP load balancer berbasis kumpulan target lama ke alamat IP baru.
Penyiapan lingkungan mandiri
- Login ke Cloud Console lalu buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.



Ingat project ID, nama unik di semua project Google Cloud (maaf, nama di atas telah digunakan dan tidak akan berfungsi untuk Anda!) Project ID tersebut selanjutnya akan dirujuk di codelab ini sebagai PROJECT_ID.
- Selanjutnya, Anda harus mengaktifkan penagihan di Cloud Console untuk menggunakan resource Google Cloud.
Menjalankan operasi dalam codelab ini seharusnya tidak memerlukan banyak biaya, bahkan mungkin tidak sama sekali. Pastikan untuk mengikuti petunjuk yang ada di bagian "Membersihkan" yang memberi tahu Anda cara menonaktifkan resource sehingga tidak menimbulkan penagihan di luar tutorial ini. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai$300 USD.
Mulai Cloud Shell
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari Konsol GCP, klik ikon Cloud Shell di toolbar kanan atas:

Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:

Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda di lab ini dapat dilakukan hanya dengan browser.
Login ke cloudshell dan tetapkan projectid Anda
gcloud config list project gcloud config set project [YOUR-PROJECT-ID] Perform setting your projectID: projectid=YOUR-PROJECT-ID echo $projectid
4. Buat jaringan VPC
Jaringan VPC
Dari Cloud Shell
gcloud compute networks create network-lb --subnet-mode custom
Buat Subnet
Dari Cloud Shell
gcloud compute networks subnets create network-lb-subnet \
--network network-lb --range 10.0.0.0/24 --region us-central1
Buat Aturan Firewall
Dari Cloud Shell
gcloud compute --project=$projectid firewall-rules create www-firewall-network-lb --direction=INGRESS --priority=1000 --network=network-lb --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=network-lb-tag
Membuat instance tidak terkelola
Buat 2 instance per zona, us-central1-a & us-central1-c
Dari Cloud Shell, buat instance 1
gcloud compute instances create www1 \ --subnet network-lb-subnet \ --image-family debian-9 \ --image-project debian-cloud \ --zone us-central1-a \ --tags network-lb-tag \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www1</h1></body></html>' | tee /var/www/html/index.html"
Buat instance 2 dari Cloud Shell
gcloud compute instances create www2 \ --subnet network-lb-subnet \ --image-family debian-9 \ --image-project debian-cloud \ --zone us-central1-a \ --tags network-lb-tag \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www2</h1></body></html>' | tee /var/www/html/index.html"
Buat instance 3 dari Cloud Shell
gcloud compute instances create www3 \ --subnet network-lb-subnet \ --image-family debian-9 \ --image-project debian-cloud \ --zone us-central1-c \ --tags network-lb-tag \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www3</h1></body></html>' | tee /var/www/html/index.html"
Dari Cloud Shell, buat instance 4
gcloud compute instances create www4 \ --subnet network-lb-subnet \ --image-family debian-9 \ --image-project debian-cloud \ --zone us-central1-c \ --tags network-lb-tag \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo '<!doctype html><html><body><h1>www4</h1></body></html>' | tee /var/www/html/index.html"
Buat aturan firewall untuk mengizinkan traffic eksternal ke instance VM ini
Dari Cloud Shell
gcloud compute --project=$projectid firewall-rules create www-firewall-network-lb --direction=INGRESS --priority=1000 --network=network-lb --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=network-lb-tag
Buat alamat IP eksternal statis untuk load balancer Anda
Dari Cloud Shell
gcloud compute addresses create network-lb-ip-1 \
--region us-central1
Tambahkan resource health check HTTP lama
Dari Cloud Shell
gcloud compute http-health-checks create basic-check
5. Membuat aturan penerusan dan kumpulan target
Buat kumpulan target
gcloud compute target-pools create www-pool \
--region us-central1 --http-health-check basic-check
Tambahkan instance Anda ke kumpulan target, us-central1-a
gcloud compute target-pools add-instances www-pool \ --instances www1,www2 \ --instances-zone us-central1-a
Tambahkan instance Anda ke kumpulan target, us-central1-c
gcloud compute target-pools add-instances www-pool \ --instances www3,www4 \ --instances-zone us-central1-c
Menambahkan aturan penerusan
gcloud compute forwarding-rules create www-rule \ --region us-central1 \ --ports 80 \ --address network-lb-ip-1 \ --target-pool www-pool
Memvalidasi fungsi kumpulan target
Identifikasi alamat IP frontend dengan memilih Load Balancers → Frontends (www-rule)
Gunakan perintah curl dari terminal workstation Anda untuk mengakses alamat IP eksternal dan mengamati load balancing di empat instance target. Tutup terminal setelah divalidasi.
while true; do curl -m1 IP_ADDRESS; done
6. Mentransisikan load balancer jaringan dari kumpulan target ke layanan backend
Buat health check terpadu untuk layanan backend Anda
gcloud compute health-checks create tcp my-tcp-health-check --port 80 --region us-central1
Membuat grup instance dari instance yang ada dari target pool
gcloud compute --project=$projectid instance-groups unmanaged create www-instance-group-central1a --zone=us-central1-a gcloud compute --project=$projectid instance-groups unmanaged add-instances www-instance-group-central1a --zone=us-central1-a --instances=www1,www2
Membuat grup instance dari instance yang ada dari target pool
gcloud compute --project=$projectid instance-groups unmanaged create www-instance-group-central1c --zone=us-central1-c gcloud compute --project=$projectid instance-groups unmanaged add-instances www-instance-group-central1c --zone=us-central1-c --instances=www3,www4
Buat layanan backend dan kaitkan dengan health check yang baru dibuat
gcloud compute backend-services create my-backend-service --region us-central1 --health-checks my-tcp-health-check --health-checks-region us-central1 --load-balancing-scheme external
Mengonfigurasi layanan backend dan menambahkan grup instance
gcloud compute backend-services add-backend my-backend-service --instance-group www-instance-group-central1a --instance-group-zone us-central1-a --region us-central1 gcloud compute backend-services add-backend my-backend-service --instance-group www-instance-group-central1c --instance-group-zone us-central1-c --region us-central1
Perbarui aturan penerusan yang ada untuk mendukung layanan backend
Catat nama aturan penerusan 'www-rule' dan Alamat IP terkait dengan melakukan hal berikut:
Pilih Load Balancer → Frontend
Selain itu, mencatat empat kumpulan target
Pilih Load Balancer → Pilih 'www-pool'
Merutekan traffic ke layanan backend dengan memperbarui aturan penerusan yang ada
gcloud compute forwarding-rules set-target www-rule --region=us-central1 --backend-service my-backend-service --region us-central1
Pastikan load balancer 'www-pool' tidak lagi dikonfigurasi dengan frontend 'www-rule' (lihat screenshot di bawah)
Pilih Load Balancer → www-pool

Memvalidasi bahwa aturan penerusan frontend kini dikaitkan dengan load balancer 'my-backend-service'
Pilih Load Balancer → Frontend
Perhatikan nama aturan ‘www-rule', alamat IP dipertahankan dan load balancer ‘my-backend-service' kini digunakan
Gunakan perintah curl dari terminal workstation Anda untuk mengakses alamat IP eksternal dan mengamati load balancing di seluruh layanan backend yang baru dikaitkan. Tutup terminal setelah divalidasi.
while true; do curl -m1 IP_ADDRESS; done
7. Langkah-Langkah Pembersihan
gcloud compute forwarding-rules delete www-rule --region=us-central1 --quiet gcloud compute backend-services delete my-backend-service --region us-central1 --quiet gcloud compute target-pools delete www-pool --region us-central1 --quiet gcloud compute addresses delete network-lb-ip-1 --region us-central1 --quiet gcloud compute firewall-rules delete www-firewall-network-lb --quiet gcloud compute instances delete www4 --zone us-central1-c --quiet gcloud compute instances delete www3 --zone us-central1-c --quiet gcloud compute instances delete www2 --zone us-central1-a --quiet gcloud compute instances delete www1 --zone us-central1-a --quiet gcloud compute networks subnets delete network-lb-subnet --region us-central1 --quiet gcloud compute networks delete network-lb --quiet gcloud compute instance-groups unmanaged delete www-instance-group-central1a --zone us-central1-a --quiet gcloud compute instance-groups unmanaged delete www-instance-group-central1c --zone us-central1-c --quiet
8. Selamat!
Selamat, Anda telah menyelesaikan codelab.
Yang telah kita bahas
- Memahami manfaat layanan backend regional
- Membuat load balancer jaringan dengan kumpulan target
- Melakukan validasi kumpulan target
- Membuat layanan backend regional menggunakan grup instance tidak terkelola
- Melakukan migrasi kumpulan target ke layanan backend
- Melakukan validasi layanan backend