Menyiapkan Load Balancer Aplikasi eksternal regional dengan backend grup instance VM

Dokumen ini memberikan petunjuk untuk mengonfigurasi Load Balancer Aplikasi eksternal regional untuk layanan Anda yang berjalan di VM Compute Engine.

Karena Load Balancer Aplikasi eksternal regional memungkinkan Anda membuat load balancer di region tertentu, load balancer ini sering digunakan untuk beban kerja yang memiliki persyaratan kepatuhan hukum. Beban kerja yang memerlukan akses ke eksekusi Paket Jaringan Standar adalah kasus penggunaan umum lainnya untuk Load Balancer Aplikasi eksternal regional, karena Load Balancer Aplikasi eksternal regional mendukung Paket Layanan Jaringan Premium dan Standar.

Sebelum mengikuti panduan ini, pahami hal-hal berikut:

Izin

Untuk mengikuti panduan ini, Anda harus dapat membuat instance dan mengubah jaringan dalam project. Anda harus menjadi pemilik atau editor project, atau Anda harus 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 Instance Admin

Untuk informasi selengkapnya, lihat panduan berikut:

Ringkasan penyiapan

Anda dapat mengonfigurasi Load Balancer Aplikasi eksternal regional seperti yang dijelaskan dalam alur konfigurasi tingkat tinggi berikut. Langkah-langkah yang diberi nomor mengacu pada angka dalam diagram.

Komponen bernomor Load Balancer Aplikasi eksternal regional
Komponen bernomor Load Balancer Aplikasi eksternal regional (klik untuk memperbesar)

Seperti yang ditunjukkan dalam diagram, contoh ini membuat Application Load Balancer eksternal regional di jaringan VPC di region us-west1, dengan satu layanan backend dan dua grup instance backend.

Diagram menunjukkan hal berikut:

  1. Jaringan VPC dengan dua subnet:

    1. Satu subnet digunakan untuk backend (grup instance). Rentang alamat IP utamanya adalah 10.1.2.0/24.

    2. Satu subnet adalah subnet khusus proxy di region us-west1. Anda harus membuat satu subnet khusus proxy di setiap region jaringan VPC tempat Anda menggunakan Load Balancer Aplikasi eksternal regional. Subnet khusus proxy di region dibagikan di antara semua load balancer regional di region tersebut. Alamat sumber paket yang dikirim dari load balancer ke backend layanan Anda dialokasikan dari subnet khusus proxy. Dalam contoh ini, subnet khusus proxy untuk region tersebut memiliki rentang alamat IP utama 10.129.0.0/23, yang merupakan ukuran subnet yang direkomendasikan. Untuk informasi selengkapnya, lihat Subnet khusus proxy.

  2. Aturan firewall yang mengizinkan alur traffic subnet khusus proxy di jaringan Anda. Artinya, tambahkan satu aturan yang mengizinkan traffic port TCP 80, 443, dan 8080 dari 10.129.0.0/23 (rentang subnet khusus proxy dalam contoh ini). Aturan firewall lain untuk pemeriksaan health check.

  3. Instance backend.

  4. Grup instance:

    1. Grup instance terkelola atau tidak terkelola untuk deployment VM Compute Engine
    2. NEG untuk deployment GKE

    Di setiap zona, Anda dapat memiliki kombinasi jenis grup backend berdasarkan persyaratan deployment Anda.

  5. Health check regional yang melaporkan kesiapan backend Anda.

  6. Layanan backend regional yang memantau penggunaan dan kondisi backend.

  7. Peta URL regional yang mengurai URL permintaan dan meneruskan permintaan ke layanan backend tertentu berdasarkan host dan jalur URL permintaan.

  8. Proxy HTTP atau HTTPS target regional, yang menerima permintaan dari pengguna dan meneruskannya ke peta URL. Untuk HTTPS, konfigurasikan resource sertifikat SSL regional. Proxy target dapat menggunakan sertifikat SSL atau sertifikat Pengelola Sertifikat untuk mendekripsi traffic SSL jika Anda mengonfigurasi load balancing HTTPS. Proxy target dapat meneruskan traffic ke instance Anda menggunakan HTTP atau HTTPS.

  9. Aturan penerusan, yang memiliki alamat IP eksternal load balancer Anda untuk meneruskan setiap permintaan masuk ke proxy target.

    Alamat IP eksternal yang terkait dengan aturan penerusan dicadangkan menggunakan perintah gcloud compute addresses create, seperti yang dijelaskan dalam Mencadangkan alamat IP load balancer.

Mengonfigurasi jaringan dan subnet

Anda memerlukan jaringan VPC dengan dua subnet: satu untuk backend load balancer dan satu lagi untuk proxy load balancer. Load Balancer Aplikasi eksternal regional bersifat regional. Traffic dalam jaringan VPC dirutekan ke load balancer jika sumber traffic berada di subnet di region yang sama dengan load balancer.

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

  • Jaringan. Jaringan ini adalah jaringan VPC mode kustom bernama lb-network.

  • Subnet untuk backend. Subnet bernama backend-subnet di wilayah us-west1 menggunakan 10.1.2.0/24 untuk rentang IP utamanya.

  • Subnet untuk proxy. Subnet bernama proxy-only-subnet di wilayah us-west1 menggunakan 10.129.0.0/23 untuk rentang IP utamanya.

Mengonfigurasi jaringan dan subnet untuk backend

