Menyiapkan Load Balancer Aplikasi eksternal global dengan VPC Bersama

Dokumen ini menunjukkan dua contoh konfigurasi untuk menyiapkan Load Balancer Aplikasi eksternal global dengan backend grup instance VM di lingkungan VPC Bersama:

  • Pada contoh pertama, komponen frontend dan backend load balancer dibuat dalam satu project layanan.
  • Pada contoh kedua, komponen frontend dan peta URL load balancer dibuat dalam satu project layanan, sedangkan layanan backend dan backend load balancer dibuat dalam project layanan yang berbeda. Jenis deployment ini, di mana peta URL dalam satu project mereferensikan layanan backend dalam project lain, disebut sebagai referensi layanan lintas project.

Kedua contoh memerlukan konfigurasi awal yang sama untuk memberikan izin, mengonfigurasi jaringan dan subnet di project host, dan menyiapkan VPC Bersama sebelum Anda dapat mulai membuat load balancer.

Ini bukan satu-satunya konfigurasi VPC Bersama yang didukung oleh Load Balancer Aplikasi eksternal global. Untuk arsitektur VPC Bersama valid lainnya, lihat Arsitektur VPC Bersama.

Jika Anda tidak ingin menggunakan jaringan VPC Bersama, lihat Menyiapkan Load Balancer Aplikasi eksternal global dengan backend grup instance VM.

Sebelum memulai

Izin diperlukan

Penyiapan load balancer di jaringan VPC Bersama memerlukan beberapa penyiapan dan penyediaan awal oleh administrator. Setelah penyiapan awal, pemilik project layanan dapat melakukan salah satu tindakan berikut:

  • Deploy semua komponen load balancer dan backend-nya dalam project layanan.
  • Deploy komponen backend load balancer (layanan backend dan backend) di project layanan yang dapat direferensikan oleh peta URL di project layanan atau host lain.

Bagian ini merangkum izin yang diperlukan untuk mengikuti panduan ini guna menyiapkan load balancer di jaringan VPC Bersama.

Menyiapkan VPC Bersama

Peran berikut diperlukan untuk tugas berikut:

  1. Menjalankan tugas administratif satu kali seperti menyiapkan VPC Bersama dan mengaktifkan project host.
  2. Melakukan tugas administratif yang harus diulangi setiap kali Anda ingin mengaktifkan project layanan baru. Hal ini mencakup melampirkan project layanan, menyediakan dan mengonfigurasi resource jaringan, serta memberikan akses ke administrator project layanan.

Tugas ini harus dilakukan di project host VPC Bersama. Sebaiknya Shared VPC Admin juga menjadi pemilik project host VPC Bersama. Tindakan ini akan otomatis memberikan peran Network Admin dan Security Admin.

Tugas Peran yang diperlukan
Siapkan VPC Bersama, aktifkan project host, dan berikan akses kepada administrator project layanan Admin VPC Bersama
Buat subnet di project host VPC Bersama dan berikan akses kepada administrator project layanan Admin Jaringan
Menambahkan dan menghapus aturan firewall Security Admin

Setelah subnet disediakan, pemilik project host harus memberikan peran Pengguna Jaringan di project host kepada siapa pun (biasanya administrator, developer, atau akun layanan project layanan) yang perlu menggunakan resource ini.

Tugas Peran yang diperlukan
Menggunakan jaringan dan subnet VPC milik project host Pengguna Jaringan

Peran ini dapat diberikan di tingkat project atau untuk setiap subnet. Sebaiknya berikan peran di setiap subnet. Memberikan peran di project akan memberikan akses ke semua subnet saat ini dan yang akan datang di jaringan VPC project host.

Men-deploy load balancer dan backend

Administrator project layanan memerlukan peran berikut di project layanan untuk membuat resource dan backend load balancing. Izin ini diberikan secara otomatis kepada pemilik atau editor project layanan.

Peran yang diberikan dalam project layanan
Tugas Peran yang diperlukan
Membuat komponen load balancer Admin Jaringan
Membuat instance Admin Instance
Membuat dan mengubah sertifikat SSL Security Admin

Mereferensikan layanan backend lintas project

Jika load balancer Anda perlu mereferensikan layanan backend dari project layanan lain, yang juga dikenal sebagai referensi layanan lintas project, administrator load balancer akan memerlukan peran berikut di project layanan tempat layanan backend dibuat.

Peran yang diberikan dalam project layanan
Tugas Peran yang diperlukan
Izin untuk menggunakan layanan dalam project lain Pengguna Layanan Load Balancer

Peran ini dapat diberikan di tingkat project atau untuk setiap layanan backend. Untuk mengetahui petunjuk tentang cara memberikan peran ini, lihat contoh referensi layanan lintas project di halaman ini.

Untuk mengetahui informasi selengkapnya tentang IAM, lihat panduan berikut:

Prasyarat

Di bagian ini, Anda perlu melakukan langkah-langkah berikut:

  1. Konfigurasi jaringan dan subnet di project host.
  2. Siapkan VPC Bersama di project host.

Langkah-langkah di bagian ini tidak perlu dilakukan setiap kali Anda ingin membuat load balancer baru. Namun, Anda harus memastikan bahwa Anda memiliki akses ke resource yang dijelaskan di sini sebelum melanjutkan pembuatan load balancer.

Mengonfigurasi jaringan dan subnet di project host

Anda memerlukan jaringan VPC Bersama dengan subnet untuk backend load balancer.

Contoh ini menggunakan jaringan, region, dan subnet berikut:

  • Jaringan. Jaringan diberi nama lb-network.

  • Subnet untuk backend load balancer. Subnet bernama lb-backend-subnet di region us-west1 menggunakan 10.1.2.0/24 untuk rentang IP utamanya.

Mengonfigurasi subnet untuk backend load balancer

