Menyiapkan Load Balancer Aplikasi internal lintas region dengan Cloud Run

Dokumen ini menunjukkan cara men-deploy Load Balancer Aplikasi internal lintas region dengan Cloud Run. Untuk menyiapkannya, gunakan backend NEGless Server untuk load balancer.

NEG Tanpa Server memungkinkan Anda menggunakan layanan Cloud Run dengan load balancer. Setelah Anda mengonfigurasi load balancer dengan backend NEG serverless, permintaan ke load balancer akan dirutekan ke backend Cloud Run.

Load balancing lintas regional menyediakan redundansi, sehingga jika suatu region tidak dapat dijangkau, traffic akan otomatis dialihkan ke region lain. Berdasarkan lokasi Envoy, traffic proxy didistribusikan ke layanan Cloud Run sebagai berikut:

  • Jika layanan Cloud Run multi-region dikonfigurasi di region yang sama dengan Envoy, NEG yang terletak di region yang sama dengan Envoy lebih disarankan. Traffic dikirim ke region failover hanya jika deteksi pencilan diaktifkan dan NEG lokal tidak responsif.
  • Jika layanan Cloud Run multi-region tidak dikonfigurasi di region yang sama dengan Envoy, traffic akan didistribusikan secara merata di semua NEG. NEG yang berlokasi lebih dekat tidak disarankan.
  • Jika Identity-Aware Proxy diaktifkan, hanya satu NEG serverless yang didukung. Namun, Anda dapat mengonfigurasi layanan Cloud Run tambahan, tetapi load balancer tidak mengirim traffic apa pun ke layanan tersebut.

Sebelum memulai

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

Men-deploy layanan Cloud Run

Petunjuk di halaman ini mengasumsikan bahwa Anda sudah menjalankan layanan Cloud Run.

Pada contoh di halaman ini, Anda dapat menggunakan panduan memulai Cloud Run untuk men-deploy layanan Cloud Run.

Untuk mencegah akses ke layanan Cloud Run dari internet, batasi traffic masuk ke internal. Traffic dari Load Balancer Aplikasi internal dianggap sebagai traffic internal.

Menempatkan layanan Cloud Run di beberapa region akan membantu mencegah kegagalan di satu region. Untuk men-deploy layanan Cloud Run di region REGION_A dan REGION_B, jalankan perintah berikut:

gcloud

gcloud run deploy CLOUD_RUN_SERVICE_NAMEA \
   --platform=managed \
   --allow-unauthenticated \
   --ingress=internal \
   --region=REGION_A \
   --image=IMAGE_URLA
gcloud run deploy CLOUD_RUN_SERVICE_NAMEB \
   --platform=managed \
   --allow-unauthenticated \
   --ingress=internal \
   --region=REGION_B \
   --image=IMAGE_URLB

Catat nama layanan yang Anda buat. Bagian selanjutnya dari halaman ini akan menunjukkan cara menyiapkan load balancer yang mengarahkan permintaan ke layanan ini.

Menyiapkan resource sertifikat SSL

Buat resource sertifikat SSL Pengelola Sertifikat sebagai berikut:

Sebaiknya gunakan sertifikat yang dikelola Google.

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 Aplikasi internal lintas region seperti yang dijelaskan dalam diagram berikut:

Load Balancer Aplikasi internal lintas region dengan deployment Cloud Run.
Load Balancer Aplikasi internal lintas region dengan deployment Cloud Run (klik untuk memperbesar).

Seperti yang ditunjukkan dalam diagram, contoh ini membuat Load Balancer Aplikasi internal lintas region di jaringan VPC, dengan satu layanan backend dan dua deployment Cloud Run di region REGION_A dan REGION_B.