Konsol

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

    Buka VPC networks

  2. Klik Create VPC network.

  3. Untuk Name, masukkan lb-network.

  4. Di bagian Subnet:

    • Setel Subnet creation mode ke Custom.
    • Di bagian New subnet, masukkan informasi berikut:
      • Nama: backend-subnet
      • Region: us-west1
      • Rentang alamat IP: 10.1.2.0/24
    • Klik Done.
  5. Klik Create.

gcloud

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

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Buat subnet di jaringan lb-network di region us-west1 dengan perintah gcloud compute networks subnets create:

    gcloud compute networks subnets create backend-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

Terraform

Untuk membuat jaringan VPC, gunakan resource google_compute_network.

resource "google_compute_network" "default" {
  name                    = "lb-network"
  auto_create_subnetworks = false
  routing_mode            = "REGIONAL"
}

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

resource "google_compute_subnetwork" "default" {
  name                       = "backend-subnet"
  ip_cidr_range              = "10.1.2.0/24"
  network                    = google_compute_network.default.id
  private_ipv6_google_access = "DISABLE_GOOGLE_ACCESS"
  purpose                    = "PRIVATE"
  region                     = "us-west1"
  stack_type                 = "IPV4_ONLY"
}

API

  1. Buat permintaan POST ke metode networks.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
    {
     "routingConfig": {
       "routingMode": "REGIONAL"
     },
     "name": "lb-network",
     "autoCreateSubnetworks": false
    }
    
  2. Buat permintaan POST ke metode subnetworks.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks
    {
     "name": "backend-subnet",
     "network": "projects/PROJECT_ID/global/networks/lb-network",
     "ipCidrRange": "10.1.2.0/24",
     "region": "projects/PROJECT_ID/regions/us-west1",
    }
    

Mengonfigurasi subnet khusus proxy

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

Subnet khusus proxy ini digunakan oleh semua load balancer regional berbasis Envoy di region yang sama pada jaringan VPC lb-network. Hanya boleh ada satu subnet khusus proxy yang aktif per region, per jaringan.

Konsol

Jika menggunakan konsol Google Cloud, Anda juga 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 jaringan VPC

  2. Klik nama jaringan VPC: lb-network.

  3. Klik Tambahkan subnet.

  4. Untuk Name, masukkan proxy-only-subnet.

  5. Untuk Region, pilih us-west1.

  6. Tetapkan Tujuan ke Proxy yang Dikelola Berdasarkan Wilayah.

  7. Untuk Rentang alamat IP, masukkan 10.129.0.0/23.

  8. Klik Tambahkan.

gcloud

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

gcloud compute networks subnets create proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=us-west1 \
  --network=lb-network \
  --range=10.129.0.0/23

Terraform

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

resource "google_compute_subnetwork" "proxy_only" {
  name          = "proxy-only-subnet"
  ip_cidr_range = "10.129.0.0/23"
  network       = google_compute_network.default.id
  purpose       = "REGIONAL_MANAGED_PROXY"
  region        = "us-west1"
  role          = "ACTIVE"
}

API

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks
{
  "name": "proxy-only-subnet",
  "ipCidrRange": "10.129.0.0/23",
  "network": "projects/PROJECT_ID/global/networks/lb-network",
  "region": "projects/PROJECT_ID/regions/us-west1",
  "purpose": "REGIONAL_MANAGED_PROXY",
  "role": "ACTIVE"
}

Mengonfigurasi aturan firewall

Contoh ini menggunakan aturan firewall berikut:

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

  • fw-allow-proxies. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic TCP pada port 80, 443, dan 8080 dari proxy terkelola Load Balancer Aplikasi eksternal regional. 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 instance backend 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. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.

    Buka Aturan firewall

  2. Klik Create firewall rule untuk membuat aturan yang mengizinkan health check Google Cloud:

    • Nama: fw-allow-health-check
    • Jaringan: lb-network
    • Direction of traffic: Ingress
    • Action on match: Allow
    • 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 Protokol dan port yang ditentukan.
      • 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 di port 80 untuk menghubungi VM Anda, tetapi tidak dapat menggunakan HTTPS di port 443 untuk menghubunginya.
  3. Klik Create.

  4. Klik Create firewall rule untuk membuat aturan yang mengizinkan server proxy load balancer menghubungkan backend:

    • Nama: fw-allow-proxies
    • Jaringan: lb-network
    • Direction of traffic: Ingress
    • Action on match: Allow
    • Targets: Tag target yang ditentukan
    • Tag target: load-balanced-backend
    • Filter sumber: Rentang IPv4
    • Rentang IPv4 sumber: 10.129.0.0/23
    • Protokol dan port:
      • Pilih Protokol dan port yang ditentukan.
      • Pilih kotak centang TCP, lalu masukkan 80, 443, 8080 untuk nomor port.
  5. Klik Create.

gcloud

  1. Buat aturan fw-allow-health-check 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-allow-health-check \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --target-tags=load-balanced-backend \
        --rules=tcp
    
  2. Buat aturan fw-allow-proxies untuk mengizinkan proxy Load Balancer Aplikasi eksternal regional terhubung ke backend Anda. Tetapkan source-ranges ke rentang yang dialokasikan untuk subnet khusus proxy Anda, misalnya, 10.129.0.0/23.

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

Terraform

Untuk membuat aturan firewall, gunakan resource google_compute_firewall.