Langkah ini tidak perlu dilakukan setiap kali Anda ingin membuat load balancer baru. Anda hanya perlu memastikan bahwa project layanan memiliki akses ke subnet di jaringan VPC Bersama.

Semua langkah di bagian ini harus dilakukan di project host.

Konsol

  1. Di Google Cloud konsol, buka halaman VPC networks.

    Buka jaringan VPC

  2. Klik Create VPC network.
  3. Untuk Name, masukkan lb-network.
  4. Di bagian Subnet:

    1. Setel Subnet creation mode ke Custom.
    2. Di bagian New subnet, masukkan informasi berikut:

      • Nama: lb-backend-subnet
      • Region: us-west1

      • Rentang alamat IP: 10.1.2.0/24

    3. Klik Selesai.

  5. Klik Create.

gcloud

  1. Buat jaringan VPC 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:

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

Memberi admin project layanan akses ke subnet backend

Administrator project layanan memerlukan akses ke subnet lb-backend-subnet agar dapat menyediakan backend load balancer.

Admin VPC Bersama harus memberikan akses ke subnet backend kepada administrator project layanan (atau developer yang men-deploy resource dan backend yang menggunakan subnet). Untuk mengetahui petunjuknya, lihat Admin Project Layanan untuk beberapa subnet.

Mengonfigurasi aturan firewall di project host

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 Clouddi 130.211.0.0/22 dan 35.191.0.0/16. Contoh ini menggunakan tag target load-balanced-backend untuk mengidentifikasi instance tempat tag harus diterapkan.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.

Semua langkah di bagian ini harus dilakukan di project host.

Konsol

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

    Buka Kebijakan firewall

  2. Klik Create firewall rule untuk membuat aturan yang mengizinkan Google Cloud health check:
    • Nama: fw-allow-health-check
    • Jaringan: lb-network
    • Direction of traffic: Masuk
    • Action on match: Izinkan
    • Targets: Tag target yang ditentukan
    • Tag target: load-balanced-backend
    • Filter sumber: Rentang IPv4
    • Rentang IPv4 sumber: 130.211.0.0/22 dan 35.191.0.0/16
    • Protokol dan port:
      • Pilih Specified protocols and ports.
      • Centang TCP dan 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 menghubungi VM.

  3. Klik Buat.

gcloud

  1. Buat aturan firewall fw-allow-health-check untuk mengizinkan health checkGoogle Cloud . Contoh ini mengizinkan semua traffic TCP dari penguji health check. Namun, Anda 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
    

Menyiapkan VPC Bersama di project host

Langkah ini mencakup mengaktifkan project host VPC Bersama, membagikan subnet project host, dan melampirkan project layanan ke project host sehingga project layanan dapat menggunakan jaringan VPC Bersama. Untuk menyiapkan VPC Bersama di project host, lihat halaman berikut:

Petunjuk selanjutnya mengasumsikan bahwa Anda telah menyiapkan VPC Bersama. Hal ini mencakup menyiapkan kebijakan IAM untuk organisasi Anda dan menetapkan project host dan layanan.

Jangan lanjutkan hingga Anda telah menyiapkan VPC Bersama dan mengaktifkan project host dan layanan.

Setelah menyelesaikan langkah-langkah yang ditentukan di bagian prasyarat ini, Anda dapat melanjutkan salah satu penyiapan berikut:

Mengonfigurasi load balancer dalam satu project layanan

Setelah mengonfigurasi jaringan VPC di project host dan menyiapkan VPC Bersama, Anda dapat mengalihkan perhatian ke project layanan, tempat Anda perlu membuat semua komponen load balancing (layanan backend, peta URL, proxy target, dan aturan penerusan) serta backend.

Bagian ini mengasumsikan bahwa Anda telah melakukan langkah-langkah prasyarat yang dijelaskan di bagian sebelumnya dalam project host. Di bagian ini, komponen frontend dan backend load balancer beserta backend dibuat dalam satu project layanan.

Gambar berikut menggambarkan komponen Load Balancer Aplikasi eksternal global dalam satu project layanan, yang dilampirkan ke project host dalam jaringan VPC Bersama.

Komponen frontend dan backend load balancer dalam satu project layanan
Gambar 1. Komponen frontend dan backend load balancer dalam satu project layanan

Langkah-langkah ini harus dilakukan oleh administrator project layanan (atau developer yang beroperasi dalam project layanan) dan tidak memerlukan keterlibatan dari administrator project host. Langkah-langkah di bagian ini serupa dengan langkah-langkah standar untuk menyiapkan Load Balancer Aplikasi eksternal global.

Contoh di halaman ini secara eksplisit menetapkan alamat IP yang dicadangkan untuk aturan penerusan Load Balancer Aplikasi eksternal global, bukan mengizinkan alamat IP sementara dialokasikan. Sebagai praktik terbaik, sebaiknya Anda mencadangkan alamat IP untuk aturan penerusan.

Membuat backend grup instance terkelola

Sebelum membuat grup instance terkelola, Anda harus membuat template instance, yaitu resource yang dapat Anda gunakan untuk membuat instance virtual machine (VM). Traffic dari klien di-load balance ke VM dalam grup instance. Grup instance terkelola menyediakan VM yang menjalankan server backend Load Balancer Aplikasi eksternal. Dalam contoh ini, backend menyajikan nama host-nya sendiri.

Konsol

Membuat template instance

  1. Di konsol Google Cloud , buka halaman Instance templates Compute Engine.

    Buka Instance templates

  2. Klik Create instance template.

  3. Untuk Name, masukkan backend-template.

  4. Di bagian Boot disk, pastikan boot disk disetel ke image Debian, seperti Debian GNU/Linux 12 (bookworm). Klik Ubah untuk mengubah gambar jika perlu.

  5. Luaskan bagian Advanced options.

  6. Luaskan bagian Networking, lalu di kolom Network tags, masukkan load-balanced-backend.

  7. Untuk Network interfaces, pilih Networks shared with me (from host project: HOST_PROJECT_ID).

  8. Di daftar Shared subnetwork, pilih lb-backend-subnet subnet dari jaringan lb-network.

  9. Luaskan bagian Management, lalu di kolom Automation, tentukan skrip startup berikut:

     #! /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
    
  10. Klik Buat.