Penyiapan Load Balancer Aplikasi internal lintas region dijelaskan sebagai 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 Aplikasi internal lintas region. Subnet khusus proxy region digunakan bersama oleh semua Load Balancer Aplikasi 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_A memiliki rentang alamat IP utama 10.129.0.0/23 dan untuk REGION_B memiliki rentang alamat IP utama 10.130.0.0/23 yang merupakan ukuran subnet yang direkomendasikan.

  2. Aturan firewall yang mengizinkan aliran traffic subnet khusus proxy di jaringan Anda. Artinya, menambahkan satu aturan yang mengizinkan traffic port TCP 80, 443, dan 8080 dari 10.129.0.0/23 dan 10.130.0.0/23 (rentang subnet khusus proxy pada contoh ini).

  3. Aturan firewall lain untuk pemeriksaan health check.

  4. Penyiapan ketersediaan tinggi yang memiliki backend serverless untuk deployment Cloud Run di region REGION_A dan REGION_B. Jika backend di satu region mengalami gangguan, traffic akan gagal ke region lain.

  5. Layanan backend global yang memantau penggunaan dan kondisi backend. Pastikan Anda mengaktifkan deteksi pencilan di layanan backend.

  6. Peta URL global yang mengurai URL permintaan dan meneruskan permintaan ke layanan backend tertentu berdasarkan host dan jalur URL permintaan.

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

  8. Aturan penerusan global, yang memiliki alamat IP internal load balancer Anda, untuk meneruskan setiap permintaan masuk ke proxy target.

    Alamat IP internal yang terkait dengan aturan penerusan dapat berasal dari subnet mana pun di jaringan dan region yang sama. 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 tanda --purpose alamat IP ke SHARED_LOADBALANCER_VIP.
  9. Opsional: Konfigurasi kebijakan perutean DNS jenis GEO untuk merutekan traffic klien ke VIP load balancer di region yang paling dekat dengan klien.

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_A 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
    

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/NETWORK",
 "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 ini mengakhiri koneksi dari klien dan membuat koneksi 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 Subnets, klik Add subnet.
  4. Berikan Nama untuk subnet khusus proxy.
  5. Dalam daftar Region, pilih 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. Klik Tambahkan subnet.
  2. Berikan Nama untuk subnet khusus proxy.
  3. Dalam daftar Region, pilih 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
    

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"
    }
   

Membuat NEG serverless

  1. Buat NEG serverless untuk layanan Cloud Run Anda:

    gcloud compute network-endpoint-groups create gl7ilb-serverless-neg-a \
       --region=REGION_A \
       --network-endpoint-type=serverless  \
       --cloud-run-service=CLOUD_RUN_SERVICE_NAMEA
    
    gcloud compute network-endpoint-groups create gl7ilb-serverless-neg-b \
       --region=REGION_B \
       --network-endpoint-type=serverless  \
       --cloud-run-service=CLOUD_RUN_SERVICE_NAMEB
    

Mengonfigurasi load balancer

Traffic yang menuju dari load balancer ke backend NEG serverless menggunakan rute khusus yang ditentukan di luar VPC Anda yang tidak tunduk pada aturan firewall. Oleh karena itu, jika load balancer hanya memiliki backend NEG serverless, Anda tidak perlu membuat aturan firewall untuk mengizinkan traffic dari subnet khusus proxy ke backend serverless.

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 Application Load Balancer (HTTP/HTTPS) lalu klik Next.
  4. Untuk Terhadap publik atau internal, pilih Internal, lalu klik Berikutnya.
  5. Untuk Cross-region or single region deployment, pilih Best for cross-region working, lalu klik Next.
  6. Klik Konfigurasikan.

Konfigurasi dasar

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

Mengonfigurasi frontend dengan dua aturan penerusan

Untuk HTTP:

  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.

Untuk HTTPS:

Jika menggunakan HTTPS antara klien dan load balancer, Anda memerlukan satu atau beberapa resource sertifikat SSL untuk mengonfigurasi proxy. Untuk membuat sertifikat all-regions yang dikelola Google, lihat dokumentasi berikut:

Setelah Anda membuat sertifikat yang dikelola Google, lampirkan sertifikat secara langsung ke proxy target. Peta sertifikat tidak didukung oleh Load Balancer Aplikasi internal lintas region.

