Menyiapkan Load Balancer Jaringan proxy internal lintas region dengan backend grup instance VM

Dokumen ini berisi petunjuk cara mengonfigurasi Load Balancer Jaringan proxy internal lintas region untuk layanan Anda yang dijalankan di VM Compute Engine.

Sebelum memulai

Sebelum mengikuti panduan ini, biasakan diri Anda dengan hal-hal berikut:

Izin

Untuk mengikuti panduan ini, Anda harus dapat membuat instance dan mengubah jaringan dalam sebuah project. Anda harus menjadi pemilik atau editor project, atau Anda harus memiliki semua peran IAM Compute Engine berikut.

Tugas Peran yang diperlukan
Membuat jaringan, subnet, dan komponen load balancer Admin Jaringan Compute
Menambahkan dan menghapus aturan firewall Compute Security Admin
Membuat instance Compute Instance Admin

Untuk informasi selengkapnya, lihat panduan berikut:

Ringkasan penyiapan

Anda dapat mengonfigurasi load balancer seperti yang ditunjukkan dalam diagram berikut:

Deployment ketersediaan tinggi Load Balancer Jaringan proxy internal lintas region.
Deployment ketersediaan tinggi Load Balancer Jaringan proxy internal lintas region (klik untuk memperbesar).

Seperti yang ditunjukkan dalam diagram, contoh ini membuat Load Balancer Jaringan proxy internal lintas region di jaringan VPC, dengan satu layanan backend dan dua grup instance terkelola (MIG) backend di region REGION_A dan REGION_B.

Diagram menampilkan hal berikut:

  1. Jaringan VPC dengan subnet berikut:

    • Subnet SUBNET_A dan subnet khusus proxy di REGION_A.
    • Subnet SUBNET_B dan subnet khusus proxy di REGION_B.

    Anda harus membuat subnet khusus proxy di setiap region jaringan VPC tempat Anda menggunakan Load Balancer Jaringan proxy internal lintas region. Subnet khusus proxy region dibagikan ke semua Load Balancer Jaringan proxy internal lintas region di region tersebut. Alamat sumber paket yang dikirim dari load balancer ke backend layanan dialokasikan dari subnet khusus proxy. Dalam contoh ini, subnet khusus proxy untuk region REGION_B memiliki rentang alamat IP utama 10.129.0.0/23, dan untuk REGION_A, memiliki rentang alamat IP utama 10.130.0.0/23, yang merupakan ukuran subnet yang direkomendasikan.

  2. Penyiapan ketersediaan tinggi memiliki backend grup instance terkelola untuk deployment VM Compute Engine di region REGION_A dan REGION_B. Jika backend di satu region mengalami gangguan, traffic akan gagal ke region lain.

  3. Layanan backend global yang memantau penggunaan dan kondisi backend.

  4. Proxy TCP target global, yang menerima permintaan dari pengguna dan meneruskannya ke layanan backend.

  5. Aturan penerusan global, yang memiliki alamat IP internal regional dari load balancer Anda dan dapat meneruskan setiap permintaan yang masuk ke proxy target.

    Alamat IP internal yang terkait dengan aturan penerusan dapat berasal dari subnet di jaringan dan region yang sama dengan backend. Perhatikan kondisi berikut:

    • Alamat IP dapat (tetapi tidak harus) berasal dari subnet yang sama dengan grup instance backend.
    • Alamat IP tidak boleh berasal dari subnet khusus proxy yang dicadangkan dan menetapkan flag --purpose-nya ke GLOBAL_MANAGED_PROXY.
    • Jika Anda ingin menggunakan alamat IP internal yang sama dengan beberapa aturan penerusan, tetapkan flag --purpose alamat IP ke SHARED_LOADBALANCER_VIP.

Mengonfigurasi jaringan dan subnet

Dalam jaringan VPC, konfigurasikan subnet di setiap region tempat backend Anda dikonfigurasi. Selain itu, konfigurasikan proxy-only-subnet di setiap region tempat Anda ingin mengonfigurasi load balancer.

Contoh ini menggunakan jaringan, region, dan subnet VPC berikut:

  • Jaringan. Jaringan adalah jaringan VPC mode kustom bernama NETWORK.

  • Subnet untuk backend.

    • Subnet bernama SUBNET_A di region REGION_A menggunakan 10.1.2.0/24 untuk rentang IP utamanya.
    • Subnet bernama SUBNET_B di region REGION_B menggunakan 10.1.3.0/24 untuk rentang IP utamanya.
  • Subnet untuk proxy.

    • Subnet bernama PROXY_SN_A di region REGION_A menggunakan 10.129.0.0/23 untuk rentang IP utamanya.
    • Subnet bernama PROXY_SN_B di region REGION_B menggunakan 10.130.0.0/23 untuk rentang IP utamanya.

Load Balancer Aplikasi internal lintas region dapat diakses dari region mana pun dalam VPC. Jadi, klien dari region mana pun dapat mengakses backend load balancer Anda secara global.

Mengonfigurasi subnet backend

Konsol

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  2. Klik Create VPC network.

  3. Berikan Nama untuk jaringan.

  4. Di bagian Subnets, tetapkan Subnet creation mode ke Custom.

  5. Buat subnet untuk backend load balancer. Di bagian Subnet baru, masukkan informasi berikut:

    • Berikan Name untuk subnet.
    • Pilih Wilayah: REGION_A
    • Masukkan rentang alamat IP: 10.1.2.0/24
  6. Klik Done.

  7. Klik Tambahkan subnet.

  8. Buat subnet untuk backend load balancer. Di bagian New subnet, masukkan informasi berikut:

    • Berikan Name untuk subnet.
    • Pilih Wilayah: REGION_B
    • Masukkan rentang alamat IP: 10.1.3.0/24
  9. Klik Done.

  10. Klik Create.