Membuat grup instance terkelola

  1. Di konsol Google Cloud , buka halaman Instance groups Compute Engine.

    Buka Instance groups

  2. Klik Create Instance Group.

  3. Dari opsi, pilih New managed instance group (stateless).

  4. Untuk nama grup instance, masukkan lb-backend.

  5. Dalam daftar Instance template, pilih template instance backend-template yang Anda buat di langkah sebelumnya.

  6. Di bagian Location, pilih Single zone, lalu masukkan nilai berikut:

    • Untuk Region, pilih us-west1.

    • Untuk Zone, pilih us-west1-a.

  7. Di bagian Autoscaling, masukkan nilai berikut:

    • Untuk Autoscaling mode, pilih On: add and remove instances to the group.

    • Untuk Minimum number of instances, pilih 2.

    • Untuk Maximum number of instances, pilih 3.

  8. Di bagian Port mapping, klik Add port, lalu masukkan nilai berikut:

    • Untuk Port name, masukkan http.

    • Untuk Port number, masukkan 80.

  9. Klik Buat.

gcloud

  1. Buat template instance:

    gcloud compute instance-templates create backend-template \
        --region=us-west1 \
        --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
        --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-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' \
        --project=SERVICE_PROJECT_ID
    
  2. Buat grup instance terkelola dan pilih template instance yang Anda buat pada langkah sebelumnya:

    gcloud compute instance-groups managed create lb-backend \
        --zone=us-west1-a \
        --size=2 \
        --template=backend-template \
        --project=SERVICE_PROJECT_ID
    
  3. Tambahkan port bernama ke grup instance:

    gcloud compute instance-groups set-named-ports lb-backend \
        --named-ports=http:80 \
        --zone=us-west1-a \
        --project=SERVICE_PROJECT_ID
    

Membuat health check

Health check adalah pengujian yang mengonfirmasi ketersediaan backend. Buat health check yang menggunakan protokol HTTP dan melakukan pemeriksaan di port 80. Selanjutnya, Anda akan melampirkan health check ini ke layanan backend yang dirujuk oleh load balancer.

Konsol

  1. Di konsol Google Cloud , buka halaman Health checks Compute Engine.

    Buka Health checks

  2. Untuk nama health check, masukkan lb-health-check.

  3. Tetapkan protokol ke HTTP.

  4. Klik Buat.

gcloud

Buat health check HTTP.

gcloud compute health-checks create http lb-health-check \
  --use-serving-port \
  --project=SERVICE_PROJECT_ID

Mencadangkan alamat IP load balancer

Cadangkan alamat IP eksternal statis global yang dapat ditetapkan ke aturan penerusan load balancer.

Konsol

  1. Di konsol Google Cloud , buka halaman VPC IP addresses.

    Buka alamat IP

  2. Klik Reserve external static IP address.

  3. Untuk Name, masukkan lb-ipv4-1.

  4. Tetapkan Network Service Tier ke Premium.

  5. Setel IP version ke IPv4.

  6. Setel Type ke Global.

  7. Klik Reserve.

gcloud

Buat alamat IP eksternal statis global.

gcloud compute addresses create lb-ipv4-1 \
  --ip-version=IPV4 \
  --network-tier=PREMIUM \
  --global
  --project=SERVICE_PROJECT_ID

Menyiapkan resource sertifikat SSL

Untuk load balancer yang menggunakan HTTPS sebagai protokol permintaan dan respons, buat resource sertifikat SSL seperti yang dijelaskan dalam referensi berikut:

Sebaiknya gunakan sertifikat yang dikelola Google.

Contoh ini mengasumsikan bahwa Anda telah membuat sertifikat SSL bernama lb-ssl-cert. Sertifikat SSL dilampirkan ke proxy target yang akan Anda buat di salah satu langkah berikut.

Mengonfigurasi load balancer

Bagian ini menunjukkan cara membuat resource berikut untuk Load Balancer Aplikasi eksternal global:

  • Layanan backend dengan grup instance terkelola sebagai backend
  • Peta URL
  • Sertifikat SSL (hanya diperlukan untuk traffic HTTPS)
  • Proxy target
  • Aturan penerusan

Dalam contoh ini, Anda dapat menggunakan HTTP atau HTTPS sebagai protokol permintaan dan respons antara klien dan load balancer. Untuk HTTPS, Anda memerlukan resource sertifikat SSL untuk mengonfigurasi proxy. Sebaiknya gunakan sertifikat yang dikelola Google.

Konsol

Pilih jenis load balancer

  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 global workloads, lalu klik Next.
  6. Untuk Load balancer generation, pilih Global external Application Load Balancer, lalu klik Next.
  7. Klik Configure.

Konfigurasi dasar

  1. Untuk nama load balancer, masukkan l7-xlb-shared-vpc.

Mengonfigurasi frontend load balancer

Untuk traffic HTTP:

  1. Klik Frontend configuration.

  2. Untuk nama frontend load balancer, masukkan http-fw-rule.

  3. Untuk Protocol, pilih HTTP.

  4. Setel IP version ke IPv4.

  5. Untuk IP address, pilih lb-ipv4-1, yaitu alamat IP yang Anda cadangkan sebelumnya.

  6. Tetapkan Port ke 80 untuk mengizinkan traffic HTTP.

  7. Untuk menyelesaikan konfigurasi frontend, klik Selesai.

  8. Pastikan ada tanda centang biru di samping Frontend configuration sebelum melanjutkan.