Untuk membuat sertifikat all-regions yang dikelola sendiri, lihat dokumentasi berikut: Men-deploy sertifikat regional yang dikelola sendiri.

  1. Klik Frontend configuration.
    1. Berikan Nama aturan penerusan.
    2. Pada kolom Protocol, pilih HTTPS (includes HTTP/2).
    3. Pastikan Port disetel ke 443.
    4. Dalam daftar Subnetwork region, pilih REGION_A.

      Mencadangkan subnet khusus proxy

    5. Dalam daftar Subnetwork, pilih SUBNET_A.
    6. 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.
    7. Di bagian Add certificate, pilih sertifikat.
    8. Opsional: Untuk menambahkan sertifikat selain sertifikat SSL utama:
      1. Klik Add certificate.
      2. Pilih sertifikat dari daftar.
    9. Pilih kebijakan SSL dari daftar Kebijakan SSL. Jika Anda belum membuat kebijakan SSL, kebijakan SSL Google Cloud default akan diterapkan.
    10. Klik Done.

    Tambahkan konfigurasi frontend kedua:

    1. Berikan Name untuk konfigurasi frontend.
    2. Pada kolom Protocol, pilih HTTPS (includes HTTP/2).
    3. Pastikan Port disetel ke 443.
    4. Dalam daftar Subnetwork region, pilih REGION_B.

      Mencadangkan subnet khusus proxy

    5. Dalam daftar Subnetwork, pilih SUBNET_B.
    6. 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.
    7. Di bagian Add certificate, pilih sertifikat.
    8. Opsional: Untuk menambahkan sertifikat selain sertifikat SSL utama:
      1. Klik Add certificate.
      2. Pilih sertifikat dari daftar.
    9. Pilih kebijakan SSL dari daftar Kebijakan SSL. Jika Anda belum membuat kebijakan SSL, kebijakan SSL Google Cloud default akan diterapkan.
    10. 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 HTTP.
    5. Untuk Port Bernama, masukkan http.
    6. Dalam daftar Backend type, pilih Serverless network endpoint group.
    7. Di bagian New backend:
      • Dalam daftar Serverless network endpoint group, pilih gl7ilb-serverless-neg-a.
      • Klik Done.
      • Untuk menambahkan backend lain, klik Add backend.
      • Dalam daftar Serverless network endpoint group, pilih gl7ilb-serverless-neg-b.
      • Klik Done.

    Mengonfigurasi aturan pemilihan rute

    1. Klik Routing rules.
    2. Untuk Mode, pilih Simple host and path rule.
    3. Pastikan hanya ada satu layanan backend untuk host yang tidak cocok dan jalur yang tidak cocok.

    Meninjau konfigurasi

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

gcloud

  1. Tentukan layanan backend dengan perintah gcloud compute backend-services create.

    gcloud compute backend-services create gil7-backend-service \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --global
    
  2. Tambahkan backend ke layanan backend dengan perintah gcloud compute backend-services add-backend.

    gcloud compute backend-services add-backend gil7-backend-service \
      --network-endpoint-group=gl7ilb-serverless-neg-a \
      --network-endpoint-group-region=REGION_A \
      --global
    
    gcloud compute backend-services add-backend gil7-backend-service \
      --network-endpoint-group=gl7ilb-serverless-neg-b \
      --network-endpoint-group-region=REGION_B \
      --global
    
  3. Buat peta URL dengan perintah gcloud compute url-maps create.

    gcloud compute url-maps create gil7-map \
      --default-service=gil7-backend-service \
      --global
    
  4. Buat proxy target.

    Untuk HTTP:

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

    gcloud compute target-http-proxies create gil7-http-proxy \
      --url-map=gil7-map \
      --global
    

    Untuk HTTPS:

    Untuk membuat sertifikat yang dikelola Google, lihat dokumentasi berikut:

    Setelah Anda membuat sertifikat yang dikelola Google, lampirkan sertifikat secara langsung ke proxy target. Peta sertifikat tidak didukung oleh Load Balancer Aplikasi internal lintas region.

    Untuk membuat sertifikat yang dikelola sendiri, lihat dokumentasi berikut:

    Tetapkan jalur file Anda ke nama variabel.

    export LB_CERT=PATH_TO_PEM_FORMATTED_FILE
    
    export LB_PRIVATE_KEY=PATH_TO_LB_PRIVATE_KEY_FILE
    

    Buat sertifikat SSL semua region menggunakan perintah gcloud certificate-manager certificates create.

    gcloud certificate-manager certificates create gilb-certificate \
      --private-key-file=$LB_CERT \
      --certificate-file=$LB_PRIVATE_KEY \
      –-scope=all-regions
    

    Gunakan sertifikat SSL untuk membuat proxy target dengan perintah gcloud compute target-https-proxies create

    gcloud compute target-https-proxies create gil7-https-proxy \
      --url-map=gil7-map \
      --certificate-manager-certificates=gilb-certificate
    
  5. Buat dua aturan penerusan: satu dengan VIP (10.1.2.99) di region REGION_B dan satu lagi dengan VIP (10.1.3.99) di region REGION_A.

    Untuk jaringan kustom, Anda harus mereferensikan subnet dalam aturan penerusan. Perhatikan bahwa ini adalah subnet instance virtual machine (VM), bukan subnet proxy.

    Untuk HTTP:

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

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

    Untuk HTTPS:

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

    gcloud compute forwarding-rules create gil7-forwarding-rule-a \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=NETWORK \
      --subnet=SUBNET_B \
      --address=10.1.3.99 \
      --ports=443 \
      --target-https-proxy=gil7-https-proxy \
      --global
    
    gcloud compute forwarding-rules create gil7-forwarding-rule-b \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=NETWORK \
      --subnet=SUBNET_A \
      --address=10.1.2.99 \
      --ports=443 \
      --target-https-proxy=gil7-https-proxy \
      --global
    