resource "google_compute_firewall" "default" {
  name = "fw-allow-health-check"
  allow {
    protocol = "tcp"
  }
  direction     = "INGRESS"
  network       = google_compute_network.default.id
  priority      = 1000
  source_ranges = ["130.211.0.0/22", "35.191.0.0/16"]
  target_tags   = ["load-balanced-backend"]
}
resource "google_compute_firewall" "allow_proxy" {
  name = "fw-allow-proxies"
  allow {
    ports    = ["443"]
    protocol = "tcp"
  }
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
  allow {
    ports    = ["8080"]
    protocol = "tcp"
  }
  direction     = "INGRESS"
  network       = google_compute_network.default.id
  priority      = 1000
  source_ranges = ["10.129.0.0/23"]
  target_tags   = ["load-balanced-backend"]
}

API

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls
{
  "name": "fw-allow-health-check",
  "network": "projects/PROJECT-ID/global/networks/lb-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-allow-proxies untuk mengizinkan traffic TCP dalam subnet proxy untuk metode firewalls.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls
{
  "name": "fw-allow-proxies",
  "network": "projects/PROJECT_ID/global/networks/lb-network",
  "sourceRanges": [
    "10.129.0.0/23"
  ],
  "targetTags": [
    "load-balanced-backend"
  ],
  "allowed": [
    {
      "IPProtocol": "tcp",
      "ports": [
        "80"
      ]
    },
    {
      "IPProtocol": "tcp",
      "ports": [
        "443"
      ]
    },
    {
      "IPProtocol": "tcp",
      "ports": [
        "8080"
      ]
    }
  ],
  "direction": "INGRESS"
}

Mengonfigurasi Load Balancer Aplikasi eksternal regional dengan layanan berbasis VM

Bagian ini menampilkan konfigurasi yang diperlukan untuk layanan yang berjalan di VM Compute Engine. VM klien terhubung ke alamat IP dan port yang Anda konfigurasikan dalam aturan penerusan. Saat aplikasi klien Anda mengirim traffic ke alamat IP dan port ini, permintaannya akan diteruskan ke virtual machine (VM) backend Anda sesuai dengan peta URL Load Balancer Aplikasi eksternal regional Anda.

Contoh di halaman ini secara eksplisit membuat alamat IP eksternal yang dicadangkan untuk aturan penerusan Load Balancer Aplikasi eksternal regional, bukan mengizinkan alamat IP eksternal sementara dialokasikan. Sebagai praktik terbaik, sebaiknya pesan alamat IP untuk aturan penerusan.

Membuat backend 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 Aplikasi eksternal regional. Traffic dari klien di-load balance ke server backend ini. Untuk tujuan demonstrasi, backend menayangkan nama host-nya sendiri.

Konsol

  1. Membuat template instance. Di konsol Google Cloud, buka halaman Instance templates.

    Buka halaman Template instance

    1. Klik Create instance template.
    2. Untuk Name, masukkan l7-xlb-backend-template.
    3. Pastikan Boot disk disetel ke image Debian, seperti Debian GNU/Linux 12 (bookworm). 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 Network tags, masukkan load-balanced-backend.
      2. Untuk Network interfaces, pilih dari daftar berikut:
        • Jaringan: lb-network
        • Subnet: backend-subnet
    6. Klik Management. Masukkan skrip berikut ke dalam 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://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
    7. Klik Create.

  2. Membuat grup instance terkelola. Di konsol Google Cloud, buka halaman Instance groups.

    Buka Instance groups

    1. Klik Create instance group.
    2. Pilih New managed instance group (stateless). Untuk informasi selengkapnya, lihat MIG stateless atau stateful.
    3. Untuk Name, masukkan l7-xlb-backend-example.
    4. Untuk Location, pilih Single zone.
    5. Untuk Region, pilih us-west1.
    6. Untuk Zone, pilih us-west1-a.
    7. Untuk Instance template, pilih l7-xlb-backend-template.
    8. Untuk Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup.

      Tetapkan Minimum number of instances ke 2, dan tetapkan Maximum number of instances ke 2 atau lebih.

    9. Klik Create.

gcloud

Petunjuk gcloud dalam panduan ini mengasumsikan bahwa Anda menggunakan Cloud Shell atau lingkungan lain dengan bash yang diinstal.

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

    gcloud compute instance-templates create l7-xlb-backend-template \
    --region=us-west1 \
    --network=lb-network \
    --subnet=backend-subnet \
    --tags=load-balanced-backend \
    --image-family=debian-12 \
    --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://metadata.google.internal/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2'
    
  2. Buat grup instance terkelola di zona dengan perintah gcloud compute instance-groups managed create.

    gcloud compute instance-groups managed create l7-xlb-backend-example \
        --zone=us-west1-a \
        --size=2 \
        --template=l7-xlb-backend-template
    

Terraform

Untuk membuat template instance, gunakan resource google_compute_instance_template.

resource "google_compute_instance_template" "default" {
  name = "l7-xlb-backend-template"
  disk {
    auto_delete  = true
    boot         = true
    device_name  = "persistent-disk-0"
    mode         = "READ_WRITE"
    source_image = "projects/debian-cloud/global/images/family/debian-12"
    type         = "PERSISTENT"
  }
  labels = {
    managed-by-cnrm = "true"
  }
  machine_type = "n1-standard-1"
  metadata = {
    startup-script = <<EOF
    #! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://169.254.169.254/computeMetadata/v1/instance/name)"
    sudo echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    sudo systemctl restart apache2
    EOF
  }
  network_interface {
    access_config {
      network_tier = "PREMIUM"
    }
    network    = google_compute_network.default.id
    subnetwork = google_compute_subnetwork.default.id
  }
  region = "us-west1"
  scheduling {
    automatic_restart   = true
    on_host_maintenance = "MIGRATE"
    provisioning_model  = "STANDARD"
  }
  service_account {
    email  = "default"
    scopes = ["https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring.write", "https://www.googleapis.com/auth/pubsub", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append"]
  }
  tags = ["load-balanced-backend"]
}

Untuk membuat grup instance terkelola, gunakan resource google_compute_instance_group_manager.

resource "google_compute_instance_group_manager" "default" {
  name = "l7-xlb-backend-example"
  zone = "us-west1-a"
  named_port {
    name = "http"
    port = 80
  }
  version {
    instance_template = google_compute_instance_template.default.id
    name              = "primary"
  }
  base_instance_name = "vm"
  target_size        = 2
}

API

  1. 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":"l7-xlb-backend-template",
     "properties": {
       "machineType":"e2-standard-2",
       "tags": {
         "items":[
           "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\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"
           }
         ]
       },
       "networkInterfaces":[
         {
           "network":"projects/PROJECT_ID/global/networks/lb-network",
           "subnetwork":"regions/us-west1/subnetworks/backend-subnet",
           "accessConfigs":[
             {
               "type":"ONE_TO_ONE_NAT"
             }
           ]
         }
       ],
       "disks": [
         {
           "index":0,
           "boot":true,
           "initializeParams": {
             "sourceImage":"projects/debian-cloud/global/images/family/debian-12"
           },
           "autoDelete":true
         }
       ]
     }
    }
    
  2. Buat grup instance terkelola di setiap zona dengan metode instanceGroupManagers.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/{zone}/instanceGroupManagers
    {
     "name": "l7-xlb-backend-example",
     "zone": "projects/PROJECT_ID/zones/us-west1-a",
     "instanceTemplate": "projects/PROJECT_ID/global/instanceTemplates/l7-xlb-backend-template",
     "baseInstanceName": "l7-xlb-backend-example",
     "targetSize": 2
    }
    