Untuk traffic HTTPS:

  1. Klik Frontend configuration.

  2. Untuk nama frontend load balancer, masukkan https-fw-rule.

  3. Untuk Protocol, pilih HTTPS.

  4. Setel IP version ke IPv4.

  5. Untuk IP address, pilih lb-ipv4-1, yaitu alamat IP yang Anda cadangkan sebelumnya.

  6. Tetapkan Port ke 443 untuk mengizinkan traffic HTTPS.

  7. Di daftar Certificate, pilih sertifikat SSL yang Anda buat.

  8. Untuk menyelesaikan konfigurasi frontend, klik Selesai.

  9. Pastikan terdapat tanda centang biru di samping Frontend configuration sebelum melanjutkan.

Mengonfigurasi backend

  1. Klik Backend configuration.

  2. Di menu Backend services and backend buckets, klik Create a backend service.

  3. Untuk nama layanan backend, masukkan lb-backend-service.

  4. Untuk Backend type, pilih Instance group.

  5. Tetapkan Protocol ke HTTP.

  6. Di kolom Named port, masukkan http. Ini adalah nama port yang sama dengan yang Anda masukkan saat membuat grup instance terkelola.

  7. Untuk menambahkan backend ke layanan backend, lakukan hal berikut:

    1. Di bagian Backends, tetapkan Instance group ke lb-backend, yaitu grup instance terkelola yang Anda buat pada langkah sebelumnya.

    2. Untuk Port numbers, masukkan 80.

    3. Untuk menambahkan backend, klik Selesai.

  8. Untuk menambahkan health check, di daftar Health check, pilih lb-health-check, yaitu health check yang Anda buat sebelumnya.

  9. Untuk membuat layanan backend, klik Create.

  10. Pastikan ada tanda centang biru di samping Backend configuration sebelum melanjutkan.

Mengonfigurasi aturan perutean

  • Klik Routing rules. Pastikan lb-backend-service adalah layanan backend default untuk semua host dan jalur yang tidak cocok.

Untuk informasi tentang pengelolaan traffic, lihat Menyiapkan pengelolaan traffic.

Meninjau dan menyelesaikan konfigurasi

  1. Klik Review and finalize.

  2. Tinjau setelan frontend dan backend load balancer untuk memastikan konfigurasinya sesuai keinginan.

  3. Klik Create, lalu tunggu hingga load balancer dibuat.

gcloud

  1. Buat layanan backend untuk mendistribusikan traffic di antara backend:

    gcloud compute backend-services create lb-backend-service \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=lb-health-check \
        --global \
        --project=SERVICE_PROJECT_ID
    
  2. Tambahkan grup instance sebagai backend ke layanan backend:

    gcloud compute backend-services add-backend lb-backend-service \
        --instance-group=lb-backend \
        --instance-group-zone=us-west1-a \
        --global \
        --project=SERVICE_PROJECT_ID
    
  3. Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend:

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

    Untuk traffic HTTP, buat proxy HTTP target untuk merutekan permintaan ke peta URL:

    gcloud compute target-http-proxies create http-proxy \
        --url-map=lb-map \
        --global \
        --project=SERVICE_PROJECT_ID
    

    Untuk traffic HTTPS, buat proxy HTTPS target untuk merutekan permintaan ke peta URL. Proxy adalah bagian dari load balancer yang menampung sertifikat SSL untuk load balancer HTTPS, sehingga Anda juga memuat sertifikat SSL pada langkah ini:

    gcloud compute target-https-proxies create https-proxy \
        --url-map=lb-map \
        --ssl-certificates=lb-ssl-cert
        --global \
        --project=SERVICE_PROJECT_ID
    
  5. Membuat aturan penerusan.

    Untuk traffic HTTP, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy target:

    gcloud compute forwarding-rules create http-fw-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=lb-ipv4-1 \
        --global \
        --target-http-proxy=http-proxy \
        --ports=80 \
        --project=SERVICE_PROJECT_ID
    

    Untuk traffic HTTPS, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy target:

    gcloud compute forwarding-rules create https-fw-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=lb-ipv4-1 \
        --global \
        --target-https-proxy=https-proxy \
        --ports=443 \
        --project=SERVICE_PROJECT_ID
    

Menguji load balancer

Saat layanan load balancing berjalan, Anda dapat mengirimkan 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. Klik load balancer yang baru saja Anda buat.

  3. Catat alamat IP load balancer. Alamat IP ini disebut sebagai LB_IP_ADDRESS dalam langkah-langkah berikut.

  4. Di bagian Backend, pastikan VM responsif.

    Kolom Healthy akan terisi, yang menunjukkan bahwa VM responsif—misalnya, jika dua instance dibuat, Anda akan melihat pesan yang menunjukkan 2 of 2 dengan tanda centang hijau di sampingnya. Jika Anda melihat hal lain, coba muat ulang halaman terlebih dahulu. Diperlukan waktu beberapa menit agar konsol Google Cloud menunjukkan bahwa VM responsif. Jika backend tidak terlihat sehat setelah beberapa menit, tinjau konfigurasi firewall dan tag jaringan yang ditetapkan ke VM backend Anda.

  5. Setelah konsol Google Cloud menunjukkan bahwa instance backend responsif, Anda dapat menguji load balancer dengan mengarahkan browser web ke https://LB_IP_ADDRESS (atau http://LB_IP_ADDRESS). Ganti LB_IP_ADDRESS dengan alamat IP load balancer.

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

  7. Browser Anda akan merender halaman berisi konten yang menampilkan nama instance yang menampilkan halaman tersebut (misalnya, Page served from: lb-backend-example-xxxx). Jika browser Anda tidak merender halaman ini, tinjau setelan konfigurasi dalam panduan ini.

gcloud

Catat alamat IP yang dicadangkan:

gcloud compute addresses describe IP_ADDRESS_NAME \
    --format="get(address)" \
    --global

Anda dapat menguji load balancer dengan mengarahkan browser web ke https://LB_IP_ADDRESS (atau http://LB_IP_ADDRESS). Ganti LB_IP_ADDRESS dengan alamat IP load balancer.

Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menguji HTTPS, browser Anda 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.

