Panduan ini menggunakan contoh untuk mengajarkan cara mengonfigurasi failover untuk Google Cloud Load Balancer Jaringan passthrough internal. Sebelum mengikuti panduan ini, pahami hal-hal berikut:
- Konsep Load Balancer Jaringan passthrough internal
- Konsep failover untuk Load Balancer Jaringan passthrough internal
- Ringkasan aturan firewall
- Konsep health check
Izin
Untuk mengikuti panduan ini, Anda perlu membuat instance dan mengubah jaringan dalam project. Anda harus menjadi pemilik atau editor project, atau memiliki semua peran IAM Compute Engine berikut:
| Tugas | Peran yang Diperlukan | 
|---|---|
| Membuat komponen jaringan, subnet, dan load balancer | Admin Jaringan | 
| Menambahkan dan menghapus aturan firewall | Security Admin | 
| Membuat instance | Compute Instance Admin | 
Untuk informasi selengkapnya, lihat panduan berikut:
Penyiapan
Panduan ini menunjukkan cara mengonfigurasi dan menguji Load Balancer Jaringan passthrough internal yang menggunakan failover. Langkah-langkah di bagian ini menjelaskan cara mengonfigurasi hal berikut:
- Contoh jaringan VPC dengan subnet kustom
- Aturan firewall yang mengizinkan koneksi masuk ke VM backend
- VM Backend:
- Satu backend utama di grup instance tidak terkelola di zona us-west1-a
- Satu backend failover di grup instance tidak terkelola di zona us-west1-c
 
- Satu backend utama di grup instance tidak terkelola di zona 
- Satu VM klien untuk menguji koneksi dan mengamati perilaku failover
- Komponen Load Balancer Jaringan passthrough internal berikut:
- Health check untuk layanan backend
- Layanan backend internal di region us-west1untuk mengelola distribusi koneksi di antara VM backend
- Aturan penerusan internal dan alamat IP internal untuk frontend load balancer
 
Arsitektur untuk contoh ini terlihat seperti ini:
Grup instance tidak terkelola digunakan untuk backend utama dan backend failover dalam contoh ini. Untuk mengetahui informasi selengkapnya, lihat grup instance yang didukung.
Mengonfigurasi jaringan, region, dan subnet
Contoh ini menggunakan jaringan, region, dan subnet VPC berikut:
- Jaringan: Jaringan adalah jaringan VPC mode kustom bernama - lb-network.
- Region: Region adalah - us-west1.
- Subnet: Subnet, - lb-subnet, menggunakan rentang IP- 10.1.2.0/24.
Untuk membuat contoh jaringan dan subnet, ikuti langkah-langkah berikut.
Konsol
- Di Google Cloud konsol, buka halaman VPC networks. 
- Klik Create VPC network. 
- Masukkan Nama - lb-network.
- Di bagian Subnet: - Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Nama: lb-subnet
- Region: us-west1
- Rentang alamat IP: 10.1.2.0/24
- Klik Selesai.
 
- Nama: 
 
- Klik Create. 
gcloud
- Buat jaringan VPC kustom: - gcloud compute networks create lb-network --subnet-mode=custom 
- Buat subnet di jaringan - lb-networkdi region- us-west1:- gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
API
Buat permintaan POST ke metode networks.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
 "routingConfig": {
   "routingMode": "REGIONAL"
 },
 "name": "lb-network",
 "autoCreateSubnetworks": false
}
Buat permintaan POST ke metode subnetworks.insert. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks
{
 "name": "lb-subnet",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "ipCidrRange": "10.1.2.0/24",
 "privateIpGoogleAccess": false
}
Mengonfigurasi aturan firewall
Contoh ini menggunakan aturan firewall berikut:
- fw-allow-lb-subnet: Aturan ingress, yang berlaku untuk semua target di jaringan VPC, yang mengizinkan traffic dari sumber dalam rentang- 10.1.2.0/24. Aturan ini mengizinkan traffic masuk dari sumber mana pun dalam- lb-subnetke instance (VM) yang di-load balance.
- fw-allow-ssh: Aturan ingress yang diterapkan ke instance yang di-load balance, yang memungkinkan konektivitas SSH yang masuk pada TCP port 22 dari alamat mana pun. Anda dapat memilih rentang IP sumber yang lebih ketat untuk aturan ini; misalnya, Anda dapat menentukan rentang IP sistem tempat Anda berencana memulai sesi SSH. Contoh ini menggunakan tag target- allow-sshuntuk mengidentifikasi VM yang menerapkan aturan firewall.
- fw-allow-health-check: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health check Google Cloud (- 130.211.0.0/22dan- 35.191.0.0/16). Contoh ini menggunakan tag target- allow-health-checkuntuk mengidentifikasi instance tempat tag tersebut harus diterapkan.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.
Konsol
- Di Google Cloud console, buka halaman Firewall policies. 
- Klik Create firewall rule dan masukkan informasi berikut untuk membuat aturan yang mengizinkan traffic subnet: - Nama: fw-allow-lb-subnet
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: masuk
- Tindakan terhadap kecocokan: izinkan
- Targets: Semua instance dalam jaringan
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 10.1.2.0/24
- Protocols and ports: Allow all
 
- Nama: 
- Klik Create. 
- Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi SSH yang masuk: - Nama: fw-allow-ssh
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: masuk
- Tindakan terhadap kecocokan: izinkan
- Targets: Tag target yang ditentukan
- Tag target: allow-ssh
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 0.0.0.0/0
- Protocols and ports: Pilih Specified protocols and ports, lalu
ketik: tcp:22
 
- Nama: 
- Klik Create. 
- Klik Create firewall rule untuk ketiga kalinya guna membuat aturan yang mengizinkan health checkGoogle Cloud : - Nama: fw-allow-health-check
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: masuk
- Tindakan terhadap kecocokan: izinkan
- Targets: Tag target yang ditentukan
- Tag target: allow-health-check
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 130.211.0.0/22dan35.191.0.0/16
- Protocols and ports: Allow all
 