API

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": "gil7-backend-service",
"backends": [
  {
    "group": "projects/PROJECT_ID/zones/ZONE_A/instanceGroups/gl7ilb_serverless_negwest",
    "balancingMode": "UTILIZATION"
  },
  {
    "group": "projects/PROJECT_ID/zones/ZONE_B/instanceGroups/gl7ilb_serverless_negeast",
  }
],
"loadBalancingScheme": "INTERNAL_MANAGED"
}

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

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

{
"name": "l7-ilb-map",
"defaultService": "projects/PROJECT_ID/global/backendServices/gil7-backend-service"
}

Untuk HTTP:

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

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

{
"name": "l7-ilb-proxy",
"urlMap": "projects/PROJECT_ID/global/urlMaps/l7-ilb-map"
}

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": "gil7-forwarding-rule-a",
"IPAddress": "10.1.2.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetHttpProxies/l7-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": "gil7-forwarding-rule-b",
"IPAddress": "10.1.3.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetHttpProxies/l7-ilb-proxy",
"loadBalancingScheme": "INTERNAL_MANAGED",
"subnetwork": "projects/PROJECT_ID/regions/REGION_B/subnetworks/SUBNET_B",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"networkTier": "PREMIUM"
}

Untuk HTTPS:

Baca file sertifikat dan kunci pribadi, lalu buat sertifikat SSL. Contoh berikut menunjukkan cara melakukannya dengan Python.

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

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

{
"name": "l7-ilb-proxy",
"urlMap": "projects/PROJECT_ID/global/urlMaps/l7-ilb-map",
"sslCertificates": /projects/PROJECT_ID/global/sslCertificates/SSL_CERT_NAME
}

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": "gil7-forwarding-rule-a",
"IPAddress": "10.1.2.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetHttpsProxies/l7-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": "gil7-forwarding-rule-b",
"IPAddress": "10.1.3.99",
"IPProtocol": "TCP",
"portRange": "80-80",
"target": "projects/PROJECT_ID/global/targetHttpsProxies/l7-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

Setelah layanan load balancing berjalan, Anda dapat mengirimkan traffic ke aturan penerusan dan mengamati traffic yang tersebar ke berbagai instance.

Konfigurasikan aturan firewall

Contoh ini memerlukan aturan firewall fw-allow-ssh untuk VM klien pengujian. fw-allow-ssh adalah aturan masuk yang berlaku untuk VM klien pengujian dan yang mengizinkan konektivitas SSH yang masuk pada 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.