Menambahkan port bernama ke grup instance

Untuk grup instance Anda, tentukan layanan HTTP dan petakan nama port ke port yang relevan. Layanan backend load balancer meneruskan traffic ke port bernama.

Konsol

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

    Buka Instance groups

  2. Klik nama grup instance Anda (dalam contoh ini, l7-xlb-backend-example).

  3. Di halaman Ringkasan grup instance, klik Edit .

  4. Klik Specify port name mapping.

  5. Klik Tambahkan item.

  6. Untuk nama port, masukkan http. Untuk nomor port, masukkan 80.

  7. Klik Simpan.

gcloud

Gunakan perintah gcloud compute instance-groups set-named-ports.

gcloud compute instance-groups set-named-ports l7-xlb-backend-example \
    --named-ports http:80 \
    --zone us-west1-a

Terraform

Atribut named_port disertakan dalam contoh grup instance terkelola.

Mencadangkan alamat IP load balancer

Cadangkan alamat IP statis untuk load balancer.

Konsol

  1. Di konsol Google Cloud, buka halaman Reserve a static address.

    Buka Reserve a static address

  2. Pilih Nama untuk alamat baru.

  3. Untuk Network Service Tier, pilih Standard.

  4. Untuk IP version, pilih IPv4. Alamat IPv6 bersifat global dan hanya dapat digunakan dengan load balancer global.

  5. Untuk Jenis, pilih Regional.

  6. Untuk Region, pilih us-west1.

  7. Biarkan opsi Lampirkan ke ditetapkan ke Tidak ada. Setelah Anda membuat load balancer, alamat IP ini akan dilampirkan ke aturan penerusan load balancer.

  8. Klik Reserve untuk mereservasi alamat IP.

gcloud

  1. Untuk mereservasi alamat IP eksternal statis menggunakan gcloud compute, gunakan perintah compute addresses create.

    gcloud compute addresses create ADDRESS_NAME  \
       --region=us-west1 \
       --network-tier=STANDARD
    

    Ganti kode berikut:

    • ADDRESS_NAME: nama yang ingin Anda beri untuk alamat ini.
    • REGION: region tempat Anda ingin mencadangkan alamat ini. Region ini harus berupa region yang sama dengan load balancer. Semua alamat IP regional adalah IPv4.
  2. Gunakan perintah compute addresses describe untuk melihat hasilnya:

    gcloud compute addresses describe ADDRESS_NAME
    

Terraform

Untuk mencadangkan alamat IP, gunakan resource google_compute_address.