- Nama: 
- Klik Create. 
gcloud
- Buat aturan firewall - fw-allow-lb-subnetuntuk mengizinkan komunikasi dari dan dengan subnet:- gcloud compute firewall-rules create fw-allow-lb-subnet \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.1.2.0/24 \ --rules=tcp,udp,icmp
- Buat aturan firewall - fw-allow-sshuntuk mengizinkan konektivitas SSH ke VM dengan tag jaringan- allow-ssh. Jika Anda menghapus- source-ranges,Google Cloud akan menafsirkan aturan sebagai sumber apa pun.- gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
- Buat aturan - fw-allow-health-checkuntuk mengizinkan health check Google Cloud.- gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp,udp,icmp
API
Buat aturan firewall fw-allow-lb-subnet dengan membuat permintaan POST ke
metode
firewalls.insert. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls
{
 "name": "fw-allow-lb-subnet",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "priority": 1000,
 "sourceRanges": [
   "10.1.2.0/24"
 ],
 "allowed": [
   {
     "IPProtocol": "tcp"
   },
   {
     "IPProtocol": "udp"
   },
   {
     "IPProtocol": "icmp"
   }
 ],
 "direction": "INGRESS",
 "logConfig": {
   "enable": false
 },
 "disabled": false
}
Buat aturan firewall fw-allow-ssh dengan membuat permintaan POST ke
metode
firewalls.insert. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls
{
 "name": "fw-allow-ssh",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "priority": 1000,
 "sourceRanges": [
   "0.0.0.0/0"
 ],
 "targetTags": [
   "allow-ssh"
 ],
 "allowed": [
  {
    "IPProtocol": "tcp",
    "ports": [
      "22"
    ]
  }
 ],
"direction": "INGRESS",
"logConfig": {
  "enable": false
},
"disabled": false
}
Buat aturan firewall fw-allow-health-check dengan membuat permintaan POST ke
metode
firewalls.insert. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls
{
 "name": "fw-allow-health-check",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "priority": 1000,
 "sourceRanges": [
   "130.211.0.0/22",
   "35.191.0.0/16"
 ],
 "targetTags": [
   "allow-health-check"
 ],
 "allowed": [
   {
     "IPProtocol": "tcp"
   },
   {
     "IPProtocol": "udp"
   },
   {
     "IPProtocol": "icmp"
   }
 ],
 "direction": "INGRESS",
 "logConfig": {
   "enable": false
 },
 "disabled": false
}
Membuat VM backend dan grup instance
Pada langkah ini, Anda akan membuat VM backend dan grup instance tidak terkelola:
- Grup instance ig-adius-west1-aadalah backend utama dengan dua VM:- vm-a1
- vm-a2
 
- Grup instance ig-cdius-west1-cadalah backend failover dengan dua VM:- vm-c1
- vm-c2
 
Backend utama dan failover ditempatkan di zona terpisah untuk kejelasan petunjuk dan untuk menangani failover jika satu zona mengalami gangguan.
Setiap VM utama dan cadangan dikonfigurasi untuk menjalankan server web Apache di port TCP
80 dan 443. Setiap VM diberi alamat IP internal di lb-subnet
untuk akses klien dan alamat IP eksternal (publik) sementara untuk akses SSH.
Untuk informasi tentang cara menghapus alamat IP eksternal, lihat menghapus alamat IP eksternal dari VM backend.
Secara default, Apache dikonfigurasi untuk mengikat ke alamat IP apa pun. Load Balancer Jaringan passthrough internal mengirimkan paket dengan mempertahankan alamat IP tujuan.
Pastikan software server yang berjalan di VM utama dan cadangan Anda memproses alamat IP aturan penerusan internal load balancer. Jika Anda mengonfigurasi beberapa aturan penerusan internal, pastikan software Anda memproses alamat IP internal yang terkait dengan setiap aturan. Alamat IP tujuan paket yang dikirim ke VM backend oleh Load Balancer Jaringan passthrough internal adalah alamat IP internal dari aturan penerusan.
Untuk memudahkan petunjuk, semua VM utama dan cadangan menjalankan Debian GNU/Linux 12.
Konsol
Membuat VM backend
- Di konsol Google Cloud , buka halaman Instance VM. 
- Ulangi langkah-langkah berikut untuk membuat empat VM, menggunakan kombinasi nama dan zona berikut. - Nama: vm-a1, zona:us-west1-a
- Nama: vm-a2, zona:us-west1-a
- Nama: vm-c1, zona:us-west1-c
- Nama: vm-c2, zona:us-west1-c
 
- Nama: 
- Klik Create instance. 
- Tetapkan Name seperti yang ditunjukkan pada langkah 2. 
- Untuk Region, pilih - us-west1, dan pilih Zone seperti yang ditunjukkan pada langkah 2.
- Di bagian Boot disk, pastikan image yang dipilih adalah Debian GNU/Linux 12 (bookworm). Klik Pilih untuk mengubah gambar jika diperlukan. 
- Klik Advanced options. 
- Klik Networking dan konfigurasikan kolom berikut: - Untuk Network tags, masukkan allow-health-checkdanallow-ssh.
- Untuk Network interfaces, pilih dari daftar berikut:
- Jaringan: lb-network
- Subnet: lb-subnet
 
- Jaringan: 
 
- Untuk Network tags, masukkan 
- Klik Management. Masukkan skrip berikut ke dalam kolom Skrip startup. Isi skrip identik untuk empat VM: - #! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2 
- Klik Create. 
Membuat grup instance
- Di Google Cloud konsol, buka halaman Instance groups. 
- Ulangi langkah-langkah berikut untuk membuat dua grup instance tidak terkelola dengan masing-masing VM di dalamnya, menggunakan kombinasi ini. - Grup instance: ig-a, zona:us-west1-a, VM:vm-a1danvm-a2
- Grup instance: ig-c, zona:us-west1-c, VM:vm-c1danvm-c2
 
