Dokumen ini menunjukkan dua contoh konfigurasi untuk menyiapkan Load Balancer Aplikasi internal di lingkungan VPC Bersama:
- Contoh pertama membuat semua komponen dan backend load balancer dalam satu project layanan.
- Contoh kedua membuat komponen frontend dan peta URL load balancer di satu project layanan, sementara layanan backend dan backend load balancer dibuat di project layanan yang berbeda. Jenis deployment ini, yang peta URL-nya mereferensikan layanan backend di project lain, disebut sebagai Referensi layanan lintas project.
Kedua contoh memerlukan konfigurasi awal yang sama untuk memberikan izin dan menyiapkan VPC Bersama sebelum Anda dapat mulai membuat load balancer.
Ini bukan satu-satunya konfigurasi VPC Bersama yang didukung oleh Load Balancer Aplikasi internal. Untuk arsitektur VPC Bersama valid lainnya, lihat Arsitektur VPC Bersama.
Jika Anda tidak ingin menggunakan jaringan VPC Bersama, lihat Menyiapkan Load Balancer Aplikasi internal.
Sebelum memulai
- Baca Ringkasan VPC Bersama.
- Baca Ringkasan Load Balancer Aplikasi Internal, termasuk bagian arsitektur VPC Bersama.
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:
- Menjalankan tugas administratif satu kali seperti menyiapkan VPC Bersama dan mengaktifkan project host.
- 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.
Tugas | Peran yang diperlukan |
---|---|
Membuat komponen load balancer | Admin Jaringan |
Membuat instance | Admin Instance |
Membuat dan mengubah sertifikat SSL | Security Admin |
Prasyarat
Di bagian ini, Anda perlu melakukan langkah-langkah berikut:
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 dua subnet: satu untuk frontend dan backend load balancer, dan satu untuk proxy load balancer.Contoh ini menggunakan jaringan, region, dan subnet berikut:
Jaringan. Jaringan diberi nama
lb-network
.Subnet untuk frontend dan backend load balancer. Subnet bernama
lb-frontend-and-backend-subnet
di regionus-west1
menggunakan10.1.2.0/24
untuk rentang IP utamanya.Subnet untuk proxy. Subnet bernama
proxy-only-subnet
di regionus-west1
menggunakan10.129.0.0/23
untuk rentang IP utamanya.
Mengonfigurasi subnet untuk frontend dan 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 (selain subnet khusus proxy).Semua langkah di bagian ini harus dilakukan di project host.
Konsol
- Di Google Cloud konsol, buka halaman VPC networks.
- Klik Create VPC network.
- Untuk Name, masukkan
lb-network
. Di bagian Subnet:
- Setel Subnet creation mode ke Custom.
Di bagian New subnet, masukkan informasi berikut:
- Nama:
lb-frontend-and-backend-subnet
Region:
us-west1
Rentang alamat IP:
10.1.2.0/24
- Nama:
Klik Selesai.
Klik Create.
gcloud
Buat jaringan VPC dengan perintah
gcloud compute networks create
:gcloud compute networks create lb-network --subnet-mode=custom
Buat subnet di jaringan
lb-network
di regionus-west1
:gcloud compute networks subnets create lb-frontend-and-backend-subnet
--network=lb-network
--range=10.1.2.0/24
--region=us-west1
Terraform
Buat jaringan VPC:
Buat subnet di region
us-west1
:
Konfigurasi subnet khusus proxy
Subnet khusus proxy digunakan oleh semua load balancer berbasis Envoy regional di region us-west1
, dalam jaringan VPC lb-network
. Hanya ada satu subnet khusus proxy aktif per region, per jaringan.
Jangan lakukan langkah ini jika sudah ada subnet khusus proxy yang dicadangkan di region us-west1
dalam jaringan ini.
Semua langkah di bagian ini harus dilakukan di project host.
Konsol
- Di Google Cloud konsol, buka halaman VPC networks.
- Klik nama jaringan VPC Bersama:
lb-network
. - Klik Tambahkan subnet.
- Untuk Name, masukkan
proxy-only-subnet
. - Untuk Region, pilih
us-west1
. - Tetapkan Purpose ke Regional Managed Proxy.
- Untuk Rentang alamat IP, masukkan
10.129.0.0/23
. - Klik Tambahkan.
gcloud
Buat subnet khusus proxy dengan perintah gcloud compute networks subnets
create
:
gcloud compute networks subnets create proxy-only-subnet \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=us-west1 \ --network=lb-network \ --range=10.129.0.0/23
Terraform
Buat subnet khusus proxy:
Memberi admin project layanan akses ke subnet backend
Administrator project layanan memerlukan akses ke subnetlb-frontend-and-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 Clouddi130.211.0.0/22
dan35.191.0.0/16
. Contoh ini menggunakan tag targetload-balanced-backend
untuk mengidentifikasi instance tempat tag harus diterapkan.
fw-allow-proxies
. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic TCP pada port80
,443
, dan8080
dari proxy terkelola load balancer. Contoh ini menggunakan tag targetload-balanced-backend
untuk mengidentifikasi instance tempat tag harus diterapkan.
fw-allow-ssh
. Aturan ingress, yang berlaku untuk instance yang di-load balance, yang memungkinkan konektivitas SSH yang masuk pada TCP port22
dari alamat mana pun. Anda dapat memilih rentang IP sumber yang lebih ketat untuk aturan ini. Misalnya, Anda dapat menentukan hanya rentang IP sistem tempat Anda memulai sesi SSH. Contoh ini menggunakan tag targetallow-ssh
untuk mengidentifikasi virtual machine (VM) yang menerapkan aturan firewall.
Semua langkah di bagian ini harus dilakukan di project host.
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
- 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
dan35.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 port80
untuk menghubungi VM Anda, tetapi tidak dapat menggunakan HTTPS di port443
untuk menghubungi VM. - Klik Buat.
- Klik Create firewall rule untuk membuat aturan yang mengizinkan Google Cloud health check:
- Nama:
fw-allow-proxies
- 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:
10.129.0.0/23
- Protokol dan port:
- Pilih Specified protocols and ports.
- Centang TCP dan masukkan
80, 443, 8080
untuk nomor port.
- Klik Buat.
- Klik Create firewall rule untuk membuat aturan yang mengizinkan Google Cloud health check:
- Nama:
fw-allow-ssh
- Jaringan:
lb-network
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target:
allow-ssh
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
0.0.0.0/0
- Protokol dan port:
- Pilih Specified protocols and ports.
- Centang TCP dan masukkan
22
untuk nomor port.
- Klik Buat.
gcloud
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
Buat aturan firewall
fw-allow-proxies
untuk mengizinkan traffic dari subnet khusus proxy Envoy menjangkau backend Anda.gcloud compute firewall-rules create fw-allow-proxies \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.129.0.0/23 \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080
Buat aturan firewall
fw-allow-ssh
untuk mengizinkan konektivitas SSH ke VM dengan tag jaringanallow-ssh
. Jika Anda menghapussource-ranges
, Google Cloud akan menafsirkan aturan sebagai sumber apa pun.gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Terraform
Buat aturan firewall untuk mengizinkan Google Cloud health check.
Buat aturan firewall untuk mengizinkan traffic dari subnet khusus proxy Envoy menjangkau backend Anda.
Buat aturan firewall untuk mengizinkan konektivitas SSH ke VM dengan tag jaringan
allow-ssh
.
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 di project layanan
Contoh ini membuat Load Balancer Aplikasi internal tempat semua komponen load balancing (aturan penerusan, proxy target, peta URL, dan layanan backend) serta backend dibuat di project layanan.
Resource jaringan Load Balancer Aplikasi internal seperti subnet khusus proxy dan subnet untuk instance backend dibuat di project host. Aturan firewall untuk instance backend juga dibuat di project host.
Bagian ini menunjukkan cara menyiapkan load balancer dan backend. 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 sebagian besar mirip dengan langkah-langkah standar untuk menyiapkan Load Balancer Aplikasi internal.
Contoh di halaman ini secara eksplisit menetapkan alamat IP internal yang dicadangkan untuk aturan penerusan Load Balancer Aplikasi internal, bukan mengizinkan alokasi alamat IP internal sementara. Sebagai praktik terbaik, sebaiknya Anda mencadangkan alamat IP untuk aturan penerusan.
Membuat backend grup instance terkelola
Bagian ini menunjukkan cara membuat template dan grup instance terkelola. Grup instance terkelola menyediakan instance VM yang menjalankan server backend contoh Load Balancer Aplikasi internal. Traffic dari klien di-load balance ke server backend ini. Untuk tujuan demonstrasi, backend akan menyajikan nama host-nya sendiri.
Konsol
Membuat template instance. Di konsol Google Cloud , buka halaman Instance templates.
Buka halaman Template instance
- Klik Create instance template.
- Untuk Name, masukkan
l7-ilb-backend-template
. - Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti
apt-get
. Jika Anda perlu mengubah Boot disk, klik Ubah.- Untuk Operating System, pilih Debian.
- Untuk Version, pilih salah satu image Debian yang tersedia, seperti Debian GNU/Linux 12 (bookworm).
- Klik Pilih.
- Klik Advanced options, lalu klik Networking.
- Masukkan tag Jaringan berikut:
allow-ssh
,load-balanced-backend
. - Di bagian Network interfaces, pilih Networks shared with me (from host project: HOST_PROJECT_ID).
- Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
. - Klik Management. Untuk Management, masukkan skrip
berikut ke dalam kolom 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 - Klik Buat.
Membuat grup instance terkelola. Di konsol Google Cloud , buka halaman Instance groups.
- Klik Create instance group.
- Pilih New managed instance group (stateless). Untuk mengetahui informasi selengkapnya, lihat MIG stateless atau stateful.
- Untuk Name, masukkan
l7-ilb-backend-example
. - Untuk Location, pilih Single zone.
- Untuk Region, pilih
us-west1
. - Untuk Zone, pilih
us-west1-a
. - Untuk Instance template, pilih
l7-ilb-backend-template
. Tentukan jumlah instance yang ingin Anda buat dalam grup.
Untuk contoh ini, tentukan opsi berikut untuk Penskalaan otomatis:
- Untuk Autoscaling mode, pilih
Off:do not autoscale
. - Untuk Maximum number of instances, masukkan
2
.
Secara opsional, di bagian Autoscaling pada UI, Anda dapat mengonfigurasi grup instance untuk menambahkan atau menghapus instance secara otomatisberdasarkan penggunaan CPU instance.
- Untuk Autoscaling mode, pilih
Klik Buat.
gcloud
Petunjuk gcloud
dalam panduan ini mengasumsikan bahwa Anda menggunakan Cloud Shell atau lingkungan lain dengan bash yang terinstal.
Buat template instance VM dengan server HTTP menggunakan perintah
gcloud compute instance-templates create
.gcloud compute instance-templates create l7-ilb-backend-template \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=allow-ssh,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
Buat grup instance terkelola di zona dengan perintah
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create l7-ilb-backend-example \ --zone=us-west1-a \ --size=2 \ --template=l7-ilb-backend-template \ --project=SERVICE_PROJECT_ID
Terraform
Buat template instance VM.
Membuat grup instance terkelola.
Untuk HTTP:
Untuk HTTPS:
Mengonfigurasi load balancer
Bagian ini menunjukkan cara membuat resource Load Balancer Aplikasi internal:
- Health check HTTP
- Layanan backend dengan grup instance terkelola sebagai backend
- Peta URL
- Sertifikat SSL (hanya diperlukan untuk HTTPS)
- Proxy target
- Aturan penerusan
Ketersediaan proxy
Bergantung pada jumlah project layanan yang menggunakan jaringan VPC Bersama yang sama, Anda mungkin mencapai kuota atau batas lebih cepat daripada dalam model deployment jaringan di mana setiap project menghosting jaringannya sendiri. Google Cloud
Misalnya, terkadang region Google Cloud tidak memiliki kapasitas proxy yang cukup untuk Load Balancer Aplikasi internal baru. Jika hal ini terjadi, Google Cloud konsol akan memberikan pesan peringatan ketersediaan proxy saat Anda membuat load balancer. Untuk mengatasi masalah ini, Anda dapat melakukan salah satu tindakan berikut:
- Tunggu hingga masalah kapasitas teratasi.
Hubungi tim penjualan Google Cloud Anda untuk meningkatkan batas ini.
Konsol
Beralih konteks ke project layanan
- Di konsol Google Cloud , buka halaman Dasbor.
- Klik daftar Select from di bagian atas halaman. Di jendela Pilih dari yang muncul, pilih project layanan tempat Anda ingin membuat load balancer.
Pilih jenis load balancer
Di konsol Google Cloud , buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS), lalu klik Next.
- Untuk Public facing or internal, pilih Internal, lalu klik Next.
- Untuk Cross-region or single region deployment, pilih Best for regional workloads, lalu klik Next.
- Klik Configure.
Konfigurasi dasar
- Untuk Name load balancer, masukkan
l7-ilb-shared-vpc
. - Untuk Region, pilih
us-west1
. Untuk Network, pilih lb-network (dari Project: HOST_PROJECT_ID).
Jika Anda melihat peringatan Subnet khusus proxy diperlukan di jaringan VPC Bersama, konfirmasi bahwa admin project host telah membuat
proxy-only-subnet
di regionus-west1
dalam jaringan VPC Bersamalb-network
. Pembuatan load balancer berhasil meskipun Anda tidak memiliki izin untuk melihat subnet khusus proxy di halaman ini.Biarkan jendela tetap terbuka untuk melanjutkan.
Mengonfigurasi backend
- Klik Backend configuration.
- Dari menu Create or select backend services, pilih Create a backend service.
- Setel Name layanan backend ke
l7-ilb-backend-service
. - Tetapkan Backend type ke Instance groups.
- Di bagian New backend:
- Tetapkan Instance group ke
l7-ilb-backend-example
. - Tetapkan Port numbers ke
80
. - Tetapkan Balancing mode ke Utilization.
- Klik Selesai.
- Tetapkan Instance group ke
- Di bagian Health check, pilih Create a health check dengan
parameter berikut:
- Nama:
l7-ilb-basic-check
- Protokol:
HTTP
- Port:
80
- Nama:
- Klik Simpan dan Lanjutkan.
- Klik Buat.
Mengonfigurasi aturan perutean
- Klik Routing rules. Pastikan
l7-ilb-backend-service
adalah satu-satunya layanan backend untuk semua host dan jalur yang tidak cocok.
Untuk informasi tentang pengelolaan traffic, lihat Menyiapkan pengelolaan traffic.
Mengonfigurasi frontend
Untuk HTTP:
- Klik Frontend configuration.
- Tetapkan Name ke
l7-ilb-forwarding-rule
. - Setel Protocol ke
HTTP
. - Tetapkan Subnetwork ke
lb-frontend-and-backend-subnet
. Jangan pilih subnet khusus proxy untuk frontend meskipun merupakan opsi dalam daftar. - Tetapkan Port ke
80
. - Klik menu IP address, lalu klik Create IP address.
- Di panel Reserve a static internal IP address, berikan
detail berikut:
- Untuk Name, masukkan
ip-address-shared-vpc
. - Untuk Static IP address, klik Let me choose. Untuk Alamat IP
kustom, masukkan
10.1.2.99
. - (Opsional) Jika Anda ingin membagikan alamat IP ini ke frontend yang berbeda, tetapkan Tujuan ke Dibagikan.
- Untuk Name, masukkan
- Klik Selesai.
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 saat ini tidak didukung dengan Load Balancer Aplikasi internal.
- Klik Frontend configuration.
- Di kolom Name, masukkan
l7-ilb-forwarding-rule
. - Pada kolom Protocol, pilih
HTTPS (includes HTTP/2)
. - Tetapkan Subnetwork ke
lb-frontend-and-backend-subnet
. Jangan pilih subnet khusus proxy untuk frontend meskipun merupakan opsi dalam daftar. - Pastikan Port ditetapkan ke
443
untuk mengizinkan traffic HTTPS. - Klik menu IP address, lalu klik Create IP address.
- Di panel Reserve a static internal IP address, berikan
detail berikut:
- Untuk Name, masukkan
ip-address-shared-vpc
. - Untuk Static IP address, klik Let me choose. Untuk Alamat IP
kustom, masukkan
10.1.2.99
. - (Opsional) Jika Anda ingin membagikan alamat IP ini ke frontend yang berbeda, tetapkan Tujuan ke Dibagikan.
- Untuk Name, masukkan
- Klik daftar Certificate.
- Jika Anda sudah memiliki resource sertifikat SSL yang dikelola sendiri yang ingin digunakan sebagai sertifikat SSL utama, pilih sertifikat tersebut dari menu.
- Jika tidak, pilih Create a new certificate.
- Isi Name
l7-ilb-cert
. - Di kolom yang sesuai, upload file berformat PEM:
- Sertifikat kunci publik
- Rantai sertifikat
- Kunci pribadi
- Klik Create.
- Isi Name
- Untuk menambahkan resource sertifikat selain
resource sertifikat SSL utama:
- Klik Add certificate.
- Pilih sertifikat dari daftar Certificates atau klik Create a new certificate, lalu ikuti petunjuk sebelumnya.
- Klik Selesai.
Meninjau dan menyelesaikan konfigurasi
- Klik Buat.
gcloud
Tentukan health check HTTP dengan perintah
gcloud compute health-checks create http
.gcloud compute health-checks create http l7-ilb-basic-check \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_ID
Tentukan layanan backend dengan perintah
gcloud compute backend-services create
.gcloud compute backend-services create l7-ilb-backend-service \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=l7-ilb-basic-check \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Tambahkan backend ke layanan backend dengan perintah
gcloud compute backend-services add-backend
.gcloud compute backend-services add-backend l7-ilb-backend-service \ --balancing-mode=UTILIZATION \ --instance-group=l7-ilb-backend-example \ --instance-group-zone=us-west1-a \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Buat peta URL dengan perintah
gcloud compute url-maps create
.gcloud compute url-maps create l7-ilb-map \ --default-service=l7-ilb-backend-service \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Buat proxy target.
Untuk HTTP:
Untuk load balancer HTTP internal, buat proxy target dengan perintah
gcloud compute target-http-proxies create
.gcloud compute target-http-proxies create l7-ilb-proxy \ --url-map=l7-ilb-map \ --url-map-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_ID
Untuk HTTPS:
Untuk mengetahui informasi tentang cara membuat resource sertifikat SSL, lihat Sertifikat SSL. Sertifikat yang dikelola Google saat ini tidak didukung dengan Load Balancer Aplikasi internal.
Menetapkan jalur file ke nama variabel.
export LB_CERT=path to PEM-formatted file
export LB_PRIVATE_KEY=path to PEM-formatted file
Buat sertifikat SSL regional menggunakan perintah
gcloud compute ssl-certificates create
.gcloud compute ssl-certificates create l7-ilb-cert \ --certificate=$LB_CERT \ --private-key=$LB_PRIVATE_KEY \ --region=us-west1
Gunakan sertifikat SSL regional untuk membuat proxy target dengan perintah
gcloud compute target-https-proxies create
.gcloud compute target-https-proxies create l7-ilb-proxy \ --url-map=l7-ilb-map \ --region=us-west1 \ --ssl-certificates=l7-ilb-cert \ --project=SERVICE_PROJECT_ID
Membuat aturan penerusan.
Untuk jaringan kustom, Anda harus mereferensikan subnet dalam aturan penerusan.
Untuk alamat IP aturan penerusan, gunakan
lb-frontend-and-backend-subnet
. Jika Anda mencoba menggunakan subnet khusus proxy, pembuatan aturan penerusan akan gagal.Untuk HTTP:
Gunakan perintah
gcloud compute forwarding-rules create
dengan flag yang benar.gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --address=IP_ADDRESS_NAME \ --ports=80 \ --region=us-west1 \ --target-http-proxy=l7-ilb-proxy \ --target-http-proxy-region=us-west1 \ --project=SERVICE_PROJECT_ID
Untuk HTTPS:
Gunakan perintah
gcloud compute forwarding-rules create
dengan flag yang benar.gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --address=IP_ADDRESS_NAME \ --ports=443 \ --region=us-west1 \ --target-https-proxy=l7-ilb-proxy \ --target-https-proxy-region=us-west1 \ --project=SERVICE_PROJECT_ID
Terraform
Tentukan health check HTTP.
Untuk HTTP:
Untuk HTTPS:
Tentukan layanan backend.
Buat peta URL.
Buat proxy target.
Untuk HTTP:
Untuk HTTPS: Buat sertifikat SSL regional
Untuk mengetahui informasi tentang cara membuat resource sertifikat SSL, lihat Sertifikat SSL. Sertifikat yang dikelola Google saat ini tidak didukung dengan Load Balancer Aplikasi internal.
Menggunakan sertifikat SSL regional untuk membuat proxy target
Membuat aturan penerusan.
Untuk jaringan kustom, Anda harus mereferensikan subnet dalam aturan penerusan.
Untuk HTTP:
Untuk HTTPS:
Menguji load balancer
Untuk menguji load balancer, buat VM klien contoh terlebih dahulu. Kemudian, buat sesi SSH dengan VM dan kirim traffic dari VM ini ke load balancer.
Membuat instance VM pengujian
Klien dapat berada di project host atau project layanan yang terhubung. Dalam contoh ini, Anda akan menguji bahwa load balancer berfungsi dengan men-deploy VM klien di project layanan. Klien harus menggunakan jaringan VPC Bersama yang sama dan berada di region yang sama dengan load balancer.
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Klik Create instance.
Tetapkan Name ke
client-vm
.Setel Zone ke us-west1-a.
Klik Advanced options, lalu klik Networking.
Masukkan tag Jaringan berikut:
allow-ssh
,load-balanced-backend
.Di bagian Network interfaces, pilih Networks shared with me (from host project: HOST_PROJECT_ID).
Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
.Klik Buat.
gcloud
Buat instance VM pengujian.
gcloud compute instances create client-vm \ --image-family=debian-12 \ --image-project=debian-cloud \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --zone=us-west1-a \ --tags=allow-ssh \ --project=SERVICE_PROJECT_ID
Terraform
Buat instance VM pengujian.
Mengirim traffic ke load balancer
Gunakan SSH untuk terhubung ke instance yang baru saja Anda buat dan uji apakah layanan HTTP(S) di backend dapat dijangkau melalui alamat IP aturan penerusan Load Balancer Aplikasi internal dan apakah traffic di-load balance di seluruh instance backend.
Hubungkan ke instance klien dengan SSH.
gcloud compute ssh client-vm \ --zone=us-west1-a
Verifikasi bahwa alamat IP menyalurkan nama host-nya. Ganti LB_IP_ADDRESS dengan alamat IP load balancer.
curl LB_IP_ADDRESS
Untuk pengujian HTTPS, ganti
curl
dengan yang berikut:curl -k -s 'https://LB_IP_ADDRESS:443'
Flag
-k
menyebabkan curl melewati validasi sertifikat.
Mengonfigurasi load balancer dengan layanan backend lintas project
Contoh sebelumnya di halaman ini menunjukkan cara menyiapkan deployment VPC Bersama tempat semua komponen load balancer dan backend-nya dibuat di project layanan.
Load Balancer Aplikasi Internal juga memungkinkan Anda mengonfigurasi deployment VPC Bersama tempat peta URL di satu host atau project layanan dapat mereferensikan layanan backend (dan backend) yang terletak di beberapa project layanan di lingkungan VPC Bersama. Hal ini disebut sebagai referensi layanan lintas project.
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 project layanan, serta layanan backend di project layanan lain
Referensi layanan lintas project dapat digunakan dengan grup instance, NEG tanpa server, atau jenis backend lain yang didukung. Jika Anda menggunakan NEG serverless, Anda perlu membuat VM di jaringan VPC tempat Anda ingin membuat frontend load balancer. Sebagai contoh, lihat Membuat instance VM di subnet tertentu di Menyiapkan Load Balancer Aplikasi internal dengan Cloud Run.
Persyaratan penyiapan
Contoh ini mengonfigurasi load balancer contoh dengan frontend dan backend-nya di dua project layanan yang berbeda.
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:
Buat backend dan layanan backend di project layanan B
Semua langkah di bagian ini harus dilakukan di project layanan B.
Konsol
Membuat template instance. Di konsol Google Cloud , buka halaman Instance templates.
Buka halaman Template instance
- Klik Create instance template.
- Masukkan Nama untuk template instance:
cross-ref-backend-template
. - Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti
apt-get
. Jika Anda perlu mengubah Boot disk, klik Ubah.- Untuk Operating System, pilih Debian.
- Untuk Version, pilih salah satu image Debian yang tersedia, seperti Debian GNU/Linux 12 (bookworm).
- Klik Pilih.
- Klik Advanced options, lalu klik Networking.
- Masukkan tag Jaringan berikut:
allow-ssh
,load-balanced-backend
. - Di bagian Network interfaces, pilih Networks shared with me (from host project: HOST_PROJECT_ID).
- Pilih subnet
lb-frontend-and-backend-subnet
dari jaringanlb-network
. - Klik Management. Untuk Management, masukkan skrip
berikut ke dalam kolom 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 - Klik Buat.
Membuat grup instance terkelola. Di konsol Google Cloud , buka halaman Instance groups.
- Klik Create instance group.
- Pilih New managed instance group (stateless). Untuk mengetahui informasi selengkapnya, lihat MIG stateless atau stateful.
- Masukkan Nama untuk grup instance:
cross-ref-ig-backend
. - Untuk Location, pilih Single zone.
- Untuk Region, pilih
us-west1
. - Untuk Zone, pilih
us-west1-a
. - Untuk Instance template, pilih cross-ref-backend-template.
Tentukan jumlah instance yang ingin Anda buat dalam grup.
Untuk contoh ini, tentukan opsi berikut untuk Penskalaan otomatis:
- Untuk Autoscaling mode, pilih
Off:do not autoscale
. - Untuk Maximum number of instances, masukkan
2
.
Secara opsional, di bagian Autoscaling pada UI, Anda dapat mengonfigurasi grup instance untuk menambahkan atau menghapus instance secara otomatisberdasarkan penggunaan CPU instance.
- Untuk Autoscaling mode, pilih
Klik Buat.
Buat layanan backend regional. Sebagai bagian dari langkah ini, kita juga akan membuat health check dan menambahkan backend ke layanan backend. Di konsol Google Cloud , buka halaman Backend.
- Klik Create regional backend service.
- Masukkan Name untuk layanan backend:
cross-ref-backend-service
. - Untuk Region, pilih us-west1.
- Untuk Load balancer type, pilih Regional internal Application Load Balancer (INTERNAL_MANAGED).
- Setel Backend type ke Instance groups.
- Di bagian Backend, tetapkan Jaringan ke lb-network.
- Klik Add backend, lalu tetapkan kolom berikut:
- Setel Instance group ke cross-ref-ig-backend.
- Masukkan Nomor port:
80
. - Tetapkan Balancing mode ke Utilization.
- Klik Selesai.
- Di bagian Health check, pilih Create a health check dengan
parameter berikut:
- Nama:
cross-ref-http-health-check
- Protokol:
HTTP
- Port:
80
- Klik Simpan.
- Nama:
- Klik Lanjutkan.
Opsional: Di bagian Tambahkan izin, masukkan akun utama IAM (biasanya alamat email) Admin Load Balancer dari project lain agar 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 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.
Klik Buat.
gcloud
Buat template instance VM dengan server HTTP menggunakan perintah
gcloud compute instance-templates create
.gcloud compute instance-templates create BACKEND_IG_TEMPLATE \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --tags=allow-ssh,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
Ganti kode berikut:
BACKEND_IG_TEMPLATE
: nama untuk template grup instance.SERVICE_PROJECT_B_ID
: project ID untuk project layanan B, tempat backend load balancer dan layanan backend dibuat.HOST_PROJECT_ID
: project ID untuk project host VPC Bersama.
Buat grup instance terkelola di zona dengan perintah
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create BACKEND_MIG \ --zone=us-west1-a \ --size=2 \ --template=BACKEND_IG_TEMPLATE \ --project=SERVICE_PROJECT_B_ID
Ganti kode berikut:
BACKEND_MIG
: nama untuk grup instance backend.
Tentukan health check HTTP dengan perintah
gcloud compute health-checks create http
.gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=us-west1 \ --use-serving-port \ --project=SERVICE_PROJECT_B_ID
Ganti kode berikut:
HTTP_HEALTH_CHECK_NAME
: nama untuk pemeriksaan kesehatan HTTP.
Tentukan layanan backend dengan perintah
gcloud compute backend-services create
.gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_B_ID
Ganti kode berikut:
BACKEND_SERVICE_NAME
: nama untuk layanan backend yang dibuat di project layanan B.
Tambahkan backend ke layanan backend dengan perintah
gcloud compute backend-services add-backend
.gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --balancing-mode=UTILIZATION \ --instance-group=BACKEND_MIG \ --instance-group-zone=us-west1-a \ --region=us-west1 \ --project=SERVICE_PROJECT_B_ID
Terraform
Membuat template instance.
Membuat grup instance terkelola.
Untuk HTTP
Untuk HTTPS
Buat health check untuk backend.
Untuk HTTP
Untuk HTTPS
Buat layanan backend regional.
Buat frontend load balancer dan peta URL di project layanan A
Semua langkah di bagian ini harus dilakukan di project layanan A.
Konsol
Pilih jenis load balancer
Di konsol Google Cloud , buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Application Load Balancer (HTTP/HTTPS), lalu klik Next.
- Untuk Public facing or internal, pilih Internal, lalu klik Next.
- Untuk Cross-region or single region deployment, pilih Best for regional workloads, lalu klik Next.
- Klik Configure.
Konfigurasi dasar
- Masukkan Nama untuk load balancer.
- Untuk Region, pilih
us-west1
. Untuk Network, pilih lb-network (dari Project: HOST_PROJECT_NAME).
Jika Anda melihat peringatan Subnet khusus proxy diperlukan di jaringan VPC Bersama, konfirmasi bahwa admin project host telah membuat
proxy-only-subnet
di regionus-west1
dalam jaringan VPC Bersamalb-network
. Pembuatan load balancer berhasil meskipun Anda tidak memiliki izin untuk melihat subnet khusus proxy di halaman ini.Biarkan jendela tetap terbuka untuk melanjutkan.
Mengonfigurasi backend
- Klik Backend configuration.
- Klik Cross-project backend services.
- Untuk Project ID, masukkan project ID untuk project layanan B.
- 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
. - 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.
Mengonfigurasi frontend
Agar referensi layanan lintas project berfungsi, frontend harus menggunakan
jaringan yang sama (lb-network
) dari project host VPC Bersama
yang digunakan untuk membuat layanan backend.
Untuk HTTP:
- Klik Frontend configuration.
- Masukkan Name untuk aturan penerusan:
cross-ref-http-forwarding-rule
. - Setel Protocol ke
HTTP
. - Tetapkan Subnetwork ke
lb-frontend-and-backend-subnet
. Jangan pilih subnet khusus proxy untuk frontend meskipun merupakan opsi dalam daftar. - Tetapkan Port ke
80
. - Klik menu IP address, lalu klik Create IP address.
- Di panel Reserve a static internal IP address, berikan
detail berikut:
- Untuk Name, masukkan
cross-ref-ip-address
. - Untuk Static IP address, klik Let me choose. Untuk Alamat IP
kustom, masukkan
10.1.2.98
. - (Opsional) Jika Anda ingin membagikan alamat IP ini ke frontend yang berbeda, tetapkan Tujuan ke Dibagikan.
- Untuk Name, masukkan
- Klik Selesai.
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 saat ini tidak didukung dengan Load Balancer Aplikasi internal.
- Klik Frontend configuration.
- Masukkan Name untuk aturan penerusan:
cross-ref-https-forwarding-rule
. - Pada kolom Protocol, pilih
HTTPS (includes HTTP/2)
. - Tetapkan Subnetwork ke
lb-frontend-and-backend-subnet
. Jangan pilih subnet khusus proxy untuk frontend meskipun merupakan opsi dalam daftar. - Pastikan Port ditetapkan ke
443
untuk mengizinkan traffic HTTPS. - Klik menu IP address, lalu klik Create IP address.
- Di panel Reserve a static internal IP address, berikan
detail berikut:
- Untuk Name, masukkan
cross-ref-ip-address
. - Untuk Static IP address, klik Let me choose. Untuk Alamat IP
kustom, masukkan
10.1.2.98
. - (Opsional) Jika Anda ingin membagikan alamat IP ini ke frontend yang berbeda, tetapkan Tujuan ke Dibagikan.
- Untuk Name, masukkan
- Klik daftar Certificate.
- Jika Anda sudah memiliki resource sertifikat SSL yang dikelola sendiri yang ingin digunakan sebagai sertifikat SSL utama, pilih sertifikat tersebut dari menu.
- Jika tidak, pilih Create a new certificate.
- Masukkan Nama untuk sertifikat SSL.
- Di kolom yang sesuai, upload file berformat PEM:
- Sertifikat kunci publik
- Rantai sertifikat
- Kunci pribadi
- Klik Create.
- Untuk menambahkan resource sertifikat selain
resource sertifikat SSL utama:
- Klik Add certificate.
- Pilih sertifikat dari daftar Certificates atau klik Create a new certificate, lalu ikuti petunjuk sebelumnya.
- Klik Selesai.
Meninjau dan menyelesaikan konfigurasi
- Klik Buat.
Menguji load balancer
Setelah load balancer dibuat, uji load balancer menggunakan langkah-langkah yang dijelaskan dalam Menguji load balancer.
gcloud
Opsional: Sebelum membuat load balancer dengan layanan backend yang saling mereferensikan, cari tahu apakah layanan backend yang ingin Anda referensikan dapat direferensikan menggunakan peta URL:
gcloud compute backend-services list-usable \ --region=us-west1 \ --project=SERVICE_PROJECT_B_ID
Buat peta URL dan tetapkan layanan default ke layanan backend yang dibuat di project layanan B.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=projects/SERVICE_PROJECT_B_ID/regions/us-west1/backendServices/BACKEND_SERVICE_NAME \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
URL_MAP_NAME
: nama untuk peta URL.BACKEND_SERVICE_NAME
: nama untuk layanan backend yang dibuat di project layanan B.SERVICE_PROJECT_B_ID
: project ID untuk project layanan B, tempat backend load balancer dan layanan backend dibuat.SERVICE_PROJECT_A_ID
: project ID untuk project layanan A, tempat frontend load balancer dibuat.
Pembuatan peta URL gagal jika Anda tidak memiliki izin
compute.backendServices.use
untuk layanan backend di project layanan B.Buat proxy target.
Untuk HTTP:
gcloud compute target-http-proxies create HTTP_TARGET_PROXY_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=us-west1 \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
HTTP_TARGET_PROXY_NAME
: nama untuk proxy HTTP target.
Untuk HTTPS:
Buat sertifikat SSL regional menggunakan perintah
gcloud compute ssl-certificates create
.gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate=PATH_TO_CERTIFICATE \ --private-key=PATH_TO_PRIVATE_KEY \ --region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
SSL_CERTIFICATE_NAME
: nama untuk resource sertifikat SSL.PATH_TO_CERTIFICATE
: jalur ke file sertifikat SSL lokal dalam format PEM.PATH_TO_PRIVATE_KEY
: jalur ke kunci pribadi sertifikat SSL lokal dalam format PEM.
Gunakan sertifikat SSL regional untuk membuat proxy target dengan perintah
gcloud compute target-https-proxies create
.gcloud compute target-https-proxies create HTTPS_TARGET_PROXY_NAME \ --url-map=URL_MAP_NAME \ --region=us-west1 \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
HTTPS_TARGET_PROXY_NAME
: nama untuk proxy HTTPS target.
Membuat aturan penerusan. Agar referensi layanan lintas project berfungsi, aturan penerusan harus menggunakan jaringan yang sama (
lb-network
) dari project host VPC Bersama yang digunakan untuk membuat layanan backend.Untuk HTTP:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --address=IP_ADDRESS_CROSS_REF \ --ports=80 \ --region=us-west1 \ --target-http-proxy=HTTP_TARGET_PROXY_NAME \ --target-http-proxy-region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
HTTP_FORWARDING_RULE_NAME
: nama untuk aturan penerusan yang digunakan untuk menangani traffic HTTP.
Untuk HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \ --address=IP_ADDRESS_CROSS_REF \ --ports=443 \ --region=us-west1 \ --target-https-proxy=HTTPS_TARGET_PROXY_NAME \ --target-https-proxy-region=us-west1 \ --project=SERVICE_PROJECT_A_ID
Ganti kode berikut:
HTTPS_FORWARDING_RULE_NAME
: nama untuk aturan penerusan yang digunakan untuk menangani traffic HTTPS.
Untuk menguji load balancer, gunakan langkah-langkah yang dijelaskan dalam Menguji load balancer.
Terraform
Buat peta URL.
Buat proxy target.
Untuk HTTP
Untuk HTTPS
Membuat sertifikat SSL regional
Menggunakan sertifikat SSL regional untuk membuat proxy target
Membuat aturan penerusan.
Untuk HTTP
Untuk HTTPS
Untuk menguji load balancer, gunakan langkah-langkah yang dijelaskan dalam Menguji load balancer.
Memberikan izin kepada Admin Load Balancer 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.regionBackendServices.setIamPolicy
dan
resourcemanager.projects.setIamPolicy
untuk menyelesaikan langkah ini.
Di konsol Google Cloud , buka halaman IAM.
Pilih project Anda.
Klik
Berikan akses.Di kolom New principals, masukkan alamat email atau ID lain akun utama.
Dalam daftar Select a role, pilih Compute Load Balancer Services User.
Opsional: Tambahkan kondisi ke peran.
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.regionBackendServices.setIamPolicy
untuk
menyelesaikan langkah ini.
Di konsol Google Cloud , buka halaman Backend.
Dari daftar backend, pilih layanan backend yang ingin Anda beri akses, lalu klik
Izin.Klik
Add principal.Di kolom New principals, masukkan alamat email atau ID lain akun utama.
Dalam daftar Select a role, pilih Compute Load Balancer Services User.
Klik Simpan.
gcloud
Izin tingkat project
Gunakan langkah-langkah berikut untuk memberikan izin ke semua layanan backend di project Anda.
Anda memerlukan izin compute.regionBackendServices.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.regionBackendServices.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.
Untuk melihat peta URL yang mereferensikan layanan backend VPC Bersama tertentu, ikuti langkah-langkah berikut:
gcloud
Untuk melihat resource yang mereferensikan layanan backend VPC Bersama regional, jalankan perintah berikut:
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION
Ganti kode berikut:
BACKEND_SERVICE_NAME
: nama layanan backend load balancerREGION
: region load balancer
Dalam output perintah, tinjau kolom usedBy
, yang menampilkan
resource yang mereferensikan layanan backend, seperti yang ditunjukkan dalam
contoh berikut:
id: '123456789' kind: compute#backendService loadBalancingScheme: INTERNAL_MANAGED ... usedBy: - reference: https://www.googleapis.com/compute/v1/projects/my-project/region/us-central1/urlMaps/my-url-map
Langkah berikutnya
- Anda dapat membatasi penggunaan fitur VPC Bersama seperti referensi layanan lintas project di project Anda menggunakan batasan kebijakan organisasi. Untuk mengetahui informasi selengkapnya, lihat Batasan kebijakan organisasi untuk Cloud Load Balancing.
- Untuk mengelola resource subnet khusus proxy yang diperlukan oleh Load Balancer Aplikasi internal, lihat Subnet khusus proxy untuk Load Balancer Aplikasi internal.
- Untuk mengetahui cara memecahkan masalah pada Load Balancer Aplikasi internal, lihat bagian Memecahkan masalah Load Balancer Aplikasi internal.
- Bersihkan penyiapan load balancer.