resource "google_compute_address" "default" {
  name         = "address-name"
  address_type = "EXTERNAL"
  network_tier = "STANDARD"
  region       = "us-west1"
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

API

Untuk membuat alamat IPv4 regional, panggil metode addresses.insert regional:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Isi permintaan Anda harus berisi informasi berikut:

{
  "name": "ADDRESS_NAME"
  "networkTier": "STANDARD"
  "region": "us-west1"
}

Ganti kode berikut:

  • ADDRESS_NAME: nama untuk alamat
  • REGION: nama region untuk permintaan ini
  • PROJECT_ID: project ID untuk permintaan ini

Mengonfigurasi load balancer

Contoh ini menunjukkan cara membuat resource Load Balancer Aplikasi eksternal regional berikut:

  • Health check HTTP
  • Layanan backend dengan grup instance terkelola sebagai backend
  • Peta URL
    • Pastikan untuk merujuk ke peta URL regional jika region ditentukan untuk proxy HTTP(S) target. Peta URL regional merutekan permintaan ke layanan backend regional berdasarkan aturan yang Anda tentukan untuk host dan jalur URL masuk. Peta URL regional hanya dapat direferensikan oleh aturan proxy target regional di region yang sama.
  • Sertifikat SSL (untuk HTTPS)
  • Proxy target
  • Aturan penerusan

Ketersediaan proxy

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

  • Pilih region lain untuk load balancer Anda. Hal ini dapat menjadi opsi yang praktis jika Anda memiliki backend di region lain.
  • Pilih jaringan VPC yang sudah memiliki subnet khusus proxy yang dialokasikan.
  • Tunggu hingga masalah kapasitas teratasi.

Konsol

Memulai konfigurasi

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

    Buka Load balancing

  2. Klik Create load balancer.
  3. Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS), lalu klik Next.
  4. Untuk Public facing or internal, pilih Public facing (external), lalu klik Next.
  5. Untuk Global or single region deployment, pilih Best for regional workloads, lalu klik Next.
  6. Klik Konfigurasikan.

Konfigurasi dasar

  1. Untuk nama load balancer, masukkan regional-l7-xlb.
  2. Untuk Region, pilih us-west1.
  3. Untuk Network, pilih lb-network.

Mereservasi subnet khusus proxy

Untuk Load Balancer Aplikasi eksternal regional, reservasi subnet khusus proxy:

  1. Klik Reserve subnet.
  2. Untuk Name, masukkan proxy-only-subnet.
  3. Untuk Rentang alamat IP, masukkan 10.129.0.0/23.
  4. Klik Tambahkan.

Mengonfigurasi frontend

Untuk HTTP:

  1. Klik Frontend configuration.
  2. Setel Nama ke l7-xlb-forwarding-rule.
  3. Tetapkan Protokol ke HTTP.
  4. Tetapkan Network service tier ke Standard.
  5. Tetapkan Port ke 80.
  6. Pilih IP address yang Anda buat di bagian Mencadangkan alamat IP load balancer.
  7. Klik Done.

Untuk HTTPS:

  1. Klik Frontend configuration.
  2. Di kolom Name, masukkan l7-xlb-forwarding-rule.
  3. Pada kolom Protocol, pilih HTTPS (includes HTTP/2).
  4. Tetapkan Network service tier ke Standard.
  5. Pastikan Port disetel ke 443.
  6. Pilih IP address yang Anda buat di bagian Mencadangkan alamat IP load balancer.
  7. Dalam daftar Certificate, lakukan tindakan berikut:
    1. Jika Anda sudah memiliki resource sertifikat SSL yang dikelola sendiri Compute Engine, pilih sertifikat SSL utama.
    2. Klik Buat sertifikat baru.
      1. Di kolom Name, masukkan l7-xlb-cert.
      2. Di kolom yang sesuai, upload file berformat PEM:
        • Certificate
        • Private key
      3. Klik Create.
  8. Opsional: Untuk menambahkan sertifikat selain sertifikat SSL utama:
    1. Klik Add certificate.
    2. Jika Anda sudah memiliki sertifikat, pilih sertifikat tersebut dari daftar Certificates.
    3. Opsional: Klik Create a new certificate, lalu ikuti petunjuk seperti yang ditentukan pada langkah sebelumnya.
  9. Pilih kebijakan SSL dari daftar Kebijakan SSL. Secara opsional, untuk membuat kebijakan SSL, lakukan hal berikut:

    1. Di daftar SSL policy, pilih Create a policy.
    2. Masukkan nama untuk kebijakan SSL.
    3. Pilih versi TLS minimum. Nilai defaultnya adalah TLS 1.0.
    4. Pilih salah satu profil yang dikelola Google dan telah dikonfigurasi sebelumnya atau pilih profil Kustom yang memungkinkan Anda memilih fitur SSL satu per satu. Fitur yang diaktifkan dan Fitur yang dinonaktifkan akan ditampilkan.
    5. Klik Simpan.

    Jika Anda belum membuat kebijakan SSL, kebijakan SSL Google Cloud default akan diterapkan.

  10. Klik Done.

Mengonfigurasi layanan backend

  1. Klik Backend configuration.
  2. Dari menu Create or select backend services, pilih Create a backend service.
  3. Tetapkan nama layanan backend ke l7-xlb-backend-service.
  4. Untuk Protocol, pilih HTTP.
  5. Untuk Named Port, masukkan http.
  6. Tetapkan Backend type ke Instance group.
  7. Di bagian New backend:
    1. Setel Instance group ke l7-xlb-backend-example.
    2. Setel Transfer nomor ke 80.
    3. Tetapkan Balancing mode ke Utilization.
    4. Klik Done.
  8. Di daftar Health check, klik Create a health check.
    1. Setel Nama ke l7-xlb-basic-check.
    2. Tetapkan Protokol ke HTTP.
    3. Tetapkan Port ke 80.
    4. Klik Simpan.
  9. Klik Create.

Mengonfigurasi aturan pemilihan rute

  1. Klik Routing rules.
  2. Untuk Mode, pilih Simple host and path rule.
  3. Pastikan l7-xlb-backend-service adalah satu-satunya layanan backend untuk semua host dan jalur yang tidak cocok.