gcloud

  1. Buat jaringan VPC kustom dengan perintah gcloud compute networks create:

    gcloud compute networks create NETWORK \
        --subnet-mode=custom
    
  2. Buat subnet di jaringan NETWORK di region REGION_A dengan perintah gcloud compute networks subnets create:

    gcloud compute networks subnets create SUBNET_A \
        --network=NETWORK \
        --range=10.1.2.0/24 \
        --region=REGION_A
    
  3. Buat subnet di jaringan NETWORK di region REGION_B dengan perintah gcloud compute networks subnets create:

    gcloud compute networks subnets create SUBNET_B \
        --network=NETWORK \
        --range=10.1.3.0/24 \
        --region=REGION_B
    

Terraform

Untuk membuat jaringan VPC, gunakan resource google_compute_network.

resource "google_compute_network" "default" {
  auto_create_subnetworks = false
  name                    = "lb-network-crs-reg"
  provider                = google-beta
}

Untuk membuat subnet VPC di jaringan lb-network-crs-reg, gunakan resource google_compute_subnetwork.

resource "google_compute_subnetwork" "subnet_a" {
  provider      = google-beta
  ip_cidr_range = "10.1.2.0/24"
  name          = "lbsubnet-uswest1"
  network       = google_compute_network.default.id
  region        = "us-west1"
}
resource "google_compute_subnetwork" "subnet_b" {
  provider      = google-beta
  ip_cidr_range = "10.1.3.0/24"
  name          = "lbsubnet-useast1"
  network       = google_compute_network.default.id
  region        = "us-east1"
}

API

Buat permintaan POST ke metode networks.insert. Ganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks

{
 "routingConfig": {
   "routingMode": "regional"
 },
 "name": "NETWORK",
 "autoCreateSubnetworks": false
}

Buat permintaan POST ke metode subnetworks.insert. Ganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks

{
 "name": "SUBNET_A",
 "network": "projects/PROJECT_ID/global/networks/lb-network-crs-reg",
 "ipCidrRange": "10.1.2.0/24",
 "region": "projects/PROJECT_ID/regions/REGION_A",
}

Buat permintaan POST ke metode subnetworks.insert. Ganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks

{
 "name": "SUBNET_B",
 "network": "projects/PROJECT_ID/global/networks/NETWORK",
 "ipCidrRange": "10.1.3.0/24",
 "region": "projects/PROJECT_ID/regions/REGION_B",
}

Mengonfigurasi subnet khusus proxy

Subnet khusus proxy memberikan sekumpulan alamat IP yang digunakan Google Cloud untuk menjalankan proxy Envoy atas nama Anda. Proxy tersebut menghentikan koneksi dari klien dan membuat koneksi baru ke backend.

Subnet khusus proxy ini digunakan oleh semua load balancing regional berbasis Envoy di region yang sama dengan jaringan VPC. Hanya boleh ada satu subnet khusus proxy yang aktif untuk tujuan tertentu, per region, per jaringan.

Konsol

Jika menggunakan konsol Google Cloud, Anda dapat menunggu dan membuat subnet khusus proxy nanti di halaman Load balancing.

Jika Anda ingin membuat subnet khusus proxy sekarang, gunakan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

  2. Klik nama jaringan VPC.
  3. Pada tab Subnet, klik Add subnet.
  4. Berikan Nama untuk subnet khusus proxy.
  5. Pilih Wilayah: REGION_A
  6. Dalam daftar Destination, pilih Cross-region Managed Proxy.
  7. Di kolom Rentang alamat IP, masukkan 10.129.0.0/23.
  8. Klik Tambahkan.

Buat subnet khusus proxy di REGION_B

  1. Pada tab Subnet, klik Add subnet.
  2. Berikan Nama untuk subnet khusus proxy.
  3. Pilih Wilayah: REGION_B
  4. Dalam daftar Destination, pilih Cross-region Managed Proxy.
  5. Di kolom Rentang alamat IP, masukkan 10.130.0.0/23.
  6. Klik Tambahkan.

gcloud

Buat subnet khusus proxy dengan perintah gcloud compute networks subnets create.

    gcloud compute networks subnets create PROXY_SN_A \
        --purpose=GLOBAL_MANAGED_PROXY \
        --role=ACTIVE \
        --region=REGION_A \
        --network=NETWORK \
        --range=10.129.0.0/23
    
    gcloud compute networks subnets create PROXY_SN_B \
        --purpose=GLOBAL_MANAGED_PROXY \
        --role=ACTIVE \
        --region=REGION_B \
        --network=NETWORK \
        --range=10.130.0.0/23
    

Terraform

Untuk membuat subnet khusus proxy VPC di jaringan lb-network-crs-reg, gunakan resource google_compute_subnetwork.

resource "google_compute_subnetwork" "proxy_subnet_a" {
  provider      = google-beta
  ip_cidr_range = "10.129.0.0/23"
  name          = "proxy-only-subnet1"
  network       = google_compute_network.default.id
  purpose       = "GLOBAL_MANAGED_PROXY"
  region        = "us-west1"
  role          = "ACTIVE"
  lifecycle {
    ignore_changes = [ipv6_access_type]
  }
}
resource "google_compute_subnetwork" "proxy_subnet_b" {
  provider      = google-beta
  ip_cidr_range = "10.130.0.0/23"
  name          = "proxy-only-subnet2"
  network       = google_compute_network.default.id
  purpose       = "GLOBAL_MANAGED_PROXY"
  region        = "us-east1"
  role          = "ACTIVE"
  lifecycle {
    ignore_changes = [ipv6_access_type]
  }
}

