Dokumen ini menunjukkan cara membuat Load Balancer Aplikasi eksternal global dengan layanan backend dan bucket backend yang terletak di project yang berbeda dari tempat frontend load balancer dan peta URL berada. Model deployment ini dikenal sebagai referensi layanan lintas project.
Contoh yang digunakan dalam dokumen ini tidak menggunakan lingkungan VPC Bersama untuk mengonfigurasi referensi layanan lintas project. Untuk mempelajari lebih lanjut cara mengonfigurasi referensi layanan lintas project di lingkungan VPC Bersama, lihat Menyiapkan Load Balancer Aplikasi eksternal global dengan VPC Bersama.
Sebelum memulai
Pastikan penyiapan Anda memenuhi prasyarat berikut.
Diperlukan peran dan izin IAM
Untuk mengikuti panduan ini, Anda harus memiliki peran IAM berikut:
Tugas | Peran yang diperlukan |
---|---|
Membuat project | Peran Project Creator (roles/resourcemanager.projectCreator )
|
Membuat resource komputasi | Peran Compute Network Admin (roles/compute.networkAdmin )
|
Membuat bucket Cloud Storage | Peran Storage Object Admin (roles/storage.objectAdmin )
|
Menggunakan resource dari project lain (Dalam contoh ini, project A mereferensikan layanan backend dan bucket backend yang berada di project B.) |
Dalam contoh ini, administrator project B harus memberikan
peran Pengguna Layanan Load Balancer Compute
( Untuk mempelajari lebih lanjut cara menetapkan peran ini, lihat Memberikan izin kepada Admin Load Balancer Compute untuk menggunakan layanan backend. |
Membuat Google Cloud project
Untuk contoh dalam dokumen ini, ikuti petunjuk dua kali untuk membuat dua project Google Cloud .
Konsol
Untuk membuat project baru, lakukan langkah berikut:
-
Buka halaman Manage resources di Google Cloud konsol.
Langkah-langkah lainnya akan muncul di konsol Google Cloud .
- Pada menu drop-down Select organization di bagian atas halaman, pilih resource organisasi tempat Anda ingin membuat project. Jika Anda adalah pengguna uji coba gratis, lewati langkah ini, karena daftar ini tidak muncul.
- Klik Buat Project.
- Di jendela Project Baru yang muncul, masukkan nama project dan pilih akun penagihan yang berlaku. Nama project hanya boleh berisi huruf, angka, tanda kutip tunggal, tanda hubung, spasi, atau tanda seru, serta harus memiliki 4 sampai 30 karakter.
- Masukkan resource folder atau organisasi induk di kotak Location. Resource tersebut akan menjadi induk hierarkis dari project baru. Jika opsi Tidak ada organisasi tersedia, Anda dapat memilihnya untuk membuat project baru sebagai tingkat teratas dari hierarki resource-nya sendiri.
- Setelah selesai memasukkan detail project baru, klik Buat.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Untuk membuat project baru, gunakan perintah
gcloud projects create
:gcloud projects create PROJECT_ID
Dengan PROJECT_ID sebagai ID untuk project yang ingin Anda buat. ID project harus diawali dengan huruf kecil, dan hanya boleh berisi huruf, angka, dan tanda hubung ASCII, serta harus antara 6 hingga 30 karakter.
Ringkasan penyiapan
Seperti yang digambarkan dalam diagram berikut, frontend dan peta URL Load Balancer Aplikasi eksternal global dibuat di project yang berbeda dengan layanan backend dan bucket backend load balancer. Jenis deployment lintas project ini tidak menggunakan lingkungan VPC Bersama.
Dalam konfigurasi ini, peta URL merutekan permintaan untuk konten statis
(/images/*
) ke bucket backend, sedangkan semua permintaan lainnya dirutekan ke
layanan backend default.
Tabel berikut memberikan ringkasan resource yang dibuat di project A dan project B. Frontend dan peta URL load balancer dibuat di project A, sedangkan komponen backend dibuat di project B.
Resource yang dibuat di project A | Resource yang dibuat di project B |
---|---|
|
|
Di bagian berikut, kita akan mengonfigurasi berbagai resource yang tercantum dalam tabel sebelumnya, dimulai dengan mengonfigurasi jaringan VPC dan subnet untuk VM backend load balancer di project B.
Mengonfigurasi jaringan dan subnet untuk VM backend load balancer di project B
Untuk tujuan contoh ini, VM backend dibuat di jaringan dan subnet berikut:
Jaringan. Jaringan ini adalah jaringan VPC mode kustom bernama
lb-network
.Subnet untuk VM backend load balancer Subnet bernama
lb-backend-subnet
di regionus-west1
menggunakan10.1.2.0/24
untuk rentang IP utamanya. Rentang alamat IPv4 utama dan sekunder subnet adalah alamat IPv4 internal regional. Untuk mengetahui informasi selengkapnya, lihat Rentang IPv4 yang valid.
Konsol
Di Google Cloud konsol, buka halaman jaringan VPC.
Klik Create VPC network.
Untuk Name, masukkan
lb-network
.Di bagian Subnet, tetapkan Subnet creation mode ke Custom.
Di bagian New subnet, masukkan informasi berikut:
- Nama:
lb-backend-subnet
- Pilih Region:
us-west1
- Rentang alamat IP:
10.1.2.0/24
- Nama:
Klik Selesai.
Klik Create.
gcloud
Buat jaringan VPC kustom, bernama
lb-network
, dengan perintahgcloud compute networks create
.gcloud compute networks create lb-network \ --subnet-mode=custom \ --project=PROJECT_B_ID
Buat subnet di jaringan VPC
lb-network
di regionus-west1
dengan perintahgcloud compute networks subnets create
.gcloud compute networks subnets create lb-backend-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1 \ --project=PROJECT_B_ID
Mengonfigurasi layanan backend di project B
Untuk mengonfigurasi layanan backend, Anda perlu melakukan hal berikut:
- Membuat template instance.
- Buat grup instance.
- Membuat health check.
- Membuat aturan firewall.
- Buat layanan backend.
Membuat template instance
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
Di Google Cloud konsol, buka halaman Template instance Compute Engine.
Klik Create instance template.
Untuk Name, masukkan
backend-template
.Di bagian Boot disk, pastikan boot disk ditetapkan ke image Debian, seperti Debian GNU/Linux 12 (bookworm). Klik Ubah untuk mengubah gambar jika perlu.
Luaskan bagian Advanced options.
Luaskan Networking dan konfigurasikan kolom berikut:
- Untuk Network tags, masukkan
load-balanced-backend
. - Di bagian Network interfaces, konfigurasikan
kolom berikut:
- Jaringan:
lb-network
- Subnet:
lb-backend-subnet
- IP stack type: IPv4
- Jaringan:
- Klik Done
- Untuk Network tags, masukkan
Luaskan Pengelolaan. Di kolom Startup script, masukkan skrip berikut:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \
Klik Buat.
gcloud
Membuat template instance.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=us-west1 \ --network=projects/PROJECT_B_ID/global/networks/lb-network \ --subnet=projects/PROJECT_B_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 # Retrieve the instance name from metadata vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" # Create an index file echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html # Restart Apache to apply changes systemctl restart apache2' \ --project=PROJECT_B_ID
Membuat grup instance terkelola
Konsol
Di Google Cloud konsol, buka halaman Instance groups Compute Engine.
Klik Create Instance Group.
Dari opsi, pilih New managed instance group (stateless).
Untuk nama grup instance, masukkan
lb-backend
.Dalam daftar Instance template, pilih template instance
backend-template
yang Anda buat di langkah sebelumnya.Di bagian Location, pilih Single zone, lalu masukkan nilai berikut:
Untuk Region, pilih
us-west1
.Untuk Zone, pilih
us-west1-a
.
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
.
Di bagian Port mapping, klik Add port, lalu masukkan nilai berikut:
Untuk Port name, masukkan
http
.Untuk Port number, masukkan
80
.
Klik Buat.
gcloud
Buat grup instance terkelola dan pilih template instance yang Anda buat di langkah sebelumnya:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --zone=us-west1-a \ --size=2 \ --template=INSTANCE_TEMPLATE_NAME \ --project=PROJECT_B_ID
Tambahkan port bernama ke grup instance:
gcloud compute instance-groups set-named-ports INSTANCE_GROUP_NAME \ --named-ports=http:80 \ --zone=us-west1-a \ --project=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
Di konsol Google Cloud , buka halaman Health check Compute Engine.
Untuk nama health check, masukkan
lb-health-check
.Tetapkan protokol ke HTTP.
Klik Buat.
gcloud
Buat health check HTTP.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=PROJECT_B_ID
Membuat aturan firewall
Untuk pemeriksaan health check, Anda harus membuat aturan firewall izin masuk di tingkat jaringan, yang untuk tujuan contoh ini adalah lb-network
. Aturan
firewall ini memungkinkan pemeriksaan health check menjangkau instance backend Anda. 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.
Konsol
Di Google Cloud console, buka halaman Firewall policies.
Klik Create firewall rule untuk membuat aturan yang mengizinkan koneksi SSH yang masuk di VM klien:
- Nama:
fw-allow-health-check
- Jaringan:
lb-network
- Direction of traffic: Ingress
- Action on match: Allow
- Targets: Tag target yang ditentukan
- Tag target:
load-balanced-backend
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
130.211.0.0/22
dan35.191.0.0/16
- Protokol dan port:
- Pilih Protokol dan port yang ditentukan.
- Pilih kotak centang TCP, lalu masukkan
80
untuk nomor port. Sebagai praktik terbaik, batasi aturan ini hanya pada protokol dan port yang cocok dengan yang digunakan oleh health check Anda. Jika Anda menggunakan tcp:80 untuk protokol dan port, Google Cloud dapat menggunakan HTTP di port 80 untuk menghubungi VM Anda, tetapi tidak dapat menggunakan HTTPS di port 443 untuk menghubunginya.
- Nama:
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 FIREWALL_RULE_NAME \ --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 \ --project=PROJECT_B_ID
Buat layanan backend
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
Di Google Cloud console, buka halaman Load balancing.
Buka bagian Backend.
Klik Create backend service.
Untuk Global backend service, klik tombol Create di sampingnya.
Untuk nama layanan backend, masukkan
cross-ref-backend-service
.Untuk Backend type, pilih Instance group.
Tetapkan Protocol ke HTTP.
Di kolom Named port, masukkan
http
. Ini adalah nama port yang sama dengan yang Anda masukkan saat membuat grup instance terkelola.Untuk menambahkan backend ke layanan backend, lakukan hal berikut:
Di bagian Backends, tetapkan Instance group ke
lb-backend
, yang merupakan grup instance terkelola yang Anda buat di langkah sebelumnya.Untuk Port numbers, masukkan
80
.Untuk menambahkan backend, klik Done.
Untuk menambahkan health check, dalam daftar Health check, pilih
lb-health-check
, yang merupakan health check yang Anda buat sebelumnya.Untuk membuat layanan backend, klik Create.
gcloud
Buat layanan backend global untuk mendistribusikan traffic di antara backend:
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=HEALTH_CHECK_NAME \ --global \ --project=PROJECT_B_ID
Tambahkan grup instance sebagai backend ke layanan backend:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=us-west1-a \ --global \ --project=PROJECT_B_ID
Mengonfigurasi bucket backend di project B
Untuk membuat bucket backend, Anda perlu melakukan hal berikut:
- Buat bucket Cloud Storage.
- Salin konten ke bucket.
- Buat bucket dapat diakses secara publik.
- Buat bucket backend dan arahkan ke bucket Cloud Storage.
Membuat bucket Cloud Storage
Konsol
- Di Google Cloud konsol, buka halaman Bucket Cloud Storage.
Klik
Create .Di kotak Beri nama bucket Anda, masukkan nama unik secara global yang mengikuti panduan penamaan.
Klik Pilih lokasi untuk menyimpan data.
Tetapkan Location type ke Region.
Dari daftar region, pilih us-east1.
Klik Buat.
gcloud
Buat bucket di region
us-east1
dengan perintahgcloud storage buckets create
.gcloud storage buckets create gs://BUCKET_NAME \ --default-storage-class=standard \ --location=us-east1 \ --uniform-bucket-level-access \ --project=PROJECT_B_ID
Ganti variabel BUCKET_NAME dengan nama bucket Cloud Storage Anda.
Menyalin file grafis ke bucket Cloud Storage
Jalankan perintah berikut di Cloud Shell, dengan mengganti variabel nama bucket dengan nama bucket Cloud Storage unik Anda, untuk menyalin file grafis dari bucket Cloud Storage publik ke folder images/
di bucket Cloud Storage Anda sendiri:
gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://BUCKET_NAME/images/
Membuat bucket Cloud Storage Anda dapat dibaca secara publik
Agar semua objek dalam bucket dapat dibaca oleh semua orang di internet publik,
berikan peran Storage Object Viewer
(roles/storage.objectViewer
) kepada akun utama allUsers
.
Konsol
Untuk memberikan akses kepada semua pengguna agar dapat melihat objek di bucket Anda, ulangi prosedur berikut untuk setiap bucket:
- Di Google Cloud konsol, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, klik nama bucket yang ingin Anda tampilkan kepada publik.
Pilih tab Permissions di dekat bagian atas halaman.
Di bagian Permissions, klik tombol
Grant access. Dialog Berikan akses akan muncul.Di kolom New principals, masukkan
allUsers
.Di kolom Select a role, masukkan
Storage Object Viewer
di kotak filter lalu pilih Storage Object Viewer dari hasil yang difilter.Klik Simpan.
Klik Allow public access.
gcloud
Untuk memberikan akses kepada semua pengguna agar dapat melihat objek di bucket Anda, jalankan perintah buckets add-iam-policy-binding
.
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Ganti variabel nama bucket dengan nama bucket Cloud Storage unik Anda.
Buat bucket backend
Bucket backend berfungsi sebagai wrapper untuk bucket Cloud Storage yang Anda buat sebelumnya. Bucket mengarahkan traffic masuk ke bucket Cloud Storage.
Konsol
Di Google Cloud console, buka halaman Load balancing.
Buka bagian Backend.
Klik Create backend bucket.
Masukkan nama untuk bucket backend Anda.
Pilih bucket Cloud Storage yang akan menjadi tujuan bucket backend Anda.
Klik Buat.
gcloud
Buat bucket backend dengan
perintah gcloud compute backend-buckets create
di project B.
gcloud compute backend-buckets create BACKEND_BUCKET_NAME \ --gcs-bucket-name=BUCKET_NAME \ --project=PROJECT_B_ID
Mengonfigurasi komponen frontend load balancer di project A
Bagian ini menunjukkan cara mengonfigurasi komponen frontend load balancer berikut di project 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
Di Google Cloud console, buka halaman IP addresses VPC.
Klik Reserve external static IP address.
Untuk Name, masukkan
cross-ref-ip-address
.Tetapkan Network Service Tier ke Premium.
Setel IP version ke IPv4.
Setel Type ke Global.
Klik Reserve.
gcloud
Buat alamat IP eksternal statis global.
gcloud compute addresses create IP_ADDRESS_NAME \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global \ --project=PROJECT_A_ID
Menyiapkan resource sertifikat SSL
Dalam contoh ini, Anda dapat menggunakan HTTP atau HTTPS sebagai protokol permintaan dan respons antara klien dan load balancer. Untuk membuat load balancer HTTPS, Anda harus menambahkan resource sertifikat SSL ke frontend load balancer.
Buat resource sertifikat SSL seperti yang dijelaskan dalam dokumentasi berikut:
Sebaiknya gunakan sertifikat yang dikelola Google.
Setelah membuat sertifikat, Anda dapat melampirkan sertifikat ke proxy target HTTPS.
Mengonfigurasi komponen Load Balancer Aplikasi eksternal global
Konsol
Memulai konfigurasi
Di Google Cloud console, 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 Public facing (external), lalu klik Next.
- Untuk Global or single region deployment, pilih Best for global workloads, lalu klik Next.
- Untuk Load balancer generation, pilih Global external Application Load Balancer, lalu klik Next.
- Klik Configure.
Konfigurasi dasar
- Masukkan nama untuk load balancer Anda.
- Biarkan halaman tetap terbuka untuk melanjutkan.
Mengonfigurasi frontend
Untuk HTTP:
- Klik Frontend configuration.
- Masukkan nama untuk aturan penerusan.
- Setel Protocol ke
HTTP
. - Pilih IP address yang Anda buat di Mencadangkan alamat IP load balancer.
- Tetapkan Port ke
80
. - 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.
- Klik Frontend configuration.
- Masukkan nama untuk aturan penerusan.
- Pada kolom Protocol, pilih
HTTPS (includes HTTP/2)
. - Pilih IP address yang Anda buat di Mencadangkan alamat IP load balancer.
- Pastikan Port ditetapkan ke
443
untuk mengizinkan traffic HTTPS. - Klik daftar Certificate.
- Pilih nama sertifikat SSL yang Anda buat sebelumnya.
- Klik Selesai.
Mengonfigurasi backend
- Klik Backend configuration.
- Klik Layanan backend lintas project.
- Untuk Project ID, masukkan project ID untuk project B.
- Dari daftar Select backend services, pilih layanan backend dari project B yang ingin Anda gunakan.
- Klik OK.
Mengonfigurasi aturan pemilihan rute
Klik Routing rules.
Untuk mode, pilih Advanced host and path rule.
Pilih Tambahkan aturan host dan jalur.
Di kolom Hosts, masukkan
*
untuk mencocokkan semua nama host.Di bagian Patch matcher, masukkan konfigurasi YAML berikut.
defaultService: projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME name: PATH_MATCHER_NAME pathRules: - paths: - /images/* service: projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Dalam contoh ini, pencocok jalur terdiri dari aturan jalur dan layanan default. Aturan jalur merutekan semua permintaan ke
/images/*
ke bucket backend. Semua permintaan lainnya dirutekan ke layanan backend default.Klik Selesai.
Untuk informasi tentang pengelolaan traffic, lihat Ringkasan pengelolaan traffic.
Meninjau dan menyelesaikan konfigurasi
Tinjau berbagai komponen load balancer yang telah Anda konfigurasi pada langkah sebelumnya. Anda akan melihat bahwa bagian Backends memiliki referensi ke layanan backend dan bucket backend.
Klik Buat.
gcloud
Untuk membuat komponen load balancing yang disebutkan di atas menggunakan gcloud CLI, ikuti langkah-langkah berikut:
Buat peta URL dengan perintah
gcloud compute url-maps create
.gcloud compute url-maps create URL_MAP_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --global \ --project=PROJECT_A_ID
Tambahkan pencocok jalur untuk peta URL. Dalam contoh ini, pencocok jalur terdiri dari aturan jalur dan layanan default. Aturan jalur merutekan semua permintaan ke
/images/*
ke bucket backend. Semua permintaan lainnya dirutekan ke layanan backend default.gcloud compute url-maps add-path-matcher URL_MAP_NAME \ --path-matcher-name=PATH_MATCHER_NAME \ --default-service=projects/PROJECT_B_ID/global/backendServices/BACKEND_SERVICE_NAME \ --backend-bucket-path-rules=/images/*=projects/PROJECT_B_ID/global/backendBuckets/BACKEND_BUCKET_NAME
Buat proxy target dengan perintah
gcloud compute target-http-proxies create
.Untuk traffic HTTP, buat proxy HTTP target untuk merutekan permintaan ke peta URL:
gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --global \ --project=PROJECT_A_ID
Untuk traffic HTTPS, buat proxy HTTPS target untuk merutekan permintaan ke peta URL. Proxy adalah bagian dari load balancer yang menyimpan sertifikat SSL untuk load balancer HTTPS. Setelah membuat sertifikat, Anda dapat melampirkan sertifikat ke proxy target HTTPS.
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE_NAME \ --global \ --project=PROJECT_A_ID
Ganti
CERTIFICATE_NAME
dengan nama sertifikat SSL.Buat aturan penerusan global dengan perintah
gcloud compute forwarding-rules create
.Untuk traffic HTTP, buat aturan penerusan global untuk merutekan permintaan masuk ke proxy target HTTP:
gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --ports=80 \ --project=PROJECT_A_ID
Untuk traffic HTTPS, buat aturan penerusan global untuk merutekan permintaan masuk ke proxy target HTTPS:
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=IP_ADDRESS_NAME \ --global \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --ports=443 \ --project=PROJECT_A_ID
Menguji load balancer
Perlu waktu beberapa menit untuk mengonfigurasi load balancer, lalu Anda dapat mengirim permintaan ke load balancer. Dalam contoh ini, permintaan dikirim ke aturan penerusan HTTP load balancer.
Dapatkan alamat IP aturan penerusan HTTP load balancer.
gcloud compute forwarding-rules describe HTTP_FORWARDING_RULE_NAME \ --global
Jika Anda mengarahkan browser ke http://IP_ADDRESS, permintaan akan dirutekan ke layanan backend, yang menampilkan halaman dengan informasi minimal tentang instance backend.
Namun, jika Anda mengarahkan browser ke
http://IP_ADDRESS/images/three-cats.jpg, permintaan ke /images/*
akan dirutekan ke bucket backend, yang menampilkan file grafis.