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 di satu project layanan, sedangkan layanan backend dan backend load balancer dibuat di project layanan yang berbeda. Jenis deployment ini, dengan peta URL di satu project mereferensikan layanan backend di project lain, disebut sebagai referensi layanan lintas project.

Kedua contoh tersebut 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 yang 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

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

  • Men-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 untuk menyiapkan load balancer di jaringan VPC Bersama.

Menyiapkan VPC yang Dibagikan

Peran berikut diperlukan untuk tugas berikut:

  1. Melakukan tugas administratif satu kali seperti menyiapkan VPC Bersama dan mengaktifkan project host.
  2. Melakukan tugas administratif yang harus diulang setiap kali Anda ingin melakukan aktivasi 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
Menyiapkan VPC Bersama, mengaktifkan project host, dan memberikan akses ke admin project layanan Shared VPC Admin
Membuat subnet di project host VPC Bersama dan memberikan akses ke administrator project layanan Admin Jaringan
Menambahkan dan menghapus aturan firewall Security Admin

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

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

Peran ini dapat diberikan di tingkat project atau untuk setiap subnet. Sebaiknya berikan peran di setiap subnet. Memberikan peran pada project akan memberikan akses ke semua subnet saat ini dan mendatang 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 di project layanan
Tugas Peran yang diperlukan
Membuat komponen load balancer Admin Jaringan
Membuat instance Instance Admin
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 di project layanan
Tugas Peran yang diperlukan
Izin untuk menggunakan layanan di project lain Pengguna Layanan Load Balancer

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

Untuk informasi selengkapnya tentang IAM, lihat panduan berikut:

Prasyarat

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

  1. Konfigurasikan 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 Konsol Google Cloud, buka halaman jaringan VPC.

    Buka VPC networks

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

    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 Done.

  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 mendapatkan petunjuk, 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 Cloud di 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 health check Google Cloud:
    • 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
    • Source filter: Rentang IPv4
    • Rentang IPv4 sumber: 130.211.0.0/22 dan 35.191.0.0/16
    • Protocols and ports:
      • Pilih Protokol dan port yang ditentukan.
      • 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 menghubunginya.

  3. Klik Create.

gcloud

  1. Buat aturan firewall fw-allow-health-check untuk mengizinkan health check Google 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 pengaktifan project host VPC Bersama, berbagi 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 lainnya 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 menyiapkan VPC Bersama dan mengaktifkan project host dan layanan.

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

Mengonfigurasi load balancer di 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 di 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 mirip 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 pesan alamat IP untuk aturan penerusan.

Membuat backend grup instance terkelola

Prasyarat untuk membuat grup instance terkelola adalah pembuatan template instance, yang merupakan 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

Membuat template instance

  1. Di konsol Google Cloud, buka halaman Template instance Compute Engine.

    Buka Instance templates

  2. Klik Create instance template.

  3. Untuk Name, masukkan backend-template.

  4. Di bagian Boot disk, pastikan boot disk ditetapkan 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, dan 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 subnet lb-backend-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 Create.

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 Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup.

    • 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 Create.

gcloud

  1. Membuat 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 di 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 pemeriksaan di port 80. Kemudian, Anda akan melampirkan health check ini ke layanan backend yang dirujuk oleh load balancer.

Konsol

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

    Buka Health checks

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

  3. Tetapkan protokol ke HTTP.

  4. Klik Create.

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 IP addresses VPC.

    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

Memulai konfigurasi

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

    Buka Load balancing

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

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, yang merupakan alamat IP yang Anda reservasi sebelumnya.

  6. Tetapkan Port ke 80 untuk mengizinkan traffic HTTP.

  7. Untuk menyelesaikan konfigurasi frontend, klik Done.

  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, yang merupakan alamat IP yang Anda reservasi sebelumnya.

  6. Tetapkan Port ke 443 untuk mengizinkan traffic HTTPS.

  7. Dalam daftar Certificate, pilih SSL certificate yang Anda buat.

  8. Untuk menyelesaikan konfigurasi frontend, klik Done.

  9. Pastikan ada 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, yang merupakan grup instance terkelola yang Anda buat di langkah sebelumnya.

    2. Untuk Port numbers, masukkan 80.

    3. Untuk menambahkan backend, klik Done.

  8. Untuk menambahkan health check, dalam daftar Health check, pilih lb-health-check, yang merupakan 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 pemilihan rute

  • 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 load balancer dikonfigurasi seperti yang diinginkan.

  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 ini merupakan bagian dari load balancer yang menyimpan 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 merutekan 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 merutekan 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 mengirim traffic ke aturan penerusan dan melihat traffic tersebut disebar ke berbagai instance.