Mengonfigurasi load balancer dengan layanan backend lintas project

Bagian ini menunjukkan cara mengonfigurasi load balancer dengan layanan backend lintas project di lingkungan VPC Bersama.

Sebelum memulai

Contoh sebelumnya di halaman ini menunjukkan cara menyiapkan deployment VPC Bersama tempat semua komponen load balancer dan backend-nya dibuat dalam satu project layanan. Load Balancer Aplikasi eksternal global juga memungkinkan Anda mengonfigurasi deployment VPC Bersama tempat peta URL di satu project host atau layanan mereferensikan layanan backend (dan backend) yang terletak di beberapa project layanan di lingkungan VPC Bersama.

Anda dapat menggunakan langkah-langkah di bagian ini sebagai referensi untuk mengonfigurasi kombinasi yang didukung yang tercantum di sini:

  • Aturan penerusan, proxy target, dan peta URL di project host, serta layanan backend di project layanan
  • Aturan penerusan, proxy target, dan peta URL dalam satu project layanan, serta layanan backend dalam project layanan lain

Meskipun bagian ini menggunakan lingkungan VPC Bersama untuk mengonfigurasi deployment lintas project, lingkungan VPC Bersama tidak diperlukan. Untuk Load Balancer Aplikasi eksternal global, frontend load balancer Anda dapat mereferensikan layanan backend atau bucket backend dari project mana pun dalam organisasi yang sama.

Persyaratan penyiapan

Jika belum melakukannya, Anda harus menyelesaikan semua langkah prasyarat untuk menyiapkan VPC Bersama dan mengonfigurasi jaringan, subnet, dan aturan firewall yang diperlukan untuk contoh ini. Untuk mengetahui petunjuknya, lihat bagian berikut di awal halaman ini:

Dalam penyiapan ini, aturan penerusan, proxy target, dan peta URL berada di satu project layanan, serta layanan backend dan backend berada di project layanan lain.

  1. Di project layanan B, Anda akan mengonfigurasi resource backend berikut:
    • Backend grup instance terkelola
    • Health check
    • Layanan backend global
  2. Di project layanan A, Anda akan mengonfigurasi resource frontend berikut:
    • Alamat IP
    • Sertifikat SSL
    • Peta URL
    • Proxy target
    • Aturan penerusan

Gambar berikut menggambarkan Load Balancer Aplikasi eksternal global yang layanan backend load balancer-nya dalam satu project layanan direferensikan oleh peta URL di project layanan lain.

Komponen frontend dan backend load balancer di project layanan yang berbeda
Gambar 2. Frontend dan backend load balancer di project layanan yang berbeda

Referensi layanan lintas project dengan Load Balancer Aplikasi eksternal global tidak mengharuskan instance backend menjadi bagian dari jaringan VPC yang sama atau jaringan VPC Bersama.

Dalam contoh ini, VM backend dalam project layanan adalah bagian dari jaringan VPC Bersama yang dibuat dalam project host. Namun, Anda juga dapat menyiapkan jaringan VPC mandiri (yaitu, jaringan VPC yang tidak dibagikan), beserta aturan firewall yang diperlukan, di project layanan. Kemudian, Anda dapat membuat instance backend (misalnya, grup instance) yang merupakan bagian dari jaringan VPC mandiri ini. Setelah membuat instance backend, Anda dapat mengikuti langkah-langkah yang tersisa, seperti yang digambarkan dalam contoh ini, untuk membuat layanan backend di project layanan dan menghubungkannya ke peta URL di project layanan lain menggunakan referensi layanan lintas project.

Mengonfigurasi komponen backend load balancer di project layanan B

Di bagian ini, Anda perlu mengonfigurasi resource backend berikut di project layanan B:

  • Grup instance terkelola
  • Health check
  • Layanan backend global

Membuat backend grup instance terkelola

Sebelum membuat grup instance terkelola, Anda harus membuat template instance, yaitu resource yang dapat Anda gunakan untuk membuat instance virtual machine (VM). Traffic dari klien di-load balancing ke VM dalam grup instance. Grup instance terkelola menyediakan VM yang menjalankan server backend Load Balancer Aplikasi eksternal. Dalam contoh ini, backend menyediakan nama host-nya sendiri.

Konsol

Buat template instance.

  1. Di konsol Google Cloud , buka halaman Instance templates Compute Engine.

    Buka Instance templates

  2. Klik Create instance template.

  3. Untuk Name, masukkan backend-template.

  4. Di bagian Boot disk, pastikan boot disk disetel ke image Debian, seperti Debian GNU/Linux 12 (bookworm). Klik Ubah untuk mengubah gambar jika perlu.

  5. Luaskan bagian Advanced options.

  6. Luaskan bagian Networking, lalu di kolom Network tags, masukkan load-balanced-backend.

  7. Untuk Network interfaces, pilih Networks shared with me (from host project: HOST_PROJECT_ID).

  8. Di daftar Shared subnetwork, pilih lb-backend-subnet subnet dari jaringan lb-network.

  9. Luaskan bagian Management, dan di kolom Automation, tentukan skrip startup berikut:

      #! /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
    
  10. Klik Buat.

Membuat grup instance terkelola

  1. Di konsol Google Cloud , buka halaman Instance groups Compute Engine.

    Buka Instance groups

  2. Klik Create Instance Group.

  3. Dari opsi, pilih New managed instance group (stateless).

  4. Untuk nama grup instance, masukkan lb-backend.

  5. Dalam daftar Instance template, pilih template instance backend-template yang Anda buat di langkah sebelumnya.

  6. Di bagian Location, pilih Single zone, lalu masukkan nilai berikut:

    • Untuk Region, pilih us-west1.

    • Untuk Zone, pilih us-west1-a.

  7. Di bagian Autoscaling, masukkan nilai berikut:

    • Untuk Autoscaling mode, pilih On: add and remove instances to the group.

    • Untuk Minimum number of instances, pilih 2.

    • Untuk Maximum number of instances, pilih 3.

  8. Di bagian Port mapping, klik Add port, lalu masukkan nilai berikut:

    • Untuk Port name, masukkan http.

    • Untuk Port number, masukkan 80.

  9. Klik Buat.