Meninjau konfigurasi

  1. Klik Review and finalize.
  2. Tinjau setelan konfigurasi load balancer Anda.
  3. Opsional: Klik Equivalent code untuk melihat permintaan REST API yang akan digunakan untuk membuat load balancer.
  4. Klik Create.

gcloud

  1. Tentukan health check HTTP dengan perintah gcloud compute health-checks create http.

    gcloud compute health-checks create http l7-xlb-basic-check \
       --region=us-west1 \
       --request-path='/' \
       --use-serving-port
    
  2. Tentukan layanan backend dengan perintah gcloud compute backend-services create.

    gcloud compute backend-services create l7-xlb-backend-service \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --protocol=HTTP \
      --port-name=http \
      --health-checks=l7-xlb-basic-check \
      --health-checks-region=us-west1 \
      --region=us-west1
    
  3. Tambahkan backend ke layanan backend dengan perintah gcloud compute backend-services add-backend.

    gcloud compute backend-services add-backend l7-xlb-backend-service \
      --balancing-mode=UTILIZATION \
      --instance-group=l7-xlb-backend-example \
      --instance-group-zone=us-west1-a \
      --region=us-west1
    
  4. Buat peta URL dengan perintah gcloud compute url-maps create.

    gcloud compute url-maps create regional-l7-xlb-map \
      --default-service=l7-xlb-backend-service \
      --region=us-west1
    
  5. Buat proxy target.

    Untuk HTTP:

    Untuk load balancer HTTP, buat proxy target dengan perintah gcloud compute target-http-proxies create.

    gcloud compute target-http-proxies create l7-xlb-proxy \
      --url-map=regional-l7-xlb-map \
      --url-map-region=us-west1 \
      --region=us-west1
    

    Untuk HTTPS:

    Anda dapat membuat sertifikat Compute Engine atau Certificate Manager. Gunakan salah satu metode berikut untuk membuat sertifikat menggunakan Pengelola Sertifikat:

    • Sertifikat yang dikelola sendiri secara regional. Untuk informasi tentang cara membuat dan menggunakan sertifikat yang dikelola sendiri secara regional, lihat men-deploy sertifikat yang dikelola sendiri secara regional. Peta sertifikat tidak didukung.

    • Sertifikat regional yang dikelola Google. Peta sertifikat tidak didukung.

      Jenis sertifikat regional yang dikelola Google berikut didukung oleh Pengelola Sertifikat:

    • Setelah membuat sertifikat, lampirkan sertifikat langsung ke proxy target.

      1. Menetapkan jalur file ke nama variabel.

        export LB_CERT=path to PEM-formatted file
        
        export LB_PRIVATE_KEY=path to PEM-formatted file
        
      2. Buat sertifikat SSL regional menggunakan perintah gcloud compute ssl-certificates create.

        gcloud compute ssl-certificates create l7-xlb-cert \
         --certificate=$LB_CERT \
         --private-key=$LB_PRIVATE_KEY \
         --region=us-west1
        
      3. Gunakan sertifikat SSL regional untuk membuat proxy target dengan perintah gcloud compute target-https-proxies create.

        gcloud compute target-https-proxies create l7-xlb-proxy \
         --url-map=regional-l7-xlb-map \
         --region=us-west1 \
         --ssl-certificates=l7-xlb-cert
        
    • Membuat aturan penerusan.

      Untuk HTTP:

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

      gcloud compute forwarding-rules create l7-xlb-forwarding-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --network=lb-network \
        --address=ADDRESS_NAME \
        --ports=80 \
        --region=us-west1 \
        --target-http-proxy=l7-xlb-proxy \
        --target-http-proxy-region=us-west1
      

      Untuk HTTPS:

      Buat aturan penerusan dengan perintah gcloud compute forwarding-rules create dengan flag yang benar.

      gcloud compute forwarding-rules create l7-xlb-forwarding-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=STANDARD \
        --network=lb-network \
        --address=ADDRESS_NAME \
        --ports=443 \
        --region=us-west1 \
        --target-https-proxy=l7-xlb-proxy \
        --target-https-proxy-region=us-west1
      

Terraform

Untuk membuat health check, gunakan resource google_compute_region_health_check.

resource "google_compute_region_health_check" "default" {
  name               = "l7-xlb-basic-check"
  check_interval_sec = 5
  healthy_threshold  = 2
  http_health_check {
    port_specification = "USE_SERVING_PORT"
    proxy_header       = "NONE"
    request_path       = "/"
  }
  region              = "us-west1"
  timeout_sec         = 5
  unhealthy_threshold = 2
}

Untuk membuat layanan backend, gunakan resource google_compute_region_backend_service.

resource "google_compute_region_backend_service" "default" {
  name                  = "l7-xlb-backend-service"
  region                = "us-west1"
  load_balancing_scheme = "EXTERNAL_MANAGED"
  health_checks         = [google_compute_region_health_check.default.id]
  protocol              = "HTTP"
  session_affinity      = "NONE"
  timeout_sec           = 30
  backend {
    group           = google_compute_instance_group_manager.default.instance_group
    balancing_mode  = "UTILIZATION"
    capacity_scaler = 1.0
  }
}

Untuk membuat peta URL, gunakan resource google_compute_region_url_map.

resource "google_compute_region_url_map" "default" {
  name            = "regional-l7-xlb-map"
  region          = "us-west1"
  default_service = google_compute_region_backend_service.default.id
}

Untuk membuat proxy HTTP target, gunakan resource google_compute_region_target_http_proxy.