gcloud

  1. Buat aturan firewall fw-allow-ssh 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-allow-ssh \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Buat instance VM untuk menguji konektivitas

  1. Buat VM klien:

    gcloud compute instances create l7-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 l7-ilb-client-b \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --network=NETWORK \
        --subnet=SUBNET_B \
        --zone=ZONE_B \
        --tags=allow-ssh
    
  2. Hubungkan ke setiap instance klien menggunakan SSH.

    gcloud compute ssh l7-ilb-client-a \
       --zone=ZONE_A
    
    gcloud compute ssh l7-ilb-client-b \
       --zone=ZONE_B
    
  3. Pastikan alamat IP menampilkan nama host.

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

      curl 10.1.2.99
      
      curl 10.1.3.99
      

      Untuk pengujian HTTPS, ganti curl dengan:

      curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:10.1.2.99:443
      
      curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:10.1.3.99:443
      

      Flag -k menyebabkan curl melewati validasi sertifikat.

    • Opsional: Gunakan data DNS yang dikonfigurasi untuk me-resolve alamat IP.

      curl service.example.com
      

Jalankan 100 permintaan dan konfirmasi bahwa permintaan tersebut mengalami load balancing

Untuk HTTP:

  {
    RESULTS=
    for i in {1..100}
    do
      RESULTS="$RESULTS:$(curl --silent 10.1.2.99)"
    done
    echo ""
    echo " Results of load-balancing to 10.1.2.99: "
    echo "***"
    echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c
    echo
  }
  

  {
    RESULTS=
    for i in {1..100}
    do
      RESULTS="$RESULTS:$(curl --silent 10.1.3.99)"
    done
    echo ""
    echo " Results of load-balancing to 10.1.3.99: "
    echo "***"
    echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c
    echo
  }
  

Untuk HTTPS:

  {
    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.2.99:443)"
    done
    echo ""
    echo " Results of load-balancing to 10.1.2.99: "
    echo "***"
    echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c
    echo
  }
  

  {
    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
  }
  

Menguji failover

  1. Verifikasi failover ke backend di region REGION_A saat backend di region REGION_B tidak responsif atau tidak dapat dijangkau. Kami menyimulasikan hal ini dengan menghapus semua backend dari REGION_B:

    gcloud compute backend-services remove-backend gil7-backend-service \
       --network-endpoint-group=gl7ilb-serverless-neg-b \
       --network-endpoint-group-zone=ZONE_B
    
  2. Hubungkan ke VM klien di REGION_B menggunakan SSH.

    gcloud compute ssh l7-ilb-client-b \
       --zone=ZONE_B
    
  3. Kirim permintaan ke alamat IP 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.

Menggunakan mask URL

Saat membuat NEG serverless, daripada memilih layanan Cloud Run tertentu, Anda dapat menggunakan URL mask untuk mengarah ke beberapa layanan yang dilayani di domain yang sama. Masker URL adalah template skema URL. NEG serverless menggunakan template ini untuk mengekstrak nama layanan dari URL permintaan masuk dan memetakan permintaan ke layanan yang sesuai.

Masker URL sangat berguna jika layanan Anda dipetakan ke domain kustom, bukan ke alamat default yang disediakan Google Cloud untuk layanan yang di-deploy. Masker URL memungkinkan Anda menargetkan beberapa layanan dan versi dengan satu aturan meskipun aplikasi Anda menggunakan pola URL kustom.

Jika Anda belum melakukannya, pastikan Anda membaca Ringkasan NEG Tanpa Server: URL Mask.

Membuat mask URL

Untuk membuat mask URL bagi load balancer, mulailah dengan URL layanan Anda. Contoh ini menggunakan contoh aplikasi serverless yang berjalan di https://example.com/login. Ini adalah URL tempat layanan login aplikasi disajikan.

  1. Hapus http atau https dari URL. Anda memiliki example.com/login.
  2. Ganti nama layanan dengan placeholder untuk URL mask.
    • Cloud Run: Ganti nama layanan Cloud Run dengan placeholder <service>. Jika layanan Cloud Run memiliki tag yang terkait dengannya, ganti nama tag dengan placeholder <tag>. Dalam contoh ini, mask URL yang Anda miliki adalah example.com/<service>.
  3. Opsional: Jika nama layanan dapat diekstrak dari bagian jalur URL, domain tersebut dapat dihilangkan. Bagian jalur mask URL dibedakan dengan karakter garis miring pertama (/). Jika tidak ada garis miring (/) dalam mask URL, mask akan dianggap mewakili host saja. Oleh karena itu, untuk contoh ini, mask URL dapat dikurangi menjadi /<service>.

    Demikian pula, jika <service> dapat diekstrak dari bagian host URL, Anda dapat menghilangkan jalur sepenuhnya dari mask URL.

    Anda juga dapat menghilangkan komponen host atau subdomain yang muncul sebelum placeholder pertama dan komponen jalur apa pun yang muncul setelah placeholder terakhir. Dalam kasus tersebut, placeholder mencatat informasi yang diperlukan untuk komponen.