gcloud

  1. Buat template instance:

    gcloud compute instance-templates create backend-template \
        --region=us-west1 \
        --network=projects/HOST_PROJECT_ID/global/networks/lb-network \
        --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-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' \
        --project=SERVICE_PROJECT_B_ID
    
  2. Buat grup instance terkelola dan pilih template instance yang Anda buat pada langkah sebelumnya:

    gcloud compute instance-groups managed create lb-backend \
        --zone=us-west1-a \
        --size=2 \
        --template=backend-template \
        --project=SERVICE_PROJECT_B_ID
    
  3. Tambahkan port bernama ke grup instance:

    gcloud compute instance-groups set-named-ports lb-backend \
        --named-ports=http:80 \
        --zone=us-west1-a \
        --project=SERVICE_PROJECT_B_ID
    

Membuat health check

Health check adalah pengujian yang mengonfirmasi ketersediaan backend. Buat health check yang menggunakan protokol HTTP dan melakukan pemeriksaan di port 80. Selanjutnya, Anda akan melampirkan health check ini ke layanan backend yang dirujuk oleh load balancer.

Konsol

  1. Di konsol Google Cloud , buka halaman Health checks Compute Engine.

    Buka Health checks

  2. Untuk nama health check, masukkan lb-health-check.

  3. Tetapkan protokol ke HTTP.

  4. Klik Buat.

gcloud

Buat health check HTTP.

gcloud compute health-checks create http lb-health-check \
  --use-serving-port \
  --project=SERVICE_PROJECT_B_ID

Membuat layanan backend global

Buat layanan backend global untuk mendistribusikan traffic di antara backend. Sebagai bagian dari langkah ini, Anda perlu menetapkan health check yang dibuat ke layanan backend dan menambahkan grup instance sebagai backend ke layanan backend.

Konsol

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

    Buka Load balancing

  2. Buka bagian Backend.

  3. Klik Create backend service.

  4. Untuk Global backend service, klik tombol Create di sampingnya.

  5. Untuk nama layanan backend, masukkan cross-ref-backend-service.

  6. Untuk Backend type, pilih Instance group.

  7. Tetapkan Protocol ke HTTP.

  8. Di kolom Named port, masukkan http. Ini adalah nama port yang sama dengan yang Anda masukkan saat membuat grup instance terkelola.

  9. Untuk menambahkan backend ke layanan backend, lakukan hal berikut:

    1. Di bagian Backends, tetapkan Instance group ke lb-backend, yaitu grup instance terkelola yang Anda buat pada langkah sebelumnya.

    2. Untuk Port numbers, masukkan 80.

    3. Untuk menambahkan backend, klik Selesai.

  10. Untuk menambahkan health check, di daftar Health check, pilih lb-health-check, yaitu health check yang Anda buat sebelumnya.

  11. Opsional: Di bagian Tambahkan izin, masukkan IAM utama dari project lain (biasanya alamat email) yang memiliki peran Admin Load Balancer Compute (roles/compute.loadBalancerAdmin) sehingga mereka dapat menggunakan layanan backend ini untuk load balancer di project mereka sendiri. Tanpa izin ini, Anda tidak dapat menggunakan referensi layanan lintas project.

    Jika Anda tidak memiliki izin untuk menetapkan kebijakan kontrol akses untuk layanan backend dalam project ini, Anda tetap dapat membuat layanan backend sekarang, dan pengguna yang berwenang dapat melakukan langkah ini nanti seperti yang dijelaskan di bagian, Memberi izin kepada Admin Load Balancer Compute untuk menggunakan layanan backend. Bagian tersebut juga menjelaskan cara memberikan akses ke semua layanan backend dalam project ini, sehingga Anda tidak perlu memberikan akses setiap kali membuat layanan backend baru.

  12. Untuk membuat layanan backend, klik Create.

gcloud

  1. Buat layanan backend global untuk mendistribusikan traffic di antara backend:

    gcloud compute backend-services create cross-ref-backend-service \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=lb-health-check \
        --global \
        --project=SERVICE_PROJECT_B_ID
    
  2. Tambahkan grup instance sebagai backend ke layanan backend:

    gcloud compute backend-services add-backend cross-ref-backend-service \
        --instance-group=lb-backend \
        --instance-group-zone=us-west1-a \
        --global \
        --project=SERVICE_PROJECT_B_ID
    

Mengonfigurasi komponen frontend load balancer di project layanan A

Di bagian ini, Anda perlu mengonfigurasi resource frontend berikut di project layanan A:

  • Alamat IP
  • Sertifikat SSL
  • Peta URL
  • Proxy target
  • Aturan penerusan

Mencadangkan alamat IP load balancer

Cadangkan alamat IP eksternal statis global yang dapat ditetapkan ke aturan penerusan load balancer.

Konsol

  1. Di konsol Google Cloud , buka halaman VPC IP addresses.

    Buka alamat IP

  2. Klik Reserve external static IP address.

  3. Untuk Name, masukkan cross-ref-ip-address.

  4. Tetapkan Network Service Tier ke Premium.

  5. Setel IP version ke IPv4.

  6. Setel Type ke Global.

  7. Klik Reserve.

gcloud

Buat alamat IP eksternal statis global.

gcloud compute addresses create cross-ref-ip-address \
    --ip-version=IPV4 \
    --network-tier=PREMIUM \
    --global \
    --project=SERVICE_PROJECT_A_ID

Menyiapkan resource sertifikat SSL