resource "google_compute_region_target_http_proxy" "default" {
  name    = "l7-xlb-proxy"
  region  = "us-west1"
  url_map = google_compute_region_url_map.default.id
}

Untuk membuat aturan penerusan, gunakan resource google_compute_forwarding_rule.

resource "google_compute_forwarding_rule" "default" {
  name       = "l7-xlb-forwarding-rule"
  provider   = google-beta
  depends_on = [google_compute_subnetwork.proxy_only]
  region     = "us-west1"

  ip_protocol           = "TCP"
  load_balancing_scheme = "EXTERNAL_MANAGED"
  port_range            = "80"
  target                = google_compute_region_target_http_proxy.default.id
  network               = google_compute_network.default.id
  ip_address            = google_compute_address.default.id
  network_tier          = "STANDARD"
}

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

API

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

POST https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/regions/{region}/healthChecks
{
  "name": "l7-xlb-basic-check",
  "type": "HTTP",
  "httpHealthCheck": {
    "portSpecification": "USE_SERVING_PORT"
  }
}

Buat layanan backend regional dengan membuat permintaan POST ke metode regionBackendServices.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/regions/us-west1/backendServices
{
  "name": "l7-xlb-backend-service",
  "backends": [
    {
      "group": "projects/<var>PROJECT_ID</var>/zones/us-west1-a/instanceGroups/l7-xlb-backend-example",
      "balancingMode": "UTILIZATION"
    }
  ],
  "healthChecks": [
    "projects/<var>PROJECT_ID</var>/regions/us-west1/healthChecks/l7-xlb-basic-check"
  ],
  "loadBalancingScheme": "EXTERNAL_MANAGED"
}

Buat peta URL dengan membuat permintaan POST ke metode regionUrlMaps.insert, dengan mengganti PROJECT_ID dengan project ID Anda.

POST https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/regions/us-west1/urlMaps
{
  "name": "regional-l7-xlb-map",
  "defaultService": "projects/<var>PROJECT_ID</var>/regions/us-west1/backendServices/l7-xlb-backend-service"
}

Buat proxy HTTP target dengan membuat permintaan POST ke metode regionTargetHttpProxies.insert, dengan mengganti PROJECT_ID dengan ID project Anda.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/targetHttpProxy
{
  "name": "l7-xlb-proxy",
  "urlMap": "projects/PROJECT_ID/global/urlMaps/regional-l7-xlb-map",
  "region": "us-west1"
}

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules
{
  "name": "l7-xlb-forwarding-rule",
  "IPAddress": "10.1.2.99",
  "IPProtocol": "TCP",
  "portRange": "80-80",
  "target": "projects/PROJECT_ID/regions/us-west1/targetHttpProxies/l7-xlb-proxy",
  "loadBalancingScheme": "EXTERNAL_MANAGED",
  "network": "projects/PROJECT_ID/global/networks/lb-network",
  "networkTier": "STANDARD",
}

Menghubungkan domain ke load balancer

Setelah load balancer dibuat, catat alamat IP yang terkait dengan load balancer, misalnya, 30.90.80.100. Untuk mengarahkan domain ke load balancer, buat data A menggunakan layanan pendaftaran domain. Jika Anda menambahkan beberapa domain ke sertifikat SSL, Anda harus menambahkan data A untuk setiap domain, yang semuanya mengarah ke alamat IP load balancer. Misalnya, untuk membuat data A bagi www.example.com dan example.com, gunakan string berikut:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Menambahkan, mengubah, dan menghapus data.

Menguji load balancer

Setelah layanan load balancing berjalan, Anda dapat mengirim traffic ke aturan penerusan dan melihat traffic tersebut disebar ke berbagai instance.

Konsol

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

    Buka Load balancing

  2. Pilih load balancer yang baru saja Anda buat.
  3. Di bagian Backend, konfirmasi bahwa VM responsif. Kolom Healthy harus diisi, yang menunjukkan bahwa kedua VM responsif (2/2). Jika Anda melihat sebaliknya, coba muat ulang halaman terlebih dahulu. Diperlukan waktu beberapa saat hingga konsol Google Cloud menunjukkan bahwa VM tersebut responsif. Jika backend tidak terlihat sehat setelah beberapa menit, tinjau konfigurasi firewall dan tag jaringan yang ditetapkan ke VM backend Anda.
  4. Setelah Konsol Google Cloud menunjukkan bahwa instance backend berfungsi dengan baik, Anda dapat menguji load balancer menggunakan browser web dengan membuka https://IP_ADDRESS (atau http://IP_ADDRESS). Ganti IP_ADDRESS dengan alamat IP load balancer.
  5. Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menguji HTTPS, browser akan menampilkan peringatan. Anda harus secara eksplisit memerintahkan browser untuk menerima sertifikat yang ditandatangani sendiri.
  6. Browser akan merender halaman berisi konten yang menampilkan nama instance yang menampilkan halaman tersebut, bersama dengan zonanya (misalnya, Page served from: lb-backend-example-xxxx). Jika browser Anda tidak merender halaman ini, tinjau setelan konfigurasi dalam panduan ini.

gcloud

Perhatikan alamat IPv4 yang dicadangkan:

gcloud beta compute addresses describe ADDRESS_NAME \
    --format="get(address)" \
    --region="us-west1"