Konsol

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

    Buka Load balancing

  2. 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, konfirmasi bahwa VM responsif.

    Kolom Healthy harus diisi, 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 yang sebaliknya, coba muat ulang halaman terlebih dahulu. Diperlukan waktu beberapa menit hingga konsol Google Cloud menunjukkan bahwa VM berfungsi dengan baik. 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 berfungsi dengan baik, 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 akan menampilkan peringatan. Anda harus secara eksplisit memerintahkan browser untuk menerima sertifikat yang ditandatangani sendiri.

  7. Browser 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 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 dengan peta URL di satu host atau project 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 di satu project layanan, dan layanan backend di 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, dan layanan backend serta 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 tempat layanan backend load balancer di 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 di 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 lainnya, 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

Prasyarat untuk membuat grup instance terkelola adalah pembuatan template instance, yang merupakan 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 menayangkan 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 ditetapkan 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, dan 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 subnet lb-backend-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 Create.

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 Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup.

    • 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 Create.

gcloud

  1. Membuat 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 pemeriksaan di port 80. Kemudian, Anda akan melampirkan health check ini ke layanan backend yang dirujuk oleh load balancer.

Konsol

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

    Buka Health checks

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

  3. Tetapkan protokol ke HTTP.

  4. Klik Create.

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 harus 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, yang merupakan grup instance terkelola yang Anda buat di langkah sebelumnya.

    2. Untuk Port numbers, masukkan 80.

    3. Untuk menambahkan backend, klik Done.

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

  11. Opsional: Di bagian Tambahkan izin, masukkan principal IAM 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 tidak memiliki izin untuk menetapkan kebijakan kontrol akses untuk layanan backend dalam project ini, Anda masih dapat membuat layanan backend sekarang, dan pengguna yang berwenang dapat melakukan langkah ini nanti seperti yang dijelaskan di bagian, Memberikan izin ke Admin Compute Load Balancer 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 IP addresses VPC.

    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

Memulai konfigurasi

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

    Buka Load balancing

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

Konfigurasi dasar

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

Mengonfigurasi frontend

Untuk HTTP:

  1. Klik Frontend configuration.
  2. Masukkan Nama untuk aturan penerusan: cross-ref-http-forwarding-rule.
  3. Setel Protocol ke HTTP.
  4. Pilih IP address 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 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 Nama untuk aturan penerusan: cross-ref-https-forwarding-rule.
  3. Pada kolom Protocol, pilih HTTPS (includes HTTP/2).
  4. Pilih IP address 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 Done.

Mengonfigurasi backend

  1. Klik Backend configuration.
  2. Klik Layanan backend lintas project.
  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 pemilihan rute

  • 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 Create.

gcloud

  1. Opsional: Sebelum membuat load balancer dengan layanan backend referensi silang, cari tahu apakah layanan backend yang ingin Anda rujuk dapat direferensikan 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 ini merupakan bagian dari load balancer yang menyimpan 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 merutekan 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 merutekan 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 sebelumnya dan 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 layanan backend individual.

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 Load Balancer Admin 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 akun utama atau ID lainnya.

  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 Backends.

    Buka Backend

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

  3. Klik Add principal.

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

  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 Pengguna Layanan Compute Load Balancer (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 prinsipal 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 mengirim traffic ke aturan penerusan di project layanan A dan melihat traffic tersebar 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 akan menampilkan peringatan. Anda harus secara eksplisit memerintahkan browser untuk menerima sertifikat yang ditandatangani sendiri.

  6. Browser akan merender halaman berisi konten yang menampilkan nama instance yang menampilkan halaman tersebut (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 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 selanjutnya