Untuk load balancer yang menggunakan HTTPS sebagai protokol permintaan dan respons, buat resource sertifikat SSL seperti yang dijelaskan dalam referensi berikut:

Sebaiknya gunakan sertifikat yang dikelola Google.

Contoh ini mengasumsikan bahwa Anda telah membuat sertifikat SSL bernama lb-ssl-cert. Sertifikat SSL dilampirkan ke proxy target yang akan Anda buat di salah satu langkah berikut.

Membuat komponen frontend

Konsol

Pilih jenis load balancer

  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 global workloads, lalu klik Next.
  6. Untuk Load balancer generation, pilih Global external Application Load Balancer, lalu klik Next.
  7. Klik Configure.

Konfigurasi dasar

  1. Masukkan Name load balancer: cross-ref-lb-shared-vpc.
  2. Biarkan halaman tetap terbuka untuk melanjutkan.

Mengonfigurasi frontend

Untuk HTTP:

  1. Klik Frontend configuration.
  2. Masukkan Name untuk aturan penerusan: cross-ref-http-forwarding-rule.
  3. Setel Protocol ke HTTP.
  4. Pilih alamat IP yang Anda buat di Mencadangkan alamat IP load balancer, yang disebut cross-ref-ip-address.
  5. Tetapkan Port ke 80.
  6. Klik Done.

Untuk HTTPS:

Jika menggunakan HTTPS antara klien dan load balancer, Anda memerlukan satu atau beberapa resource sertifikat SSL untuk mengonfigurasi proxy. Untuk mengetahui informasi tentang cara membuat resource sertifikat SSL, lihat Sertifikat SSL. Sertifikat yang dikelola Google tidak didukung dengan Load Balancer Aplikasi eksternal regional.

  1. Klik Frontend configuration.
  2. Masukkan Name untuk aturan penerusan: cross-ref-https-forwarding-rule.
  3. Pada kolom Protocol, pilih HTTPS (includes HTTP/2).
  4. Pilih alamat IP yang Anda buat di Mencadangkan alamat IP load balancer, yang disebut cross-ref-ip-address.
  5. Pastikan Port ditetapkan ke 443 untuk mengizinkan traffic HTTPS.
  6. Klik daftar Certificate.
    1. Jika Anda sudah memiliki resource sertifikat SSL yang dikelola sendiri yang ingin digunakan sebagai sertifikat SSL utama, pilih sertifikat tersebut dari menu.
    2. Jika tidak, pilih Create a new certificate.
      1. Masukkan Nama untuk sertifikat SSL.
      2. Di kolom yang sesuai, upload file berformat PEM:
        • Sertifikat kunci publik
        • Rantai sertifikat
        • Kunci pribadi
      3. Klik Create.
  7. Untuk menambahkan resource sertifikat selain resource sertifikat SSL utama:
    1. Klik Add certificate.
    2. Pilih sertifikat dari daftar Certificates atau klik Create a new certificate, lalu ikuti petunjuk sebelumnya.
  8. Klik Selesai.

Mengonfigurasi backend

  1. Klik Backend configuration.
  2. Klik Cross-project backend services.
  3. Untuk Project ID, masukkan project ID untuk project layanan B.
  4. Dari daftar Select backend services, pilih layanan backend dari project layanan B yang ingin Anda gunakan. Untuk contoh ini, Anda memasukkan cross-ref-backend-service.
  5. Klik Oke.

Mengonfigurasi aturan perutean

  • Klik Routing rules. Pastikan cross-ref-backend-service adalah satu-satunya layanan backend untuk semua host dan jalur yang tidak cocok.

Untuk informasi tentang pengelolaan traffic, lihat Menyiapkan pengelolaan traffic.

Meninjau dan menyelesaikan konfigurasi

  • Klik Buat.

gcloud

  1. Opsional: Sebelum membuat load balancer dengan layanan backend yang dirujuk silang, cari tahu apakah layanan backend yang ingin Anda rujuk dapat dirujuk menggunakan peta URL:

    gcloud compute backend-services list-usable \
        --global \
        --project=SERVICE_PROJECT_B_ID
    
  2. Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend:

    gcloud compute url-maps create cross-ref-url-map \
        --default-service=projects/SERVICE_PROJECT_B_ID/global/backendServices/cross-ref-backend-service \
        --global \
        --project=SERVICE_PROJECT_A_ID
    
  3. Buat proxy target.

    Untuk traffic HTTP, buat proxy HTTP target untuk merutekan permintaan ke peta URL:

    gcloud compute target-http-proxies create cross-ref-http-proxy \
        --url-map=cross-ref-url-map \
        --global \
        --project=SERVICE_PROJECT_A_ID
    

    Untuk traffic HTTPS, buat proxy HTTPS target untuk merutekan permintaan ke peta URL. Proxy adalah bagian dari load balancer yang menampung sertifikat SSL untuk load balancer HTTPS, sehingga Anda juga memuat sertifikat SSL pada langkah ini:

    gcloud compute target-https-proxies create cross-ref-https-proxy \
        --url-map=cross-ref-url-map \
        --ssl-certificates=lb-ssl-cert \
        --global \
        --project=SERVICE_PROJECT_A_ID
    
  4. Membuat aturan penerusan.

    Untuk traffic HTTP, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy target:

    gcloud compute forwarding-rules create cross-ref-http-forwarding-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=cross-ref-ip-address \
        --global \
        --target-http-proxy=cross-ref-http-proxy \
        --ports=80 \
        --project=SERVICE_PROJECT_A_ID
    

    Untuk traffic HTTPS, buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy target:

    gcloud compute forwarding-rules create cross-ref-https-forwarding-rule \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --address=cross-ref-ip-address \
        --global \
        --target-https-proxy=cross-ref-https-proxy \
        --ports=443 \
        --project=SERVICE_PROJECT_A_ID
    

Memberikan izin kepada Admin Load Balancer Compute untuk menggunakan layanan backend