Anda dapat menguji load balancer menggunakan browser web dengan membuka https://IP_ADDRESS (atau http://IP_ADDRESS). Ganti IP_ADDRESS dengan alamat IP load balancer.

Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menguji HTTPS, browser akan menampilkan peringatan. Anda harus secara eksplisit memerintahkan browser untuk menerima sertifikat yang ditandatangani sendiri.

Browser Anda akan merender halaman dengan informasi minimal tentang instance backend. Jika browser Anda tidak merender halaman ini, tinjau setelan konfigurasi dalam panduan ini.

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.

Mengaktifkan afinitas sesi

Prosedur ini menunjukkan cara mengupdate layanan backend untuk contoh Application Load Balancer eksternal regional sehingga layanan backend menggunakan afinitas cookie yang dihasilkan, afinitas kolom header, atau afinitas cookie HTTP.

Jika afinitas cookie yang dihasilkan diaktifkan, load balancer akan mengeluarkan cookie pada permintaan pertama. Untuk setiap permintaan berikutnya dengan cookie yang sama, load balancer akan mengarahkan permintaan ke VM atau endpoint backend yang sama. Untuk Load Balancer Aplikasi eksternal regional, cookie diberi nama GCILB.

Jika afinitas kolom header diaktifkan, load balancer akan merutekan permintaan ke VM atau endpoint backend di NEG berdasarkan nilai header HTTP yang diberi nama di tanda --custom-request-header. Afinitas kolom header hanya valid jika kebijakan lokalitas load balancing adalah RING_HASH atau MAGLEV dan hash konsisten layanan backend menentukan nama header HTTP.

Jika afinitas cookie HTTP diaktifkan, load balancer akan merutekan permintaan ke VM atau endpoint backend dalam NEG, berdasarkan cookie HTTP yang diberi nama dalam tanda HTTP_COOKIE dengan tanda --affinity-cookie-ttl opsional. Jika klien tidak memberikan cookie dalam permintaan HTTP-nya, proxy akan membuat cookie dan menampilkannya kepada klien dalam header Set-Cookie. Afinitas cookie HTTP hanya valid jika kebijakan lokalitas load balancing adalah RING_HASH atau MAGLEV dan hash konsisten layanan backend menentukan cookie HTTP.

Konsol

Untuk mengaktifkan atau mengubah afinitas sesi untuk layanan backend:

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

    Buka Load balancing

  2. Pilih load balancer yang baru saja Anda buat.

  3. Klik Backend.

  4. Klik l7-xlb-backend-service (nama layanan backend yang Anda buat untuk contoh ini) dan klik Edit.

  5. Di halaman Detail layanan backend, klik Konfigurasi lanjutan.

  6. Untuk Afinitas sesi, pilih jenis afinitas sesi yang Anda inginkan dari menu.

  7. Klik Perbarui.

gcloud

Gunakan perintah berikut untuk mengupdate layanan backend l7-xlb-backend-service ke berbagai jenis afinitas sesi:

gcloud compute backend-services update l7-xlb-backend-service \
    --session-affinity=GENERATED_COOKIE | HEADER_FIELD | HTTP_COOKIE | CLIENT_IP
    --region=us-west1

API

Untuk menetapkan afinitas sesi, buat permintaan PATCH ke metode regionBackendServices/patch.

PATCH https://compute.googleapis.com/compute/v1/projects/<var>PROJECT_ID</var>/regions/us-west1/regionBackendServices/l7-xlb-backend-service
{
  "sessionAffinity": <var>"GENERATED_COOKIE" | "HEADER_FIELD" | "HTTP_COOKIE" | "CLIENT_IP"</var>
}

Memperbarui waktu tunggu keepalive HTTP klien

Load balancer yang dibuat pada langkah sebelumnya telah dikonfigurasi dengan nilai default untuk waktu tunggu keepalive HTTP klien.

Untuk memperbarui waktu tunggu keepalive HTTP klien, gunakan petunjuk berikut.

Konsol

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

    Buka Load balancing.

  2. Klik nama load balancer yang ingin diubah.
  3. Klik Edit.
  4. Klik Frontend configuration.
  5. Luaskan Fitur lanjutan. Untuk Timeout keepalive HTTP, masukkan nilai waktu tunggu.
  6. Klik Perbarui.
  7. Untuk meninjau perubahan, klik Tinjau dan selesaikan, lalu klik Perbarui.

gcloud

Untuk load balancer HTTP, perbarui proxy HTTP target menggunakan perintah gcloud compute target-http-proxies update.

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region=REGION
      

Untuk load balancer HTTPS, perbarui proxy HTTPS target menggunakan perintah gcloud compute target-https-proxies update.

      gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
         --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
         --region REGION
      

Ganti kode berikut:

  • TARGET_HTTP_PROXY_NAME: nama proxy HTTP target.
  • TARGET_HTTPS_PROXY_NAME: nama proxy HTTPS target.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: nilai waktu tunggu keepalive HTTP dari 5 hingga 600 detik.

Mengaktifkan IAP di Load Balancer Aplikasi eksternal

Anda dapat mengonfigurasi IAP agar diaktifkan atau dinonaktifkan (default). Jika diaktifkan, Anda harus memberikan nilai untuk oauth2-client-id dan oauth2-client-secret.

Untuk mengaktifkan IAP, perbarui layanan backend agar menyertakan flag --iap=enabled dengan oauth2-client-id dan oauth2-client-secret.

Secara opsional, Anda dapat mengaktifkan IAP untuk resource Compute Engine menggunakan konsol Google Cloud, gcloud CLI, atau API.

Langkah selanjutnya