API

Buat subnet khusus proxy dengan metode subnetworks.insert, yang menggantikan PROJECT_ID dengan project ID Anda.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks

    {
      "name": " PROXY_SN_A",
      "ipCidrRange": "10.129.0.0/23",
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "region": "projects/PROJECT_ID/regions/REGION_A",
      "purpose": "GLOBAL_MANAGED_PROXY",
      "role": "ACTIVE"
    }
   
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks

    {
      "name": "PROXY_SN_B",
      "ipCidrRange": "10.130.0.0/23",
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "region": "projects/PROJECT_ID/regions/REGION_B",
      "purpose": "GLOBAL_MANAGED_PROXY",
      "role": "ACTIVE"
    }
   

Mengonfigurasi aturan firewall

Contoh ini menggunakan aturan firewall berikut:

  • fw-ilb-to-backends. Aturan masuk, berlaku untuk instance yang sedang di-load balanced, yang memungkinkan konektivitas SSH yang masuk di port TCP 22 dari alamat apa pun. Anda dapat memilih rentang alamat IP sumber yang lebih ketat untuk aturan ini. Misalnya, Anda dapat menentukan hanya rentang alamat IP di sistem tempat Anda memulai sesi SSH. Contoh ini menggunakan tag target allow-ssh untuk mengidentifikasi VM yang menerapkan aturan firewall.

  • fw-healthcheck. Aturan ingress, berlaku untuk instance yang di-load balanced, yang memungkinkan semua traffic TCP dari sistem health check Google Cloud (di 130.211.0.0/22 dan 35.191.0.0/16). Contoh ini menggunakan tag target load-balanced-backend untuk mengidentifikasi VM yang menjadi tempat penerapan aturan firewall.

  • fw-backends. Aturan ingress, yang berlaku untuk instance yang sedang di-load balanced, yang memungkinkan traffic TCP pada port 80, 443, dan 8080 dari proxy yang dikelola Load Balancer Jaringan proxy internal. Contoh ini menggunakan tag target load-balanced-backend untuk mengidentifikasi VM yang menerapkan aturan firewall.

Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.

Tag target menentukan instance backend. Tanpa tag target, aturan firewall akan berlaku untuk semua backend instance Anda di jaringan VPC. Saat membuat VM backend, pastikan untuk menyertakan tag target yang ditentukan, seperti yang ditunjukkan dalam Membuat grup instance terkelola.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Klik Create firewall rule untuk membuat aturan yang akan mengizinkan koneksi SSH yang masuk:

    • Name: fw-ilb-to-backends
    • Jaringan: NETWORK
    • Arah traffic: Ingress
    • Tindakan jika kecocokan: Izinkan
    • Targets: Tag target yang ditentukan
    • Tag target: allow-ssh
    • Filter sumber: Rentang IPv4
    • Rentang IPv4 sumber: 0.0.0.0/0
    • Protokol dan port:
      • Pilih Specified protocols and ports.
      • Pilih kotak centang TCP, lalu masukkan 22 untuk nomor port.
  3. Klik Create.

  4. Klik Create firewall rule untuk kedua kalinya guna membuat aturan guna mengizinkan health check Google Cloud:

    • Name: fw-healthcheck
    • Jaringan: NETWORK
    • Arah traffic: Ingress
    • Tindakan jika kecocokan: Izinkan
    • Targets: Tag target yang ditentukan
    • Tag target: load-balanced-backend
    • Filter sumber: Rentang IPv4
    • Rentang IPv4 sumber: 130.211.0.0/22 dan 35.191.0.0/16
    • Protokol dan port:

      • Pilih Specified protocols and ports.
      • Pilih kotak centang TCP, lalu masukkan 80 untuk nomor port.

      Sebagai praktik terbaik, batasi aturan ini hanya pada protokol dan port yang cocok dengan yang digunakan oleh health check Anda. Jika Anda menggunakan tcp:80 untuk protokol dan port, Google Cloud dapat menggunakan HTTP pada port 80 untuk menghubungi VM Anda, tetapi tidak dapat menggunakan HTTPS pada port 443 untuk menghubungi VM.

  5. Klik Create.

  6. Klik Create firewall rule untuk ketiga kalinya guna membuat aturan agar server proxy load balancer dapat menghubungkan backend:

    • Name: fw-backends
    • Jaringan: NETWORK
    • Arah traffic: Ingress
    • Tindakan jika kecocokan: Izinkan
    • Targets: Tag target yang ditentukan
    • Tag target: load-balanced-backend
    • Filter sumber: Rentang IPv4
    • Rentang IPv4 sumber: 10.129.0.0/23 dan 10.130.0.0/23
    • Protokol dan port:
      • Pilih Specified protocols and ports.
      • Centang kotak TCP, lalu masukkan 80, 443, 8080 untuk nomor port.
  7. Klik Create.

gcloud

  1. Buat aturan firewall fw-ilb-to-backends untuk mengizinkan konektivitas SSH ke VM dengan tag jaringan allow-ssh. Saat Anda menghapus source-ranges, Google Cloud akan menafsirkan aturan sebagai sumber apa pun.

    gcloud compute firewall-rules create fw-ilb-to-backends \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  2. Buat aturan fw-healthcheck untuk mengizinkan health check Google Cloud. Contoh ini mengizinkan semua traffic TCP dari penguji health check; namun, Anda juga dapat mengonfigurasi kumpulan port yang lebih sempit untuk memenuhi kebutuhan Anda.

    gcloud compute firewall-rules create fw-healthcheck \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --target-tags=load-balanced-backend \
        --rules=tcp
    
  3. Buat aturan fw-backends untuk mengizinkan proxy Load Balancer Jaringan proxy internal terhubung ke backend Anda. Tetapkan source-ranges ke rentang yang dialokasikan dari subnet khusus proxy Anda, misalnya, 10.129.0.0/23 dan 10.130.0.0/23.

    gcloud compute firewall-rules create fw-backends \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --source-ranges=SOURCE_RANGE \
        --target-tags=load-balanced-backend \
        --rules=tcp:80,tcp:443,tcp:8080
    