Berikut adalah beberapa contoh lain yang menunjukkan aturan tersebut:

Tabel ini mengasumsikan bahwa Anda memiliki domain kustom bernama example.com dan semua layanan Cloud Run Anda sedang dipetakan ke domain ini.

Layanan, Nama tag URL domain kustom Cloud Run Masker URL
layanan: login https://login-home.example.com/web <layanan>-home.example.com
layanan: login https://example.com/login/web example.com/<service> atau /<service>
service: login, tag: uji https://test.login.example.com/web <tag>.<layanan>.example.com
service: login, tag: uji https://example.com/home/login/test example.com/home/<service>/<tag> atau /home/<service>/<tag>
service: login, tag: uji https://test.example.com/home/login/web <tag>.example.com/home/<layanan>

Membuat NEG serverless dengan mask URL

Konsol

Untuk load balancer baru, Anda dapat menggunakan proses menyeluruh yang sama seperti yang dijelaskan sebelumnya dalam dokumen ini. Saat mengonfigurasi layanan backend, masukkan mask URL, bukan memilih layanan tertentu.

Jika sudah memiliki load balancer, Anda dapat mengedit konfigurasi backend dan mengarahkan NEG serverless ke URL mask, bukan layanan tertentu.

Untuk menambahkan NEG serverless berbasis mask URL ke layanan backend yang ada, lakukan hal berikut:

  1. Di Konsol Google Cloud, buka halaman Load balancing.
    Buka Load balancing
  2. Klik nama load balancer yang memiliki layanan backend yang ingin diedit.
  3. Di halaman Load balancer details, klik Edit.
  4. Di halaman Edit global external Application Load Balancer, klik Backend configuration.
  5. Di halaman Backend configuration, klik Edit untuk layanan backend yang ingin diubah.
  6. Klik Add backend.
  7. Pilih Create Serverless network endpoint group.
    1. Untuk Name, masukkan helloworld-serverless-neg.
    2. Di bagian Region, region load balancer ditampilkan.
    3. Pada bagian Serverless network endpoint group type, Cloud Run adalah satu-satunya jenis grup endpoint jaringan yang didukung.
      1. Pilih Gunakan Masker URL.
      2. Masukkan mask URL. Untuk informasi tentang cara membuat mask URL, lihat Membuat mask URL.
      3. Klik Create.

  8. Di New backend, klik Done.
  9. Klik Perbarui.

gcloud

Untuk membuat NEG serverless dengan contoh URL mask example.com/<service>:

gcloud compute network-endpoint-groups create SERVERLESS_NEG_MASK_NAME \
    --region=REGION \
    --network-endpoint-type=serverless \
    --cloud-run-url-mask="example.com/<service>"

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
Jika perlu mengalihkan traffic HTTP ke HTTPS, Anda dapat membuat dua aturan penerusan yang menggunakan alamat IP yang sama. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan pengalihan HTTP-ke-HTTPS untuk Load Balancer Aplikasi internal.

Mengonfigurasi kebijakan perutean DNS

Jika klien Anda berada di beberapa region, Anda dapat membuat Load Balancer Aplikasi internal lintas region dapat diakses menggunakan VIP di region ini. Penyiapan multi-region ini meminimalkan latensi dan biaya transit jaringan. Selain itu, Anda juga dapat menyiapkan solusi load balancing global berbasis DNS yang memberikan ketahanan terhadap pemadaman layanan regional. Untuk informasi selengkapnya, lihat Mengelola kebijakan perutean dan health check DNS.

gcloud

Untuk membuat entri DNS dengan TTL 30 detik, gunakan perintah gcloud dns record-sets create.

gcloud dns record-sets create DNS_ENTRY --ttl="30" \
  --type="A" --zone="service-zone" \
  --routing-policy-type="GEO" \
  --routing-policy-data="REGION_A=gil7-forwarding-rule-a@global;REGION_B=gil7-forwarding-rule-b@global" \
  --enable-health-checking