- Grup instance: 
- Klik Create instance group. 
- Klik New unmanaged instance group. 
- Tetapkan Name seperti yang ditunjukkan pada langkah 2. 
- Di bagian Location, pilih - us-west1untuk Region, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.
- Untuk Network, masukkan - lb-network.
- Untuk Subnetwork, masukkan - lb-subnet.
- Di bagian VM instances, tambahkan VM seperti yang ditunjukkan pada langkah 2. 
- Klik Create. 
gcloud
- Buat empat VM dengan menjalankan perintah berikut empat kali, menggunakan empat kombinasi ini untuk - VM_NAMEdan- ZONE. Konten skrip sama untuk keempat VM.- VM_NAMEdari- vm-a1dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-a2dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-c1dan- ZONEdari- us-west1-c
- VM_NAMEdari- vm-c2dan- ZONEdari- us-west1-c
 - gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check \ --subnet=lb-subnet \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
- Buat dua grup instance tidak terkelola di setiap zona: - gcloud compute instance-groups unmanaged create ig-a \ --zone=us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone=us-west1-c
- Tambahkan VM ke grup instance yang sesuai: - gcloud compute instance-groups unmanaged add-instances ig-a \ --zone=us-west1-a \ --instances=vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone=us-west1-c \ --instances=vm-c1,vm-c2
API
Buat empat VM backend dengan membuat empat permintaan POST ke metode instances.insert.
Untuk empat VM, gunakan nama dan zona VM berikut:
- VM_NAMEdari- vm-a1dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-a2dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-c1dan- ZONEdari- us-west1-c
- VM_NAMEdari- vm-c2dan- ZONEdari- us-west1-c
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- ZONE: zona instance
- DEBIAN_IMAGE_NAME: nama image Debian untuk instance.- DEBIAN_IMAGE_NAMEsaat ini dapat diperoleh dengan menjalankan perintah- gcloudberikut:- gcloud compute images list \ --filter="family=debian-12" 
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "VM_NAME",
 "tags": {
   "items": [
     "allow-health-check",
     "allow-ssh"
   ]
 },
 "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/e2-standard-2",
 "canIpForward": false,
 "networkInterfaces": [
   {
     "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
     "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet",
     "accessConfigs": [
       {
         "type": "ONE_TO_ONE_NAT",
         "name": "external-nat",
         "networkTier": "PREMIUM"
       }
     ]
   }
 ],
 "disks": [
   {
     "type": "PERSISTENT",
     "boot": true,
     "mode": "READ_WRITE",
     "autoDelete": true,
     "deviceName": "VM_NAME",
     "initializeParams": {
       "sourceImage": "projects/debian-cloud/global/images/DEBIAN_IMAGE_NAME",
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/pd-standard",
       "diskSizeGb": "10"
     }
   }
 ],
 "metadata": {
   "items": [
     {
       "key": "startup-script",
       "value": "#! /bin/bash\napt-get update\napt-get install apache2 -y\na2ensite default-ssl\na2enmod ssl\nvm_hostname=\"$(curl -H \"Metadata-Flavor:Google\" \\\nhttp://metadata.google.internal/computeMetadata/v1/instance/name)\"\necho \"Page served from: $vm_hostname\" | \\\ntee /var/www/html/index.html\nsystemctl restart apache2"
     }
   ]
 },
 "scheduling": {
   "preemptible": false
 },
 "deletionProtection": false
}
Buat dua grup instance dengan membuat permintaan POST ke metode instanceGroups.insert. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups
{
 "name": "ig-a",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet"
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups
{
 "name": "ig-c",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet"
}
Tambahkan instance ke setiap grup instance dengan membuat permintaan POST ke metode instanceGroups.addInstances. Ganti PROJECT_ID dengan Google Cloud project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a/addInstances
{
 "instances": [
   {
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a1",
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a2"
   }
 ]
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c/addInstances
{
 "instances": [
   {
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c1",
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c2"
   }
 ]
}
Membuat VM klien
Contoh ini membuat VM klien (vm-client) di region yang sama dengan load
balancer. Klien digunakan untuk menunjukkan cara kerja failover.
Konsol
- Di konsol Google Cloud , buka halaman Instance VM. 
- Klik Create instance. 
- Tetapkan Name ke - vm-client.
- Tetapkan Zona ke - us-west1-a.
- Klik Advanced options. 
- Klik Networking dan konfigurasikan kolom berikut: - Untuk Network tags, masukkan allow-ssh.
- Untuk Network interfaces, pilih dari daftar berikut:
- Jaringan: lb-network
- Subnet: lb-subnet
 
- Jaringan: 
 
- Untuk Network tags, masukkan 
- Klik Create. 
gcloud
VM klien dapat berada di zona mana pun di region yang sama dengan load balancer,
dan dapat menggunakan subnet apa pun di region tersebut. Dalam contoh ini, klien berada di zona us-west1-a, dan menggunakan subnet yang sama dengan yang digunakan oleh VM utama dan cadangan.
gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=lb-subnet
API
Buat permintaan POST ke metode instances.insert.
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- DEBIAN_IMAGE_NAME: nama image Debian untuk instance.- DEBIAN_IMAGE_NAMEsaat ini dapat diperoleh dengan menjalankan perintah- gcloudberikut:- gcloud compute images list \ --filter="family=debian-12" 
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances
{
 "name": "vm-client",
 "tags": {
   "items": [
     "allow-ssh"
   ]
 },
 "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/machineTypes/e2-standard-2",
 "canIpForward": false,
 "networkInterfaces": [
   {
     "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
     "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet",
     "accessConfigs": [
       {
         "type": "ONE_TO_ONE_NAT",
         "name": "external-nat",
         "networkTier": "PREMIUM"
       }
     ]
   }
 ],
 "disks": [
   {
     "type": "PERSISTENT",
     "boot": true,
     "mode": "READ_WRITE",
     "autoDelete": true,
     "deviceName": "vm-client",
     "initializeParams": {
       "sourceImage": "projects/debian-cloud/global/images/DEBIAN_IMAGE_NAME",
       "diskType": "projects/PROJECT_ID/zones/us-west1-a/diskTypes/pd-standard",
       "diskSizeGb": "10"
     }
   }
 ],
 "scheduling": {
   "preemptible": false
 },
 "deletionProtection": false
}
Mengonfigurasi komponen load balancer
Langkah-langkah ini mengonfigurasi semua komponen Load Balancer Jaringan passthrough internal, dimulai dengan health check dan layanan backend, lalu komponen frontend:
- Health check: Contoh ini menggunakan health check HTTP yang hanya memeriksa respons - 200(OK) HTTP. Untuk mengetahui informasi selengkapnya, lihat bagian health check dalam ringkasan Load Balancer Jaringan passthrough internal.
- Layanan backend: Karena contoh ini meneruskan traffic HTTP melalui load balancer, konfigurasi menentukan TCP, bukan UDP. Untuk menggambarkan failover, layanan backend ini memiliki rasio failover - 0.75.
- Aturan penerusan: Contoh ini membuat satu aturan penerusan internal. 
- Alamat IP internal: Dalam contoh ini, kita menentukan alamat IP internal, - 10.1.2.99, saat membuat aturan penerusan.
Konsol
Memulai konfigurasi
- Di Google Cloud console, buka halaman Load balancing. 
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
- Untuk Proxy or passthrough, pilih Passthrough load balancer, lalu klik Next.
- Untuk Public facing or internal, pilih Internal, lalu klik Next.
- Klik Configure.
Konfigurasi dasar
- Tetapkan Name ke be-ilb.
- Setel Wilayah ke us-west1.
- Setel Network ke lb-network.
- Klik Backend configuration dan buat perubahan berikut:
- Untuk Backends, di bagian New item, pilih grup instance ig-a. Pastikan Gunakan grup instance ini sebagai grup failover untuk pencadangan tidak dicentang. Klik Done.
- Klik Add backend. Di bagian New item yang muncul,
pilih grup instance ig-c. Centang Gunakan grup instance ini sebagai grup failover untuk pencadangan. Klik Selesai.
- Untuk Health check, pilih Create another health check,
masukkan informasi berikut, lalu klik Save and continue:
- Nama: hc-http-80
- Protokol: HTTP
- Port: 80
- Protokol proxy: NONE
- Jalur permintaan: /Perhatikan bahwa saat Anda menggunakan konsol Google Cloud untuk membuat load balancer, health check bersifat global. Jika Anda ingin membuat health check regional, gunakangcloudatau API.
 
- Nama: 
- Klik Advanced configurations. Di bagian Failover policy, konfigurasikan hal berikut:
- Rasio failover: 0.75
- Centang Aktifkan pengosongan koneksi saat failover.
 
- Rasio failover: 
- Pastikan ada tanda centang biru di samping Backend configuration sebelum melanjutkan. Tinjau langkah ini jika belum.
 
- Untuk Backends, di bagian New item, pilih grup instance 
- Klik Frontend configuration. Di bagian New Frontend IP and port, buat perubahan berikut:
- Nama: fr-ilb
- Subnetwork: ilb-subnet
- Dari Internal IP, pilih Reserve a static internal IP address,
masukkan informasi berikut, lalu klik Reserve:
- Nama: ip-ilb
- Static IP address: Let me choose
- Alamat IP kustom: 10.1.2.99
 
- Nama: 
- Ports: Pilih Single, dan masukkan 80untuk Port number.
- Pastikan ada tanda centang biru di samping Frontend configuration sebelum melanjutkan. Tinjau langkah ini jika belum.
 
- Nama: 
- Klik Review and finalize. Periksa kembali setelan Anda.
- Klik Create.
gcloud
- Buat health check HTTP baru untuk menguji konektivitas TCP ke VM di port 80. - gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80
- Buat layanan backend untuk traffic HTTP: - gcloud compute backend-services create be-ilb \ --load-balancing-scheme=internal \ --protocol=tcp \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1 \ --failover-ratio 0.75
- Tambahkan backend utama ke layanan backend: - gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a
- Tambahkan backend failover ke layanan backend: - gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-c \ --failover
- Buat aturan penerusan untuk layanan backend. Saat Anda membuat aturan penerusan, tentukan - 10.1.2.99untuk IP internal di subnet.- gcloud compute forwarding-rules create fr-ilb \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=80 \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
Buat health check dengan membuat permintaan POST ke metode regionHealthChecks.insert. Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/regionHealthChecks
{
"name": "hc-http-80",
"type": "HTTP",
"httpHealthCheck": {
  "port": 80
}
}
Buat layanan backend regional dengan membuat permintaan POST ke
metode
regionBackendServices.insert. Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices
{
"name": "be-ilb",
"backends": [
  {
    "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a",
    "balancingMode": "CONNECTION"
  },
  {
    "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c",
    "balancingMode": "CONNECTION"
    "failover": true
  }
],
"failoverPolicy": {
  "failoverRatio": 0.75
},
"healthChecks": [
  "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80"
],
"loadBalancingScheme": "INTERNAL",
"connectionDraining": {
  "drainingTimeoutSec": 0
 }
}
Buat aturan penerusan dengan membuat permintaan POST ke metode forwardingRules.insert. Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules
{
"name": "fr-ilb",
"IPAddress": "10.1.2.99",
"IPProtocol": "TCP",
"ports": [
  "80", "8008", "8080", "8088"
],
"loadBalancingScheme": "INTERNAL",
"subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet",
"network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
"backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb",
"networkTier": "PREMIUM"
}
Pengujian
Pengujian ini menunjukkan cara memvalidasi konfigurasi load balancer dan mempelajari perilaku yang diharapkan.
Prosedur pengujian klien
Prosedur ini menghubungi load balancer dari VM klien. Anda akan menggunakan prosedur ini untuk menyelesaikan pengujian lainnya.
- Hubungkan ke instance VM klien. - gcloud compute ssh vm-client --zone=us-west1-a 
- Buat permintaan web ke load balancer menggunakan - curluntuk menghubungi alamat IP-nya.- curl http://10.1.2.99 
- Perhatikan teks yang ditampilkan oleh perintah - curl. Nama VM backend yang menghasilkan respons ditampilkan dalam teks tersebut; misalnya:- Page served from: vm-a1
Menguji status awal
Setelah Anda mengonfigurasi contoh load balancer, keempat VM backend akan berfungsi dengan baik:
- dua VM utama, vm-a1danvm-a2
- dua VM cadangan, vm-c1danvm-c2
Ikuti prosedur pengujian klien. Ulangi langkah kedua beberapa kali. Perilaku yang diharapkan adalah traffic ditayangkan oleh dua VM utama,
vm-a1 dan vm-a2, karena keduanya dalam kondisi baik. Anda akan melihat setiap VM primer menayangkan respons sekitar setengah waktu karena tidak ada afinitas sesi yang telah dikonfigurasi untuk load balancer ini.
Menguji failover
Pengujian ini menyimulasikan kegagalan vm-a1 sehingga Anda dapat mengamati perilaku failover.
- Hubungkan ke VM - vm-a1.- gcloud compute ssh vm-a1 --zone=us-west1-a 
- Hentikan server web Apache. Setelah sepuluh detik, Google Cloud akan menganggap VM ini tidak responsif. (Health check - hc-http-80yang Anda buat dalam penyiapan menggunakan interval pemeriksaan default lima detik dan batas tidak responsif dari dua pemeriksaan berturut-turut yang gagal.)- sudo apachectl stop 
- Ikuti prosedur pengujian klien. Ulangi langkah kedua beberapa kali. Perilaku yang diharapkan adalah traffic ditayangkan oleh dua VM cadangan, - vm-c1dan- vm-c2. Karena hanya satu VM utama,- vm-a2, yang responsif, rasio VM utama responsif terhadap total VM utama adalah- 0.5. Jumlah ini kurang dari nilai minimum failover- 0.75, sehingga Google Cloud mengonfigurasi ulang kumpulan aktif load balancer untuk menggunakan VM cadangan. Anda akan melihat setiap VM cadangan menyalurkan respons sekitar setengah waktu selama tidak ada afinitas sesi yang telah dikonfigurasi untuk load balancer ini.
Menguji failback
Pengujian ini menyimulasikan failback dengan memulai ulang server Apache di vm-a1.
- Hubungkan ke VM - vm-a1.- gcloud compute ssh vm-a1 --zone=us-west1-a 
- Mulai server web Apache dan tunggu 10 detik. - sudo apachectl start 
- Ikuti prosedur pengujian klien. Ulangi langkah kedua beberapa kali. Perilaku yang diharapkan adalah traffic ditayangkan oleh dua VM utama, - vm-a1dan- vm-a2. Dengan kedua VM utama dalam kondisi baik, rasio VM utama yang baik terhadap total VM utama adalah- 1.0, lebih besar dari nilai minimum failover- 0.75, sehingga Google Cloud mengonfigurasi kumpulan aktif untuk menggunakan VM utama lagi.
Menambahkan lebih banyak VM backend
Bagian ini memperluas contoh konfigurasi dengan menambahkan lebih banyak VM utama dan cadangan ke load balancer. Hal ini dilakukan dengan membuat dua grup instance backend lainnya untuk menunjukkan bahwa Anda dapat mendistribusikan VM utama dan cadangan di antara beberapa zona dalam region yang sama:
- Grup instance ketiga, ig-ddius-west1-c, berfungsi sebagai backend utama dengan dua VM:- vm-d1
- vm-d2
 
- Grup instance keempat, ig-bdius-west1-a, berfungsi sebagai backend failover dengan dua VM:- vm-b1
- vm-b2
 
Arsitektur yang diubah untuk contoh ini terlihat seperti ini:
Membuat VM dan grup instance tambahan
Ikuti langkah-langkah berikut untuk membuat VM utama dan cadangan tambahan serta grup instance tidak terkelola yang sesuai.
Konsol
Membuat VM backend
- Di konsol Google Cloud , buka halaman Instance VM. 
- Ulangi langkah-langkah berikut untuk membuat empat VM, menggunakan kombinasi nama dan zona berikut. - Nama: vm-b1, zona:us-west1-a
- Nama: vm-b2, zona:us-west1-a
- Nama: vm-d1, zona:us-west1-c
- Nama: vm-d2, zona:us-west1-c
 
- Nama: 
- Klik Create instance. 
- Tetapkan Name seperti yang ditunjukkan pada langkah 2. 
- Untuk Region, pilih - us-west1, dan pilih Zone seperti yang ditunjukkan pada langkah 2.
- Di bagian Boot disk, pastikan image yang dipilih adalah Debian GNU/Linux 12 (bookworm). Klik Pilih untuk mengubah gambar jika diperlukan. 
- Klik Advanced options, lalu buat perubahan berikut: - Klik Networking dan tambahkan Network tags berikut:
allow-sshdanallow-health-check
- Klik tombol edit di bagian Network interfaces dan buat
perubahan berikut, lalu klik Done:
- Jaringan: lb-network
- Subnet: lb-subnet
- Primary internal IP: Ephemeral (otomatis)
- External IP: Sementara
 
- Jaringan: 
- Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk empat VM: - #! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2 
 
- Klik Networking dan tambahkan Network tags berikut:
- Klik Create. 
Membuat grup instance
- Di Google Cloud konsol, buka halaman Instance groups. 
- Ulangi langkah-langkah berikut untuk membuat dua grup instance tidak terkelola masing-masing dengan dua VM di dalamnya, menggunakan kombinasi ini. - Grup instance: ig-b, zona:us-west1-a, VM:vm-b1danvm-b2
- Grup instance: ig-d, zona:us-west1-c, VM:vm-d1danvm-d2
 
- Grup instance: 
- Klik Create instance group. 
- Klik New unmanaged instance group. 
- Tetapkan Name seperti yang ditunjukkan pada langkah 2. 
- Di bagian Location, pilih - us-west1untuk Region, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.
- Untuk Network, masukkan - lb-network.
- Untuk Subnetwork, masukkan - lb-subnet.
- Di bagian VM instances, tambahkan VM seperti yang ditunjukkan pada langkah 2. 
- Klik Create. 
gcloud
- Buat empat VM dengan menjalankan perintah berikut empat kali, menggunakan empat kombinasi ini untuk - VM_NAMEdan- ZONE. Konten skrip sama untuk keempat VM.- VM_NAMEdari- vm-b1dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-b2dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-d1dan- ZONEdari- us-west1-c
- VM_NAMEdari- vm-d2dan- ZONEdari- us-west1-c
 - gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check \ --subnet=lb-subnet \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
- Buat dua grup instance tidak terkelola di setiap zona: - gcloud compute instance-groups unmanaged create ig-b \ --zone=us-west1-a gcloud compute instance-groups unmanaged create ig-d \ --zone=us-west1-c
- Tambahkan VM ke grup instance yang sesuai: - gcloud compute instance-groups unmanaged add-instances ig-b \ --zone=us-west1-a \ --instances=vm-b1,vm-b2 gcloud compute instance-groups unmanaged add-instances ig-d \ --zone=us-west1-c \ --instances=vm-d1,vm-d2
API
Buat empat VM backend dengan membuat empat permintaan POST ke metode instances.insert.
Untuk empat VM, gunakan nama dan zona VM berikut:
- VM_NAMEdari- vm-b1dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-b2dan- ZONEdari- us-west1-a
- VM_NAMEdari- vm-d1dan- ZONEdari- us-west1-c
- VM_NAMEdari- vm-d2dan- ZONEdari- us-west1-c
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- DEBIAN_IMAGE_NAME: nama image Debian untuk instance.- DEBIAN_IMAGE_NAMEsaat ini dapat diperoleh dengan menjalankan perintah- gcloudberikut:- gcloud compute images list \ --filter="family=debian-12" 
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
 "name": "VM_NAME",
 "tags": {
   "items": [
     "allow-health-check",
     "allow-ssh"
   ]
 },
 "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/machineTypes/e2-standard-2",
 "canIpForward": false,
 "networkInterfaces": [
   {
     "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
     "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet",
     "accessConfigs": [
       {
         "type": "ONE_TO_ONE_NAT",
         "name": "external-nat",
         "networkTier": "PREMIUM"
       }
     ]
   }
 ],
 "disks": [
   {
     "type": "PERSISTENT",
     "boot": true,
     "mode": "READ_WRITE",
     "autoDelete": true,
     "deviceName": "VM_NAME",
     "initializeParams": {
       "sourceImage": "projects/debian-cloud/global/images/DEBIAN_IMAGE_NAME",
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/pd-standard",
       "diskSizeGb": "10"
     }
   }
 ],
 "metadata": {
   "items": [
     {
       "key": "startup-script",
       "value": "#! /bin/bash\napt-get update\napt-get install apache2 -y\na2ensite default-ssl\na2enmod ssl\nvm_hostname=\"$(curl -H \"Metadata-Flavor:Google\" \\\nhttp://metadata.google.internal/computeMetadata/v1/instance/name)\"\necho \"Page served from: $vm_hostname\" | \\\ntee /var/www/html/index.html\nsystemctl restart apache2"
     }
   ]
 },
 "scheduling": {
   "preemptible": false
 },
 "deletionProtection": false
}
Buat dua grup instance dengan membuat permintaan POST ke metode instanceGroups.insert. Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups
{
 "name": "ig-b",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet"
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups
{
 "name": "ig-d",
 "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
 "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet"
}
Tambahkan instance ke setiap grup instance dengan membuat permintaan POST ke metode instanceGroups.addInstances. Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-b/addInstances
{
 "instances": [
   {
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-b1",
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-b2"
   }
 ]
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-d/addInstances
{
 "instances": [
   {
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-d1",
     "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-d2"
   }
 ]
}
Menambahkan backend utama
Anda dapat menggunakan prosedur ini sebagai template untuk cara menambahkan grup instance tidak terkelola ke layanan backend Load Balancer Jaringan passthrough internal yang ada sebagai backend utama. Untuk contoh konfigurasi, prosedur ini menunjukkan cara
menambahkan grup instance ig-d sebagai backend utama ke load balancer be-ilb.
Konsol
- Di Google Cloud console, buka halaman Load balancing. 
- Di tab Load balancer, klik nama load balancer TCP internal atau load balancer UDP internal yang ada (dalam contoh ini, - be-ilb).
- Klik Edit . 
- Di Backend configuration, klik Add backend dan pilih grup instance yang tidak dikelola (dalam contoh ini, - ig-d).
- Pastikan Gunakan grup instance ini sebagai grup failover untuk pencadangan tidak dicentang. 
- Klik Selesai, lalu klik Perbarui. 
gcloud
Gunakan perintah gcloud berikut untuk menambahkan backend utama
ke layanan backend Load Balancer Jaringan passthrough internal yang ada.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend load balancer. Untuk contoh, gunakan- be-ilb.
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama. Untuk contoh, gunakan- ig-d.
- INSTANCE_GROUP_ZONE: adalah zona tempat grup instance ditentukan. Untuk contoh, gunakan- us-west1-c.
- REGION: region load balancer. Untuk contoh, gunakan- us-west1.
API
Tambahkan backend utama ke layanan backend yang ada dengan metode regionBackendServices.patch.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
{
  "backends":
  [
    {
      "balancingMode": "connection",
      "failover": false,
      "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/INSTANCE_GROUP_ZONE/instanceGroups/INSTANCE_GROUP_NAME"
    }
  ]
}
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- REGION: region load balancer. Untuk contoh, gunakan- us-west1.
- BACKEND_SERVICE_NAME: nama layanan backend load balancer. Untuk contoh, gunakan- be-ilb.
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama. Untuk contoh, gunakan- ig-d.
- INSTANCE_GROUP_ZONE: zona tempat grup instance ditentukan. Untuk contoh, gunakan- us-west1-c.
Menambahkan backend failover
Anda dapat menggunakan prosedur ini sebagai template untuk cara menambahkan grup instance tidak terkelola ke layanan backend Load Balancer Jaringan passthrough internal yang ada sebagai backend failover. Untuk contoh konfigurasi, prosedur ini menunjukkan cara
menambahkan grup instance ig-b sebagai backend failover ke load balancer be-ilb.
Konsol
- Di Google Cloud console, buka halaman Load balancing. 
- Di tab Load balancers, klik nama load balancer yang ada dengan jenis TCP/UDP (Internal) (dalam contoh ini, - be-ilb).
- Klik Edit . 
- Di Backend configuration, klik Add backend dan pilih grup instance yang tidak dikelola (dalam contoh ini, - ig-b).
- Centang Gunakan grup instance ini sebagai grup failover untuk pencadangan. 
- Klik Selesai, lalu klik Perbarui. 
gcloud
Gunakan perintah gcloud berikut untuk menambahkan backend failover
ke layanan backend Load Balancer Jaringan passthrough internal yang ada.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend load balancer. Untuk contoh, gunakan- be-ilb.
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama. Untuk contoh, gunakan- ig-b.
- INSTANCE_GROUP_ZONE: adalah zona tempat grup instance ditentukan. Untuk contoh, gunakan- us-west1-a.
- REGIONadalah region load balancer. Untuk contoh, gunakan- us-west1.
API
Tambahkan backend failover ke layanan backend yang ada dengan metode regionBackendServices.patch.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
{
  "backends":
  [
    {
      "balancingMode": "connection",
      "failover": true,
      "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/INSTANCE_GROUP_ZONE/instanceGroups/INSTANCE_GROUP_NAME"
    }
  ]
}
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- BACKEND_SERVICE_NAME: nama layanan backend load balancer. Untuk contoh, gunakan- be-ilb.
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama. Untuk contoh, gunakan- ig-b.
- INSTANCE_GROUP_ZONE: adalah zona tempat grup instance ditentukan. Untuk contoh, gunakan- us-west1-a.
- REGION: region load balancer. Untuk contoh, gunakan- us-west1.
Mengonversi backend utama atau failover
Anda dapat mengonversi backend utama menjadi backend failover, atau sebaliknya, tanpa harus menghapus grup instance dari layanan backend Load Balancer Jaringan passthrough internal.
Konsol
- Di Google Cloud console, buka halaman Load balancing. 
- Di tab Load balancer, klik nama load balancer yang ada dengan jenis TCP/UDP (Internal). 
- Klik Edit . 
- Di Backend configuration, klik nama salah satu grup instance backend. Setelah itu: - Untuk menjadikan grup instance sebagai backend failover, centang Gunakan grup instance ini sebagai grup failover untuk cadangan.
- Untuk menjadikan grup instance sebagai backend utama, hapus centang pada Gunakan grup instance ini sebagai grup failover untuk cadangan.
 
- Klik Done, lalu klik Update. 
gcloud
Gunakan perintah gcloud berikut untuk mengonversi backend utama yang ada menjadi
backend failover:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Gunakan perintah gcloud berikut untuk mengonversi backend failover yang ada menjadi
backend utama:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --no-failover
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend load balancer
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama
- INSTANCE_GROUP_ZONE: zona tempat grup instance ditentukan
- REGION: region load balancer
API
Konversikan backend utama ke backend failover, atau sebaliknya, dengan menggunakan metode
regionBackendServices.patch.
Untuk mengonversi backend utama menjadi backend failover:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
{
  "backends":
  [
    {
      "failover": true,
      "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/INSTANCE_GROUP_ZONE/instanceGroups/INSTANCE_GROUP_NAME"
    }
  ]
}
Untuk mengonversi backend failover menjadi backend utama:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
{
  "backends":
  [
    {
      "failover": false,
      "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/INSTANCE_GROUP_ZONE/instanceGroups/INSTANCE_GROUP_NAME"
    }
  ],
}
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- BACKEND_SERVICE_NAME: nama layanan backend load balancer
- INSTANCE_GROUP_NAME: nama grup instance yang akan ditambahkan sebagai backend utama
- INSTANCE_GROUP_ZONE: zona tempat grup instance ditentukan
- REGION: region load balancer
Mengonfigurasi kebijakan failover
Bagian ini menjelaskan cara mengelola kebijakan failover untuk layanan backend Load Balancer Jaringan passthrough internal. Kebijakan failover terdiri dari:
- Rasio failover
- Menghentikan traffic saat semua VM backend tidak responsif
- Pengosongan koneksi saat failover
Untuk informasi selengkapnya tentang parameter kebijakan failover, lihat:
- Menetapkan rasio failover
- Memutuskan traffic jika tidak ada VM yang responsif
- Menghentikan koneksi saat failover dan failback
Menentukan kebijakan failover
Petunjuk berikut menjelaskan cara menentukan kebijakan failover untuk Load Balancer Jaringan passthrough internal yang ada.
Konsol
Untuk menentukan kebijakan failover menggunakan konsol Google Cloud , Anda harus memiliki minimal satu backend failover.
- Di Google Cloud console, buka halaman Load balancing. 
- Dari tab Load balancer, klik nama load balancer yang ada dengan jenis TCP/UDP (Internal). 
- Klik Edit . 
- Pastikan Anda memiliki minimal satu backend failover. Setidaknya salah satu backend load balancer harus memiliki Gunakan grup instance ini sebagai grup failover untuk pencadangan yang dipilih. 
- Klik Advanced configurations. - Untuk Kebijakan Failover, tetapkan Rasio failover ke nilai
antara 0.0dan1.0, inklusif.
- Centang kotak di samping Aktifkan traffic drop jika Anda ingin menghentikan traffic saat semua VM aktif dan semua VM cadangan tidak responsif.
- Centang kotak di samping Enable connection draining on failover jika Anda ingin menghentikan koneksi yang ada dengan cepat selama failover.
 
- Untuk Kebijakan Failover, tetapkan Rasio failover ke nilai
antara 
- Klik Tinjau dan selesaikan, lalu klik Perbarui. 
gcloud
Untuk menentukan kebijakan failover menggunakan gcloud CLI, perbarui layanan backend load balancer:
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION \ --failover-ratio FAILOVER_RATIO \ --drop-traffic-if-unhealthy \ --no-connection-drain-on-failover
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend load balancer. Untuk contoh, gunakan- be-ilb.
- REGION: region load balancer. Untuk contoh, gunakan- us-west1.
- FAILOVER_RATIO: rasio failover. Kemungkinan nilainya adalah antara- 0.0dan- 1.0, inklusif. Untuk contoh, gunakan- 0.75.
- --drop-traffic-if-unhealthymenginstruksikan load balancer untuk menghentikan traffic saat semua VM utama dan semua VM cadangan tidak responsif. Ubah ini menjadi- --no-drop-traffic-if-unhealthyjika Anda ingin mendistribusikan traffic di antara semua VM utama saat semua VM backend tidak responsif.
- --no-connection-drain-on-failovermenginstruksikan load balancer untuk menghentikan koneksi TCP yang ada dengan cepat selama failover. Gunakan- --connection-drain-on-failoveruntuk mengaktifkan pengosongan koneksi selama failover.
API
Gunakan metode
regionBackendServices.patch
untuk menentukan kebijakan failover.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
{
  "failoverPolicy":
  {
    "failoverRatio": FAILOVER_RATIO,
    "dropTrafficIfUnhealthy": [true|false],
    "disableConnectionDrainOnFailover": [true|false]
  }
}
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- REGION: region load balancer
- BACKEND_SERVICE_NAME: nama layanan backend load balancer
- FAILOVER_RATIO: rasio failover. Kemungkinan nilainya adalah antara- 0.0dan- 1.0, inklusif.
- Menetapkan dropTrafficIfUnhealthyketrueakan memerintahkan load balancer untuk menghentikan traffic saat semua VM utama dan semua VM cadangan tidak responsif. Tetapkan nilai ini kefalsejika Anda ingin mendistribusikan traffic di antara semua VM utama saat semua VM backend tidak responsif.
- Menetapkan disableConnectionDrainOnFailoverketrueakan memerintahkan load balancer untuk menghentikan koneksi TCP yang ada dengan cepat saat melakukan failover. Tetapkan kefalseuntuk mengaktifkan pengosongan koneksi selama failover.
Melihat kebijakan failover
Petunjuk berikut menjelaskan cara melihat kebijakan failover yang ada untuk Load Balancer Jaringan passthrough internal.
Konsol
Konsol Google Cloud menampilkan setelan kebijakan failover yang ada saat Anda mengedit Load Balancer Jaringan passthrough internal. Lihat menentukan kebijakan failover untuk mengetahui petunjuknya.
gcloud
Untuk menampilkan setelan kebijakan failover menggunakan gcloud CLI, gunakan perintah berikut. Setelan yang tidak ditentukan dalam kebijakan failover menggunakan nilai kebijakan failover default.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
Ganti kode berikut:
- BACKEND_SERVICE_NAME: nama layanan backend load balancer
- REGION: region load balancer
API
Gunakan metode
regionBackendServices.get
untuk melihat kebijakan failover.
Respons terhadap permintaan API menunjukkan kebijakan failover. Contoh ditampilkan di bawah ini.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE_NAME
Ganti kode berikut:
- PROJECT_ID: project ID Anda
- REGION: region load balancer
- BACKEND_SERVICE_NAME: nama layanan backend load balancer
{
...
"failoverPolicy": {
  "disableConnectionDrainOnFailover": false,
  "dropTrafficIfUnhealthy": false,
  "failoverRatio": 0.75
...
}
Langkah berikutnya
- Lihat Ringkasan Load Balancer Jaringan passthrough internal untuk mengetahui dasar-dasar penting.
- Lihat Konsep failover untuk Load Balancer Jaringan passthrough internal untuk mengetahui informasi penting tentang failover.
- Lihat Menyiapkan Load Balancer Jaringan passthrough internal untuk mengetahui contoh konfigurasi Load Balancer Jaringan passthrough internal.
- Lihat Logging dan pemantauan Load Balancer Jaringan passthrough internal untuk mengetahui informasi tentang cara mengonfigurasi logging dan pemantauan untuk Load Balancer Jaringan passthrough internal.
- Lihat Load Balancer Jaringan passthrough internal dan jaringan yang terhubung untuk mengetahui informasi tentang cara mengakses Load Balancer Jaringan passthrough internal dari jaringan peer yang terhubung ke jaringan VPC Anda.
- Lihat Memecahkan masalah Load Balancer Jaringan passthrough internal untuk mengetahui informasi tentang cara memecahkan masalah pada Load Balancer Jaringan passthrough internal.
- Membersihkan penyiapan load balancer.