API

Buat aturan firewall fw-ilb-to-backends dengan membuat permintaan POST ke metode firewalls.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls

{
 "name": "fw-ilb-to-backends",
 "network": "projects/PROJECT_ID/global/networks/NETWORK",
 "sourceRanges": [
   "0.0.0.0/0"
 ],
 "targetTags": [
   "allow-ssh"
 ],
 "allowed": [
  {
    "IPProtocol": "tcp",
    "ports": [
      "22"
    ]
  }
 ],
"direction": "INGRESS"
}

Buat aturan firewall fw-healthcheck dengan membuat permintaan POST ke metode firewalls.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls

{
 "name": "fw-healthcheck",
 "network": "projects/PROJECT_ID/global/networks/NETWORK",
 "sourceRanges": [
   "130.211.0.0/22",
   "35.191.0.0/16"
 ],
 "targetTags": [
   "load-balanced-backend"
 ],
 "allowed": [
   {
     "IPProtocol": "tcp"
   }
 ],
 "direction": "INGRESS"
}

Buat aturan firewall fw-backends untuk mengizinkan traffic TCP dalam subnet proxy untuk metode firewalls.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls

{
 "name": "fw-backends",
 "network": "projects/PROJECT_ID/global/networks/NETWORK",
 "sourceRanges": [
   "10.129.0.0/23",
   "10.130.0.0/23"
 ],
 "targetTags": [
   "load-balanced-backend"
 ],
 "allowed": [
   {
     "IPProtocol": "tcp",
     "ports": [
       "80"
     ]
   },
 {
     "IPProtocol": "tcp",
     "ports": [
       "443"
     ]
   },
   {
     "IPProtocol": "tcp",
     "ports": [
       "8080"
     ]
   }
 ],
 "direction": "INGRESS"
}

Membuat grup instance terkelola

Bagian ini menunjukkan cara membuat template dan grup instance terkelola. Grup instance terkelola menyediakan instance VM yang menjalankan server backend dari contoh Load Balancer Jaringan proxy internal lintas region. Untuk grup instance, Anda dapat menentukan layanan HTTP dan memetakan nama port ke port yang relevan. Layanan backend load balancer meneruskan traffic ke port bernama. Traffic dari klien di-load balanced ke server backend. Untuk tujuan demonstrasi, backend menyediakan nama host-nya sendiri.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance templates.

    Buka Instance templates

    1. Klik Create instance template.
    2. Untuk Name, masukkan gil4-backendeast1-template.
    3. Pastikan Boot disk disetel ke image Debian, seperti Debian GNU/Linux 10 (buster). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti apt-get.
    4. Klik Advanced options.
    5. Klik Networking dan konfigurasikan kolom berikut:
      1. Untuk Tag jaringan, masukkan allow-ssh dan load-balanced-backend.
      2. Untuk Network interfaces, pilih opsi berikut:
        • Jaringan: NETWORK
        • Subnet: SUBNET_B
    6. Klik Management. Masukkan skrip berikut ke kolom Skrip startup.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://169.254.169.254/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
    7. Klik Create.

    8. Klik Create instance template.

    9. Untuk Name, masukkan gil4-backendwest1-template.

    10. Pastikan Boot disk disetel ke image Debian, seperti Debian GNU/Linux 10 (buster). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti apt-get.

    11. Klik Advanced options.

    12. Klik Networking dan konfigurasikan kolom berikut:

      1. Untuk Tag jaringan, masukkan allow-ssh dan load-balanced-backend.
      2. Untuk Network interfaces, pilih opsi berikut:
        • Jaringan: NETWORK
        • Subnet: SUBNET_A
    13. Klik Management. Masukkan skrip berikut ke kolom Skrip startup.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://169.254.169.254/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
    14. Klik Create.

  2. Di Konsol Google Cloud, buka halaman Instance groups.

    Buka Instance groups

    1. Klik Create grup instance.
    2. Pilih New managed instance group (stateless). Untuk mengetahui informasi selengkapnya, lihat MIG stateless atau stateful.
    3. Untuk Name, masukkan gl7-ilb-mig-a.
    4. Untuk Location, pilih Single zone.
    5. Untuk Region, pilih REGION_A.
    6. Untuk Zone, pilih ZONE_A.
    7. Untuk Instance template, pilih gil4-backendwest1-template.
    8. Tentukan jumlah instance yang ingin Anda buat dalam grup.

      Untuk contoh ini, tentukan opsi berikut di bagian Autoscaling:

      • Untuk Autoscaling mode, pilih Off:do not autoscale.
      • Untuk Maximum number of instances, masukkan 2.

      Secara opsional, di bagian Autoscaling pada UI, Anda dapat mengonfigurasi grup instance untuk secara otomatis menambahkan atau menghapus instance berdasarkan penggunaan CPU instance.

    9. Klik Create.

    10. Klik Create grup instance.

    11. Pilih New managed instance group (stateless). Untuk mengetahui informasi selengkapnya, lihat MIG stateless atau stateful.

    12. Untuk Name, masukkan gl7-ilb-mig-b.

    13. Untuk Location, pilih Single zone.

    14. Untuk Region, pilih REGION_B.

    15. Untuk Zone, pilih ZONE_B.

    16. Untuk Instance template, pilih gil4-backendeast1-template.

    17. Tentukan jumlah instance yang ingin Anda buat dalam grup.

      Untuk contoh ini, tentukan opsi berikut di bagian Autoscaling:

      • Untuk Autoscaling mode, pilih Off:do not autoscale.
      • Untuk Maximum number of instances, masukkan 2.

      Secara opsional, di bagian Autoscaling pada UI, Anda dapat mengonfigurasi grup instance untuk secara otomatis menambahkan atau menghapus instance berdasarkan penggunaan CPU instance.

    18. Klik Create.