Ganti kode berikut:

  • DNS_ENTRY: DNS atau nama domain kumpulan data

    Contoh, service.example.com

  • REGION_A dan REGION_B: region tempat Anda mengonfigurasi load balancer

API

Buat data DNS dengan membuat permintaan POST ke metode ResourceRecordSets.create. Ganti PROJECT_ID dengan project ID Anda.

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/SERVICE_ZONE/rrsets
{
  "name": "DNS_ENTRY",
  "type": "A",
  "ttl": 30,
  "routingPolicy": {
    "geo": {
      "items": [
        {
          "location": "REGION_A",
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "globalL7ilb",
                "ipAddress": "gil7-forwarding-rule-a",
                "port": "80",
                "ipProtocol": "tcp",
                "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
                "project": "PROJECT_ID"
              }
            ]
          }
        },
        {
          "location": "REGION_B",
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "globalL7ilb",
                "ipAddress": "gil7-forwarding-rule-b",
                "port": "80",
                "ipProtocol": "tcp",
                "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network",
                "project": "PROJECT_ID"
              }
            ]
          }
        }
      ]
    }
  }
}

Aktifkan deteksi pencilan

Anda dapat mengaktifkan deteksi pencilan pada layanan backend global untuk mengidentifikasi NEG serverless yang tidak responsif dan mengurangi jumlah permintaan yang dikirim ke NEG serverless yang tidak responsif.

Deteksi pencilan diaktifkan di layanan backend dengan menggunakan salah satu metode berikut:

  • Metode consecutiveErrors (outlierDetection.consecutiveErrors), saat kode status HTTP seri 5xx memenuhi syarat sebagai error.
  • Metode consecutiveGatewayFailure (outlierDetection.consecutiveGatewayFailure), yang hanya menggunakan kode status HTTP 502, 503, dan 504 yang memenuhi syarat sebagai error.

Gunakan langkah-langkah berikut untuk mengaktifkan deteksi pencilan untuk layanan backend yang sudah ada. Perlu diperhatikan bahwa meskipun setelah mengaktifkan deteksi pencilan, beberapa permintaan dapat dikirim ke layanan yang tidak responsif dan menampilkan kode status 5xx ke klien. Untuk mengurangi tingkat error lebih lanjut, Anda dapat mengonfigurasi nilai yang lebih agresif untuk parameter deteksi pencilan. Untuk mengetahui informasi selengkapnya, lihat kolom outlierDetection.

Konsol

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

    Buka Load balancing

  2. Klik nama load balancer yang layanan backend-nya ingin Anda edit.

  3. Di halaman Load balancer details, klik Edit.

  4. Di halaman Edit cross-region internal Application Load Balancer, klik Backend configuration.

  5. Di halaman Backend configuration, klik Edit untuk layanan backend yang ingin diubah.

  6. Scroll ke bawah, lalu luaskan bagian Advanced configurations.

  7. Di bagian Deteksi luar, centang kotak Aktifkan.

  8. Klik Edit untuk mengonfigurasi deteksi pencilan.

    Pastikan opsi berikut dikonfigurasi dengan nilai ini:

    Properti Nilai
    Error berkelanjutan 5
    Interval 1.000
    Waktu ejeksi dasar 30000
    Persentase ejeksi maks. 50
    Menimbulkan error berturut-turut 100

    Dalam contoh ini, analisis deteksi pencilan berjalan setiap satu detik. Jika jumlah kode status 5xx HTTP berturut-turut yang diterima oleh proxy Envoy adalah lima atau lebih, endpoint backend akan dikeluarkan dari kumpulan load balancing proxy Envoy tersebut selama 30 detik. Jika persentase yang berlaku ditetapkan ke 100%, layanan backend akan menerapkan penghapusan endpoint yang tidak responsif dari kumpulan load balancing proxy Envoy spesifik tersebut setiap kali analisis deteksi pencilan berjalan. Jika kondisi pengecualian terpenuhi, hingga 50% endpoint backend dari kumpulan load balancing dapat dikeluarkan.

  9. Klik Save.

  10. Untuk mengupdate layanan backend, klik Update.

  11. Untuk mengupdate load balancer, di halaman Edit cross-region internal Application Load Balancer, klik Update.