Jika Anda ingin load balancer mereferensikan layanan backend di project layanan lain, Admin Load Balancer harus memiliki izin compute.backendServices.use. Untuk memberikan izin ini, Anda dapat menggunakan peran IAM yang telah ditetapkan yang disebut Compute Load Balancer Services User (roles/compute.loadBalancerServiceUser). Peran ini harus diberikan oleh Service Project Admin dan dapat diterapkan di tingkat project atau di tingkat setiap layanan backend.

Langkah ini tidak diperlukan jika Anda telah memberikan izin yang diperlukan di tingkat layanan backend saat membuat layanan backend. Anda dapat melewati bagian ini atau melanjutkan membaca untuk mempelajari cara memberikan akses ke semua layanan backend dalam project ini sehingga Anda tidak perlu memberikan akses setiap kali membuat layanan backend baru.

Dalam contoh ini, Service Project Admin dari project layanan B harus menjalankan salah satu perintah berikut untuk memberikan izin compute.backendServices.use kepada Admin Load Balancer dari project layanan A. Hal ini dapat dilakukan di tingkat project (untuk semua layanan backend dalam project) atau per layanan backend.

Konsol

Izin tingkat project

Gunakan langkah-langkah berikut untuk memberikan izin ke semua layanan backend di project Anda.

Anda memerlukan izin compute.backendServices.setIamPolicy dan resourcemanager.projects.setIamPolicy untuk menyelesaikan langkah ini.

  1. Di konsol Google Cloud , buka halaman IAM.

    Buka IAM

  2. Pilih project Anda.

  3. Klik Berikan akses.

  4. Di kolom New principals, masukkan alamat email atau ID lain akun utama.

  5. Dalam daftar Select a role, pilih Compute Load Balancer Services User.

  6. Opsional: Tambahkan kondisi ke peran.

  7. Klik Simpan.

Izin tingkat resource untuk setiap layanan backend

Gunakan langkah-langkah berikut untuk memberikan izin ke setiap layanan backend di project Anda.

Anda memerlukan izin compute.backendServices.setIamPolicy untuk menyelesaikan langkah ini.

  1. Di konsol Google Cloud , buka halaman Backend.

    Buka Backend

  2. Dari daftar backend, pilih layanan backend yang ingin Anda beri akses, lalu klik Izin.

  3. Klik Add principal.

  4. Di kolom New principals, masukkan alamat email atau ID lain akun utama.

  5. Dalam daftar Select a role, pilih Compute Load Balancer Services User.

  6. Klik Simpan.

gcloud

Izin tingkat project

Gunakan langkah-langkah berikut untuk memberikan izin ke semua layanan backend di project Anda.

Anda memerlukan izin compute.backendServices.setIamPolicy dan resourcemanager.projects.setIamPolicy untuk menyelesaikan langkah ini.

gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
    --member="user:LOAD_BALANCER_ADMIN" \
    --role="roles/compute.loadBalancerServiceUser"

Izin tingkat resource untuk setiap layanan backend

Di tingkat layanan backend, Service Project Admin dapat menggunakan salah satu perintah berikut untuk memberikan peran Compute Load Balancer Services User (roles/compute.loadBalancerServiceUser).

Anda memerlukan izin compute.backendServices.setIamPolicy untuk menyelesaikan langkah ini.

gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
    --member="user:LOAD_BALANCER_ADMIN" \
    --role="roles/compute.loadBalancerServiceUser" \
    --condition='expression=resource.name=="projects/SERVICE_PROJECT_B_ID/regions/us-west1/backend-services/BACKEND_SERVICE_NAME",title=Shared VPC condition'

atau

gcloud compute backend-services add-iam-policy-binding BACKEND_SERVICE_NAME \
    --member="user:LOAD_BALANCER_ADMIN" \
    --role="roles/compute.loadBalancerServiceUser" \
    --project=SERVICE_PROJECT_B_ID \
    --region=us-west1

Untuk menggunakan perintah ini, ganti LOAD_BALANCER_ADMIN dengan principal pengguna—misalnya, test-user@gmail.com.

Anda juga dapat mengonfigurasi izin IAM agar hanya berlaku untuk sebagian layanan backend regional dengan menggunakan kondisi dan menentukan atribut kondisi.

Menguji load balancer

Mungkin perlu waktu beberapa menit hingga load balancer dikonfigurasi. Saat layanan load balancing berjalan, Anda dapat mengirimkan traffic ke aturan penerusan di project layanan A dan melihat traffic tersebut disebar ke berbagai instance VM di project layanan B.

Konsol

  1. Di konsol Google Cloud , buka halaman Load balancing di project layanan A.

    Buka Load balancing

  2. Klik load balancer yang baru saja Anda buat.

  3. Catat alamat IP load balancer. Alamat IP ini disebut sebagai LB_IP_ADDRESS dalam langkah-langkah berikut.

  4. Anda dapat menguji load balancer dengan mengarahkan browser web ke https://LB_IP_ADDRESS (atau http://LB_IP_ADDRESS). Ganti LB_IP_ADDRESS dengan alamat IP load balancer.

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

  6. Browser Anda akan merender halaman berisi konten yang menampilkan nama instance yang menampilkan halaman tersebut (misalnya, Page served from: lb-backend-example-xxxx). Jika browser Anda tidak merender halaman ini, tinjau setelan konfigurasi dalam panduan ini.

gcloud

Catat alamat IP yang dicadangkan:

gcloud compute addresses describe IP_ADDRESS_NAME \
    --format="get(address)" \
    --global
    --project=SERVICE_PROJECT_A_ID

Anda dapat menguji load balancer dengan mengarahkan browser web ke https://LB_IP_ADDRESS (atau http://LB_IP_ADDRESS). Ganti LB_IP_ADDRESS dengan alamat IP load balancer.

Jika Anda menggunakan sertifikat yang ditandatangani sendiri untuk menguji HTTPS, browser Anda 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.

Langkah berikutnya