gcloud

Petunjuk gcloud CLI dalam panduan ini mengasumsikan bahwa Anda menggunakan Cloud Shell atau lingkungan lain yang telah menginstal bash.

  1. Buat template instance VM dengan server HTTP menggunakan perintah gcloud compute instance-templates create.

    gcloud compute instance-templates create gil4-backendwest1-template \
       --region=REGION_A \
       --network=NETWORK \
       --subnet=SUBNET_A \
       --tags=allow-ssh,load-balanced-backend \
       --image-family=debian-10 \
       --image-project=debian-cloud \
       --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://169.254.169.254/computeMetadata/v1/instance/name)"
         echo "Page served from: $vm_hostname" | \
         tee /var/www/html/index.html
         systemctl restart apache2'
    
    gcloud compute instance-templates create gil4-backendeast1-template \
        --region=REGION_B \
        --network=NETWORK \
        --subnet=SUBNET_B \
        --tags=allow-ssh,load-balanced-backend \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --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://169.254.169.254/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    
  2. Buat grup instance terkelola dalam zona dengan perintah gcloud compute instance-groups managed create.

    gcloud compute instance-groups managed create gl7-ilb-mig-a \
        --zone=ZONE_A \
        --size=2 \
        --template=gil4-backendwest1-template
    
    gcloud compute instance-groups managed create gl7-ilb-mig-b \
        --zone=ZONE_B \
        --size=2 \
        --template=gil4-backendeast1-template
    

API

Buat template instance dengan metode instanceTemplates.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name":"gil4-backendwest1-template",
  "properties":{
     "machineType":"e2-standard-2",
     "tags":{
       "items":[
         "allow-ssh",
         "load-balanced-backend"
       ]
     },
     "metadata":{
        "kind":"compute#metadata",
        "items":[
          {
            "key":"startup-script",
            "value":"#! /bin/bash\napt-get update\napt-get install
            apache2 -y\na2ensite default-ssl\na2enmod ssl\n
            vm_hostname=\"$(curl -H \"Metadata-Flavor:Google\"
            \\\nhttp://169.254.169.254/computeMetadata/v1/instance/name)\"\n
            echo \"Page served from: $vm_hostname\" | \\\ntee
            /var/www/html/index.html\nsystemctl restart apache2"
          }
        ]
     },
     "networkInterfaces":[
       {
         "network":"projects/PROJECT_ID/global/networks/NETWORK",
         "subnetwork":"regions/REGION_A/subnetworks/SUBNET_A",
         "accessConfigs":[
           {
             "type":"ONE_TO_ONE_NAT"
           }
         ]
       }
     ],
     "disks":[
       {
         "index":0,
         "boot":true,
         "initializeParams":{
           "sourceImage":"projects/debian-cloud/global/images/family/debian-10"
         },
         "autoDelete":true
       }
     ]
  }
}

Buat grup instance terkelola di setiap zona dengan metode instanceGroupManagers.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/{zone}/instanceGroupManagers

{
  "name": "gl7-ilb-mig-a",
  "zone": "projects/PROJECT_ID/zones/ZONE_A",
  "instanceTemplate": "projects/PROJECT_ID/global/instanceTemplates/gil4-backendwest1-template",
  "baseInstanceName": "gl4-ilb-migb",
  "targetSize": 2
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name":"gil4-backendeast1-template",
  "properties":{
     "machineType":"e2-standard-2",
     "tags":{
       "items":[
         "allow-ssh",
         "load-balanced-backend"
       ]
     },
     "metadata":{
        "kind":"compute#metadata",
        "items":[
          {
            "key":"startup-script",
            "value":"#! /bin/bash\napt-get update\napt-get install
            apache2 -y\na2ensite default-ssl\na2enmod ssl\n
            vm_hostname=\"$(curl -H \"Metadata-Flavor:Google\"
            \\\nhttp://169.254.169.254/computeMetadata/v1/instance/name)\"\n
            echo \"Page served from: $vm_hostname\" | \\\ntee
            /var/www/html/index.html\nsystemctl restart apache2"
          }
        ]
     },
     "networkInterfaces":[
       {
         "network":"projects/PROJECT_ID/global/networks/NETWORK",
         "subnetwork":"regions/REGION_B/subnetworks/SUBNET_B",
         "accessConfigs":[
           {
             "type":"ONE_TO_ONE_NAT"
           }
         ]
       }
     ],
     "disks":[
       {
         "index":0,
         "boot":true,
         "initializeParams":{
           "sourceImage":"projects/debian-cloud/global/images/family/debian-10"
         },
         "autoDelete":true
       }
     ]
  }
}

Buat grup instance terkelola di setiap zona dengan metode instanceGroupManagers.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/{zone}/instanceGroupManagers