gcloud

  1. Mengekspor layanan backend ke file YAML.

    gcloud compute backend-services export BACKEND_SERVICE_NAME \
      --destination=BACKEND_SERVICE_NAME.yaml --global
    

    Ganti BACKEND_SERVICE_NAME dengan nama layanan backend.

  2. Edit konfigurasi YAML dari layanan backend guna menambahkan kolom untuk deteksi pencilan seperti yang ditandai dalam konfigurasi YAML berikut.

    Dalam contoh ini, analisis deteksi pencilan berjalan setiap satu detik. Jika jumlah kode status 5xx HTTP berturut-turut yang diterima oleh proxy Envoy adalah lima atau lebih, endpoint backend akan dikeluarkan dari kumpulan load balancing proxy Envoy tersebut selama 30 detik. Jika persentase yang berlaku ditetapkan ke 100%, layanan backend akan menerapkan penghapusan endpoint yang tidak responsif dari kumpulan load balancing proxy Envoy spesifik tersebut setiap kali analisis deteksi pencilan berjalan. Jika kondisi pengecualian terpenuhi, hingga 50% endpoint backend dari kumpulan load balancing dapat dikeluarkan.

    name: BACKEND_SERVICE_NAME
    backends:
    - balancingMode: UTILIZATION
      capacityScaler: 1.0
      group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/networkEndpointGroups/SERVERLESS_NEG_NAME
    - balancingMode: UTILIZATION
      capacityScaler: 1.0
      group: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/networkEndpointGroups/SERVERLESS_NEG_NAME_2
    outlierDetection:
      baseEjectionTime:
        nanos: 0
        seconds: 30
      consecutiveErrors: 5
      enforcingConsecutiveErrors: 100
      interval:
        nanos: 0
        seconds: 1
      maxEjectionPercent: 50
    port: 80
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE_NAME
    sessionAffinity: NONE
    timeoutSec: 30
    ...
    

    Ganti kode berikut:

    • BACKEND_SERVICE_NAME: nama layanan backend
    • PROJECT_ID: ID project Anda
    • REGION_A dan REGION_B: region tempat load balancer dikonfigurasi.
    • SERVERLESS_NEG_NAME: nama NEG serverless pertama
    • SERVERLESS_NEG_NAME_2: nama NEG serverless kedua
  3. Update layanan backend dengan mengimpor konfigurasi terbaru.

    gcloud compute backend-services import BACKEND_SERVICE_NAME \
      --source=BACKEND_SERVICE_NAME.yaml --global
    

    Deteksi pencilan kini diaktifkan di layanan backend.

Menghapus NEG serverless

Grup endpoint jaringan tidak dapat dihapus jika dipasang ke layanan backend. Sebelum Anda menghapus NEG, pastikan NEG dilepas dari layanan backend.

Konsol

  1. Untuk memastikan NEG serverless yang ingin Anda hapus tidak digunakan oleh layanan backend mana pun, buka tab Backend services di halaman Load balancing components.
    Buka layanan Backend
  2. Jika NEG serverless sedang digunakan, lakukan hal berikut:
    1. Klik nama layanan backend yang menggunakan NEG serverless.
    2. Klik Edit.
    3. Dari daftar Backend, klik untuk menghapus backend NEG serverless dari layanan backend.
    4. Klik Save.

  3. Buka halaman Grup endpoint jaringan di Konsol Google Cloud.
    Buka Grup endpoint jaringan
  4. Pilih kotak centang untuk NEG serverless yang ingin Anda hapus.
  5. Klik Delete.
  6. Klik Delete lagi untuk mengonfirmasi.

gcloud

Untuk menghapus NEG serverless dari layanan backend, Anda harus menentukan region tempat NEG dibuat.

gcloud compute backend-services remove-backend BACKEND_SERVICE_NAME \
    --network-endpoint-group=SERVERLESS_NEG_NAME \
    --network-endpoint-group-region=REGION \
    --region=REGION

Untuk menghapus NEG serverless:

gcloud compute network-endpoint-groups delete SERVERLESS_NEG_NAME \
    --region=REGION

Langkah selanjutnya