{
  "name": "gl7-ilb-mig-b",
  "zone": "projects/PROJECT_ID/zones/ZONE_A",
  "instanceTemplate": "projects/PROJECT_ID/global/instanceTemplates/gil4-backendwest1-template",
  "baseInstanceName": "gl4-ilb-migb",
  "targetSize": 2
}

Mengonfigurasi load balancer

Contoh ini menunjukkan cara membuat resource Load Balancer Jaringan proxy internal lintas region berikut:

  • Health check TCP global.
  • Layanan backend global dengan MIG yang sama dengan backend.
  • Proxy target global.
  • Dua aturan penerusan global dengan alamat IP regional. Untuk alamat IP aturan penerusan, gunakan rentang alamat IP SUBNET_A atau SUBNET_B. Jika Anda mencoba menggunakan subnet khusus proxy, pembuatan aturan penerusan akan gagal.

Ketersediaan proxy

Terkadang region Google Cloud tidak memiliki kapasitas proxy yang cukup untuk load balancer baru. Jika hal ini terjadi, Google Cloud Console akan memberikan pesan peringatan ketersediaan proxy saat Anda membuat load balancer. Untuk mengatasi masalah ini, Anda dapat melakukan salah satu tindakan berikut:

  • Pilih region lain untuk load balancer Anda. Ini bisa menjadi opsi praktis jika Anda memiliki backend di region lain.
  • Pilih jaringan VPC yang sudah memiliki alokasi subnet khusus proxy.
  • Tunggu hingga masalah kapasitas selesai.

Konsol

Memulai konfigurasi Anda

  1. Di Konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Klik Create load balancer.
  3. Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
  4. Untuk Proxy or passthrough, pilih Proxy load balancer, lalu klik Next.
  5. Untuk Terhadap publik atau internal, pilih Internal, lalu klik Berikutnya.
  6. Untuk Cross-region or single region deployment, pilih Best for cross-region working, lalu klik Next.
  7. Klik Konfigurasikan.

Konfigurasi dasar

  1. Berikan Nama untuk load balancer.
  2. Untuk Network, pilih NETWORK.

Mengonfigurasi frontend dengan dua aturan penerusan

  1. Klik Frontend configuration.
    1. Berikan Nama aturan penerusan.
    2. Dalam daftar Subnetwork region, pilih REGION_A.

      Mencadangkan subnet khusus proxy

    3. Dalam daftar Subnetwork, pilih SUBNET_A.
    4. Dalam daftar Alamat IP, klik Buat alamat IP. Halaman Reserve a static internal IP address akan terbuka.
      • Berikan Nama untuk alamat IP statis.
      • Dalam daftar Alamat IP statis, pilih Biarkan saya pilih.
      • Di kolom Alamat IP khusus, masukkan 10.1.2.99.
      • Pilih Reserve.
  2. Klik Done.
  3. Untuk menambahkan aturan penerusan kedua, klik Tambahkan IP dan port frontend.
    1. Berikan Nama aturan penerusan.
    2. Dalam daftar Subnetwork region, pilih REGION_B.

      Mencadangkan subnet khusus proxy

    3. Dalam daftar Subnetwork, pilih SUBNET_B.
    4. Dalam daftar Alamat IP, klik Buat alamat IP. Halaman Reserve a static internal IP address akan terbuka.
      • Berikan Nama untuk alamat IP statis.
      • Dalam daftar Alamat IP statis, pilih Biarkan saya pilih.
      • Di kolom Alamat IP khusus, masukkan 10.1.3.99.
      • Pilih Reserve.
  4. Klik Done.
Mengonfigurasi layanan backend
  1. Klik Backend configuration.
  2. Dalam daftar Create or select backend services, klik Create a backend service.
  3. Berikan Nama untuk layanan backend.
  4. Untuk Protocol, pilih TCP.
  5. Untuk Port Bernama, masukkan http.
  6. Dalam daftar Backend type, pilih Instance group.
  7. Di bagian New backend:
    • Dalam daftar Instance group, pilih gl7-ilb-mig-a di REGION_A.
    • Setel Transfer nomor ke 80.
    • Klik Done.
    • Untuk menambahkan backend lain, klik Add backend.
    • Dalam daftar Instance group, pilih gl7-ilb-mig-b di REGION_B.
    • Setel Transfer nomor ke 80.
    • Klik Done.
  8. Di daftar Health check, klik Create a health check.
    • Di kolom Name, masukkan global-http-health-check.
    • Setel Protocol ke HTTP.
    • Tetapkan Port ke 80.
    • Klik Save.

Meninjau konfigurasi

  1. Klik Review and finalize.
  2. Tinjau setelan konfigurasi load balancer Anda.
  3. Klik Create.

gcloud

  1. Tentukan health check TCP dengan perintah gcloud compute health-checks create tcp.

    gcloud compute health-checks create tcp global-health-check \
       --use-serving-port \
       --global
    
  2. Tentukan layanan backend dengan perintah gcloud compute backend-services create.

    gcloud compute backend-services create gl4-gilb-backend-service \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=TCP \
      --enable-logging \
      --logging-sample-rate=1.0 \
      --health-checks=global-health-check \
      --global-health-checks \
      --global
    
  3. Tambahkan backend ke layanan backend dengan perintah gcloud compute backend-services add-backend.

    gcloud compute backend-services add-backend gl4-gilb-backend-service \
      --balancing-mode=CONNECTION \
      --max-connections=50 \
      --instance-group=gl4-ilb-migb \
      --instance-group-zone=ZONE_A \
      --global
    
    gcloud compute backend-services add-backend gl4-gilb-backend-service \
      --balancing-mode=CONNECTION \
      --max-connections=50 \
      --instance-group=gl4-ilb-migb \
      --instance-group-zone=ZONE_B \
      --global
    
  4. Buat proxy target.

    Buat proxy target dengan perintah gcloud compute target-tcp-proxies create.

    gcloud compute target-tcp-proxies create gilb-tcp-proxy \
      --backend-service=gl4-gilb-backend-service \
      --global
    
  5. Buat dua aturan penerusan, satu dengan VIP (10.1.2.99) di REGION_B dan satu lagi dengan VIP (10.1.3.99) di REGION_A. Untuk mengetahui informasi selengkapnya, lihat Mencadangkan alamat IPv4 internal statis.

    Untuk jaringan kustom, Anda harus mereferensikan subnet dalam aturan penerusan. Perhatikan bahwa ini adalah subnet VM, bukan subnet proxy.

    Gunakan perintah gcloud compute forwarding-rules create dengan tanda yang benar.

    gcloud compute forwarding-rules create gil4forwarding-rule-a \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=NETWORK \
      --subnet=SUBNET_A \
      --subnet-region=REGION_A \
      --address=10.1.2.99 \
      --ports=80 \
      --target-tcp-proxy=gilb-tcp-proxy \
      --global
    
    gcloud compute forwarding-rules create gil4forwarding-rule-b \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=NETWORK \
      --subnet=SUBNET_B \
      --subnet-region=REGION_B \
      --address=10.1.3.99 \
      --ports=80 \
      --target-tcp-proxy=gilb-tcp-proxy \
      --global
    

API

Buat health check dengan membuat permintaan POST ke metode healthChecks.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks

{
"name": "global-health-check",
"type": "TCP",
"httpHealthCheck": {
  "portSpecification": "USE_SERVING_PORT"
}
}

Buat layanan backend global dengan membuat permintaan POST ke metode backendServices.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices

{
"name": "gl4-gilb-backend-service",
"backends": [
  {
    "group": "projects/PROJECT_ID/zones/ZONE_A/instanceGroups/gl4-ilb-migb",
    "balancingMode": "CONNECTION"
  },
  {
    "group": "projects/PROJECT_ID/zones/ZONE_B/instanceGroups/gl4-ilb-migb",
    "balancingMode": "CONNECTION"
  }
],
"healthChecks": [
  "projects/PROJECT_ID/regions/global/healthChecks/global-health-check"
],
"loadBalancingScheme": "INTERNAL_MANAGED"
}

Buat proxy TCP target dengan membuat permintaan POST ke metode targetTcpProxies.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/targetTcpProxy

{
"name": "l4-ilb-proxy",
}

Buat aturan penerusan dengan membuat permintaan POST ke metode forwardingRules.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules

{
"name": "gil4forwarding-rule-a",
"IPAddress": "10.1.2.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetTcpProxies/l4-ilb-proxy",
"loadBalancingScheme": "INTERNAL_MANAGED",
"subnetwork": "projects/PROJECT_ID/regions/REGION_A/subnetworks/SUBNET_A",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"networkTier": "PREMIUM"
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules

{
"name": "gil4forwarding-rule-b",
"IPAddress": "10.1.3.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetTcpProxies/l4-ilb-proxy",
"loadBalancingScheme": "INTERNAL_MANAGED",
"subnetwork": "projects/PROJECT_ID/regions/REGION_B/subnetworks/SUBNET_B",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"networkTier": "PREMIUM"
}

Buat aturan penerusan dengan membuat permintaan POST ke metode globalForwardingRules.insert, yang mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules

{
"name": "gil4forwarding-rule-a",
"IPAddress": "10.1.2.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetTcpProxies/l4-ilb-proxy",
"loadBalancingScheme": "INTERNAL_MANAGED",
"subnetwork": "projects/PROJECT_ID/regions/REGION_A/subnetworks/SUBNET_A",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"networkTier": "PREMIUM"
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules

{
"name": "gil4forwarding-rule-b",
"IPAddress": "10.1.3.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetTcpProxies/l4-ilb-proxy",
"loadBalancingScheme": "INTERNAL_MANAGED",
"subnetwork": "projects/PROJECT_ID/regions/REGION_B/subnetworks/SUBNET_B",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"networkTier": "PREMIUM"
}

Menguji load balancer

Buat instance VM untuk menguji konektivitas

  1. Buat VM klien di region REGION_B dan REGION_A:

    gcloud compute instances create l4-ilb-client-a \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --network=NETWORK \
        --subnet=SUBNET_A \
        --zone=ZONE_A \
        --tags=allow-ssh
    
    gcloud compute instances create l4-ilb-client-b \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --network=NETWORK \
        --subnet=SUBNET_B \
        --zone=ZONE_B \
        --tags=allow-ssh
    
  2. Gunakan SSH untuk terhubung ke setiap instance klien.

    gcloud compute ssh l4-ilb-client-a --zone=ZONE_A
    
    gcloud compute ssh l4-ilb-client-b --zone=ZONE_B
    
  3. Memverifikasi bahwa alamat IP menampilkan nama host

    • Pastikan bahwa VM klien dapat menjangkau kedua alamat IP. Perintah akan berhasil dan menampilkan nama VM backend yang menyalurkan permintaan:

      curl 10.1.2.99
      
      curl 10.1.3.99
      

Menguji failover

  1. Verifikasi failover ke backend di region REGION_A saat backend di REGION_B tidak responsif atau tidak dapat dijangkau. Untuk menyimulasikan failover, hapus semua backend dari REGION_B:

    gcloud compute backend-services remove-backend gl4-gilb-backend-service \
      --instance-group=gl4-ilb-migb \
      --instance-group-zone=ZONE_B \
      --global
    
  2. Hubungkan menggunakan SSH ke VM klien di REGION_B.

    gcloud compute ssh l4-ilb-client-b \
       --zone=ZONE_B
    
  3. Kirim permintaan ke alamat IP yang di-load balanced di region REGION_B. Output perintah menampilkan respons dari VM backend di REGION_A:

    {
    RESULTS=
    for i in {1..100}
    do
      RESULTS="$RESULTS:$(curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:10.1.3.99:443)"
    done
    echo "***"
    echo "*** Results of load-balancing to 10.1.3.99: "
    echo "***"
    echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c
    echo
    }
    

Opsi konfigurasi tambahan

Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi alternatif dan tambahan. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.

Protokol PROXY untuk menyimpan informasi koneksi klien

Load Balancer Jaringan proxy internal menghentikan koneksi TCP dari klien dan membuat koneksi baru ke instance VM. Secara default, informasi porta dan IP klien asli tidak dipertahankan.

Untuk menyimpan dan mengirim informasi koneksi asli ke instance Anda, aktifkan protokol PROXY (versi 1). Protokol ini mengirimkan header tambahan yang berisi alamat IP sumber, alamat IP tujuan, dan nomor port ke instance sebagai bagian dari permintaan.

Pastikan instance backend Load Balancer Jaringan proxy internal menjalankan server HTTP atau HTTPS yang mendukung header protokol PROXY. Jika server HTTP atau HTTPS tidak dikonfigurasi untuk mendukung header protokol PROXY, backend instance akan menampilkan respons kosong. Misalnya, protokol PROXY tidak berfungsi dengan software Server HTTP Apache. Anda dapat menggunakan perangkat lunak server web yang berbeda, seperti Nginx.

Jika menetapkan protokol PROXY untuk traffic pengguna, Anda juga harus menetapkannya untuk health check. Jika Anda memeriksa konten kondisi dan penayangan di port yang sama, tetapkan --proxy-header health check agar cocok dengan setelan load balancer.

Header protokol PROXY biasanya berupa satu baris teks yang dapat dibaca pengguna dalam format berikut:

PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n

Berikut adalah contoh protokol PROXY:

PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n

Pada contoh sebelumnya, IP klien adalah 192.0.2.1, IP load balancing adalah 198.51.100.1, port klien adalah 15221, dan port tujuannya adalah 110.

Jika IP klien tidak diketahui, load balancer menghasilkan header protokol PROXY dalam format berikut:

PROXY UNKNOWN\r\n

Mengupdate header protokol PROXY untuk proxy TCP target

Contoh penyiapan load balancer di halaman ini menunjukkan cara mengaktifkan header protokol PROXY saat membuat Load Balancer Jaringan proxy internal. Gunakan langkah-langkah ini untuk mengubah header protokol PROXY untuk proxy TCP target yang ada.

Konsol

  1. Di konsol Google Cloud, buka halaman Load balancing.

    Buka Load balancing

  2. Klik Edit untuk load balancer.

  3. Klik Frontend configuration.

  4. Ubah nilai bidang Protokol proxy ke Aktif.

  5. Klik Update untuk menyimpan perubahan.

gcloud

Dalam perintah berikut, edit kolom --proxy-header dan tetapkan ke NONE atau PROXY_V1, bergantung pada kebutuhan Anda.

gcloud compute target-ssl-proxies update int-tcp-target-proxy \
    --proxy-header=[NONE | PROXY_V1]

Gunakan alamat IP yang sama di antara beberapa aturan penerusan internal

Agar beberapa aturan penerusan internal dapat menggunakan alamat IP internal yang sama, Anda harus mencadangkan alamat IP dan menetapkan flag --purpose ke SHARED_LOADBALANCER_VIP.

gcloud

gcloud compute addresses create SHARED_IP_ADDRESS_NAME \
    --region=REGION \
    --subnet=SUBNET_NAME \
    --purpose=SHARED_LOADBALANCER_VIP

Mengaktifkan afinitas sesi

Contoh konfigurasi ini akan membuat layanan backend tanpa afinitas sesi.

Prosedur ini menunjukkan cara mengupdate layanan backend untuk contoh load balancer, sehingga layanan backend menggunakan afinitas IP klien atau afinitas cookie yang dihasilkan.

Saat afinitas IP klien diaktifkan, load balancer akan mengarahkan permintaan klien tertentu ke VM backend yang sama berdasarkan hash yang dibuat dari alamat IP klien dan alamat IP load balancer (alamat IP internal dari aturan penerusan internal).

Konsol

Untuk mengaktifkan afinitas sesi IP klien:

  1. Di Konsol Google Cloud, buka halaman Load balancing.
    Buka Load balancing
  2. Click Backends.
  3. Klik nama layanan backend yang Anda buat untuk contoh ini dan klik Edit.
  4. Di halaman Backend service details, klik Advanced configuration.
  5. Di bagian Afinitas sesi, pilih IP Klien dari menu.
  6. Klik Perbarui.

gcloud

Gunakan perintah gcloud berikut untuk memperbarui layanan backend BACKEND_SERVICE, dengan menentukan afinitas sesi IP klien:

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --session-affinity=CLIENT_IP

Aktifkan pengosongan koneksi

Anda dapat mengaktifkan pengosongan koneksi pada layanan backend untuk memastikan gangguan yang minimal bagi pengguna saat instance yang menyalurkan traffic dihentikan, dihapus secara manual, atau dihapus oleh penskalaan otomatis. Untuk mempelajari lebih lanjut pengosongan koneksi, baca dokumentasi Mengaktifkan pengosongan koneksi.

Langkah selanjutnya