Halaman ini mengilustrasikan cara men-deploy Load Balancer Aplikasi internal regional untuk melakukan load balancing traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lainnya dan dapat dijangkau menggunakan konektivitas hybrid.
Jika Anda belum melakukannya, tinjau Ringkasan NEG konektivitas hybrid untuk memahami persyaratan jaringan guna menyiapkan load balancing hybrid.
Ringkasan penyiapan
Contoh di halaman ini menyiapkan deployment berikut:
Anda harus mengonfigurasi konektivitas hybrid sebelum menyiapkan deployment load balancing hybrid. Halaman ini tidak menyertakan penyiapan konektivitas hibrid.
Bergantung pada pilihan produk konektivitas hybrid Anda (baik Cloud VPN atau Cloud Interconnect (Dedicated atau Partner)), gunakan dokumentasi produk yang relevan.
Izin
Untuk menyiapkan load balancing hybrid, Anda harus memiliki izin berikut:
Di Google Cloud
- Izin untuk membuat konektivitas hybrid antara Google Cloud dan lingkungan lokal Anda atau lingkungan cloud lainnya. Untuk daftar izin yang diperlukan, lihat dokumentasi produk Network Connectivity yang relevan.
- Izin untuk membuat NEG konektivitas hybrid dan load balancer.
Peran Admin Load Balancer Compute
(
roles/compute.loadBalancerAdmin
) berisi izin yang diperlukan untuk melakukan tugas yang dijelaskan dalam panduan ini.
Di lingkungan lokal atau lingkungan cloud non-Google Cloud lainnya
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dari Google Cloud menggunakan kombinasi
IP:Port
. Untuk informasi selengkapnya, hubungi administrator jaringan lingkungan Anda. - Izin untuk membuat aturan firewall di lingkungan lokal atau lingkungan cloud lainnya agar pemeriksaan health check Google dapat menjangkau endpoint.
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dari Google Cloud menggunakan kombinasi
Selain itu, untuk menyelesaikan petunjuk di halaman ini, Anda perlu membuat NEG konektivitas hybrid, load balancer, dan NEG zona (serta endpoint-nya) untuk berfungsi sebagai backend berbasis Google Cloud untuk load balancer.
Anda harus menjadi Pemilik atau Editor project, atau memiliki peran IAM Compute Engine berikut.
Tugas | Peran yang diperlukan |
---|---|
Membuat jaringan, subnet, dan komponen load balancer | Compute Network Admin
(roles/compute.networkAdmin ) |
Menambahkan dan menghapus aturan firewall | Compute Security Admin
(roles/compute.securityAdmin ) |
Membuat instance | Compute Instance Admin
(roles/compute.instanceAdmin ) |
Membuat konektivitas hybrid
Lingkungan Google Cloud dan lokal Anda atau lingkungan cloud lainnya harus terhubung melalui konektivitas hybrid menggunakan lampiran VLAN Cloud Interconnect atau tunnel Cloud VPN dengan Cloud Router. Sebaiknya gunakan koneksi dengan ketersediaan tinggi.
Cloud Router yang diaktifkan dengan perutean dinamis global mempelajari endpoint tertentu melalui Border Gateway Protocol (BGP) dan memprogramnya ke dalam jaringan VPC Google Cloud Anda. Pemilihan rute dinamis regional tidak didukung. Rute statis juga tidak didukung.
Jaringan VPC yang Anda gunakan untuk mengonfigurasi Cloud Interconnect atau Cloud VPN adalah jaringan yang sama dengan yang Anda gunakan untuk mengonfigurasi deployment load balancing hybrid. Pastikan rentang CIDR subnet jaringan VPC Anda tidak bertentangan dengan rentang CIDR jarak jauh. Jika alamat IP tumpang-tindih, rute subnet akan diprioritaskan daripada konektivitas jarak jauh.
Untuk mengetahui petunjuknya, lihat dokumentasi berikut:
Menyiapkan lingkungan Anda yang berada di luar Google Cloud
Lakukan langkah-langkah berikut untuk menyiapkan lingkungan lokal atau lingkungan cloud lainnya untuk load balancing campuran:
- Konfigurasikan endpoint jaringan untuk mengekspos layanan on-premise ke
Google Cloud (
IP:Port
). - Konfigurasikan aturan firewall di lingkungan lokal atau lingkungan cloud lainnya.
- Konfigurasikan Cloud Router untuk mengiklankan rute tertentu yang diperlukan ke lingkungan pribadi Anda.
Menyiapkan endpoint jaringan
Setelah menyiapkan konektivitas hybrid, Anda akan mengonfigurasi satu atau beberapa endpoint jaringan dalam lingkungan lokal atau lingkungan cloud lainnya yang dapat dijangkau melalui Cloud Interconnect atau Cloud VPN menggunakan kombinasi IP:port
. Kombinasi IP:port
ini dikonfigurasi sebagai satu atau beberapa endpoint untuk NEG konektivitas campuran yang dibuat di Google Cloud nanti dalam proses ini.
Jika ada beberapa jalur ke endpoint IP, pemilihan rute akan mengikuti perilaku yang dijelaskan dalam ringkasan Cloud Router.
Menyiapkan aturan firewall
Aturan firewall berikut harus dibuat di lingkungan lokal atau lingkungan cloud lainnya:
- Buat aturan firewall izinkan traffic masuk di lingkungan lokal atau cloud lainnya untuk mengizinkan traffic dari subnet khusus proxy wilayah untuk menjangkau endpoint.
Mencantumkan rentang pemeriksaan health check Google dalam daftar yang diizinkan tidak diperlukan untuk NEG hibrida. Namun, jika Anda menggunakan kombinasi NEG campuran dan zonal dalam satu layanan backend, Anda harus mengizinkan rentang probe pemeriksaan kesehatan Google untuk NEG zonal.
Beri tahu rute
Konfigurasikan Cloud Router untuk mengumumkan rentang IP kustom berikut ke lingkungan lokal atau lingkungan cloud lainnya:
- Rentang subnet khusus proxy region.
Menyiapkan lingkungan Google Cloud
Untuk langkah-langkah berikut, pastikan Anda menggunakan jaringan VPC yang sama (disebut NETWORK dalam prosedur ini) yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
Selain itu, pastikan region yang digunakan (disebut REGION dalam prosedur ini) sama dengan yang digunakan untuk membuat tunnel Cloud VPN atau lampiran VLAN Cloud Interconnect.
Mengonfigurasi subnet khusus proxy
Subnet khusus proxy ini digunakan untuk semua load balancer berbasis Envoy regional di region REGION.
Konsol
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan VPC - Buka jaringan yang digunakan untuk mengonfigurasi konektivitas campuran antar-lingkungan.
- Klik Tambahkan subnet.
- Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
- Pilih Region: REGION.
- Tetapkan Tujuan ke Proxy yang Dikelola Berdasarkan Wilayah.
- Masukkan rentang alamat IP: PROXY_ONLY_SUBNET_RANGE.
- Klik Tambahkan.
gcloud
Buat subnet khusus proxy dengan perintah gcloud compute networks subnets
create
.
gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Mengonfigurasi subnet load balancer
Subnet ini digunakan untuk membuat backend NEG zonal load balancer, frontend, dan alamat IP internal.
Cloud Console
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka jaringan VPC - Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
- Di bagian Subnets:
- Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Nama: LB_SUBNET_NAME
- Region: REGION
- Rentang alamat IP: LB_SUBNET_RANGE
- Klik Done.
- Klik Create.
gcloud
Buat subnet di jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Mencadangkan alamat IP load balancer
Secara default, satu alamat IP digunakan untuk setiap aturan penerusan. Anda dapat menyimpan alamat IP bersama, yang memungkinkan Anda menggunakan alamat IP yang sama dengan beberapa aturan penerusan. Namun, jika Anda ingin memublikasikan load balancer menggunakan Private Service Connect, jangan gunakan alamat IP bersama untuk aturan penerusan.
Konsol
Anda dapat mencadangkan alamat IP internal mandiri menggunakan konsol Google Cloud.
- Buka halaman VPC networks.
- Klik jaringan yang digunakan untuk mengonfigurasi konektivitas campuran di antara lingkungan.
- Klik Static internal IP addresses, lalu klik Reserve static address.
- Masukkan Nama: LB_IP_ADDRESS.
- Untuk Subnet, pilih LB_SUBNET_NAME.
- Jika Anda ingin menentukan alamat IP yang akan dicadangkan, di bagian Static IP address, pilih Let me choose, lalu isi Custom IP address. Jika tidak, sistem akan otomatis menetapkan alamat IP di subnet untuk Anda.
- Jika Anda ingin menggunakan alamat IP ini dengan beberapa aturan penerusan, di bagian Purpose, pilih Shared.
- Klik Pesan untuk menyelesaikan proses.
gcloud
Menggunakan gcloud CLI, jalankan perintah
compute addresses create
:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME \
Gunakan perintah
compute addresses describe
untuk melihat alamat IP yang dialokasikan:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Jika Anda ingin menggunakan alamat IP yang sama dengan beberapa aturan penerusan, tentukan
--purpose=SHARED_LOADBALANCER_VIP
.
Membuat aturan firewall untuk NEG zonal
Dalam contoh ini, Anda akan membuat aturan firewall berikut untuk backend NEG zona di Google Cloud:
fw-allow-health-check
: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health check Google Cloud (130.211.0.0/22
dan35.191.0.0/16
). Contoh ini menggunakan tag targetallow-health-check
untuk mengidentifikasi VM backend yang harus diterapkan dengan tag tersebut. Mencantumkan rentang pemeriksaan health check Google dalam daftar yang diizinkan tidak diperlukan untuk NEG hibrida. Namun, jika Anda menggunakan kombinasi NEG campuran dan zonal dalam satu layanan backend, Anda harus mengizinkan rentang probe pemeriksaan kesehatan Google untuk NEG zonal.fw-allow-ssh
: Aturan ingress yang mengizinkan konektivitas SSH yang masuk pada TCP port 22 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 akan memulai sesi SSH. Contoh ini menggunakan tag targetallow-ssh
untuk mengidentifikasi VM yang menerapkan tag tersebut.fw-allow-proxy-only-subnet
: Aturan masuk yang mengizinkan koneksi dari subnet khusus proxy untuk menjangkau backend.
Konsol
- Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
Buka Kebijakan firewall - Klik Create firewall rule untuk membuat aturan yang mengizinkan traffic dari
pemeriksaan health check:
- Masukkan Nama
fw-allow-health-check
. - Di bagian Network, pilih NETWORK.
- Di bagian Target, pilih Tag target yang ditentukan.
- Isi kolom Target tags dengan
allow-health-check
. - Tetapkan Source filter ke IPv4 ranges.
- Tetapkan Source IPv4 ranges ke
130.211.0.0/22
dan35.191.0.0/16
. - Di bagian Protocols and ports, pilih Specified protocols and ports.
- Pilih TCP, lalu masukkan
80
untuk nomor port. - Klik Create.
- Masukkan Nama
- Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi SSH yang masuk:
- Nama:
fw-allow-ssh
- Jaringan: NETWORK
- Prioritas:
1000
- Direction of traffic: masuk
- Tindakan terhadap kecocokan: izinkan
- Targets: Tag target yang ditentukan
- Tag target:
allow-ssh
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
0.0.0.0/0
- Protocols and ports: Pilih Specified protocols and ports.
- Pilih TCP, lalu masukkan
22
untuk nomor port. - Klik Create.
- Nama:
- Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi masuk dari subnet khusus proxy:
- Nama:
fw-allow-proxy-only-subnet
- Jaringan: NETWORK
- Prioritas:
1000
- Direction of traffic: masuk
- Tindakan terhadap kecocokan: izinkan
- Targets: Tag target yang ditentukan
- Tag target:
allow-proxy-only-subnet
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: PROXY_ONLY_SUBNET_RANGE
- Protocols and ports: Pilih Specified protocols and ports
- Pilih TCP, lalu masukkan
80
untuk nomor port. - Klik Create.
- Nama:
gcloud
Buat aturan
fw-allow-health-check-and-proxy
untuk mengizinkan health check Google Cloud menjangkau instance backend di port TCP80
:gcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp:80
Buat aturan firewall
fw-allow-ssh
untuk mengizinkan konektivitas SSH ke VM dengan tag jaringanallow-ssh
. Saat Anda menghapussource-ranges
, Google Cloud akan menafsirkan aturan sebagai sumber apa pun.gcloud compute firewall-rules create fw-allow-ssh \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Buat aturan firewall izinkan masuk untuk subnet khusus proxy agar load balancer dapat berkomunikasi dengan instance backend di port TCP
80
:gcloud compute firewall-rules create fw-allow-proxy-only-subnet \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-proxy-only-subnet \ --source-ranges=PROXY_ONLY_SUBNET_RANGE \ --rules=tcp:80
Menyiapkan NEG zona
Untuk backend berbasis Google Cloud, sebaiknya konfigurasikan beberapa NEG zonaonal di region yang sama dengan tempat Anda mengonfigurasi konektivitas hibrida.
Untuk contoh ini, kita menyiapkan NEG zonal (dengan endpoint jenis GCE_VM_IP_PORT
)
di region REGION. Pertama, buat VM di zona GCP_NEG_ZONE. Kemudian,
buat NEG zona di GCP_NEG_ZONE yang sama dan
tambahkan endpoint jaringan VM ke NEG.
Membuat VM
Konsol
- Buka halaman VM instances di konsol Google Cloud.
Buka instance VM - Klik Create instance.
- Tetapkan Name ke
vm-a1
. - Untuk Region, pilih REGION, dan pilih Zone mana pun. Ini akan disebut sebagai GCP_NEG_ZONE dalam prosedur ini.
- Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.
Klik Advanced options, lalu buat perubahan berikut:
- Klik Jaringan dan tambahkan Tag jaringan berikut:
allow-ssh
,allow-health-check
, danallow-proxy-only-subnet
. - Klik Edit
- Jaringan: NETWORK
- Subnet: LB_SUBNET_NAME
- Primary internal IP: Ephemeral (otomatis)
- External IP: Sementara
di bagian
Network interfaces, lalu buat perubahan berikut, lalu klik
Done:
Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk empat VM:
#! /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 Jaringan dan tambahkan Tag jaringan berikut:
Klik Create.
Ulangi langkah-langkah berikut untuk membuat VM kedua, menggunakan kombinasi nama dan zona berikut:
- Nama:
vm-a2
, zona: GCP_NEG_ZONE
- Nama:
gcloud
Buat VM dengan menjalankan perintah berikut dua kali, menggunakan kombinasi ini untuk nama VM dan zonanya. Konten skrip identik untuk kedua VM.
- VM_NAME dari
vm-a1
dan zona GCP_NEG_ZONE mana pun pilihan Anda VM_NAME dari
vm-a2
dan zona GCP_NEG_ZONE yang samagcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \ --subnet=LB_SUBNET_NAME \ --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'
Membuat NEG zona
Konsol
Untuk membuat grup endpoint jaringan zonal:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka halaman Network Endpoint Groups - Klik Create network endpoint group.
- Masukkan Nama untuk NEG zonal. Disebut sebagai GCP_NEG_NAME dalam prosedur ini.
- Pilih Network endpoint group type: Network endpoint group (Zonal).
- Pilih Network: NETWORK
- Pilih Subnet: LB_SUBNET_NAME
- Pilih Zona: GCP_NEG_ZONE
- Masukkan Port default:
80
. - Klik Create.
Tambahkan endpoint ke NEG zona:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka Network endpoint groups - Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (GCP_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
- Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.
- Pilih instance VM untuk menambahkan alamat IP internalnya sebagai endpoint jaringan. Di bagian Network interface, nama, zona, dan subnet VM akan ditampilkan.
- Di kolom IPv4 address, masukkan alamat IPv4 endpoint jaringan baru.
- Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default
80
untuk semua endpoint dalam grup endpoint jaringan. Hal ini memadai untuk contoh kita karena server Apache menayangkan permintaan di port80
. - Jika Anda memilih Kustom, masukkan Nomor port untuk endpoint yang akan digunakan.
- Jika Anda memilih Default, endpoint akan menggunakan port default
- Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
- Setelah Anda menambahkan semua endpoint, klik Buat.
gcloud
Buat NEG zonal (dengan endpoint
GCE_VM_IP_PORT
) menggunakan perintahgcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create GCP_NEG_NAME \ --network-endpoint-type=GCE_VM_IP_PORT \ --zone=GCP_NEG_ZONE \ --network=NETWORK \ --subnet=LB_SUBNET_NAME
Anda dapat menentukan
--default-port
saat membuat NEG, atau menentukan nomor port untuk setiap endpoint seperti yang ditunjukkan pada langkah berikutnya.Tambahkan endpoint ke GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,port=80' \ --add-endpoint='instance=vm-a2,port=80'
Menyiapkan NEG konektivitas hybrid
Saat membuat NEG, gunakan ZONE yang meminimalkan jarak geografis
antara Google Cloud dan lingkungan cloud lokal atau lingkungan cloud
lainnya. Misalnya, jika Anda menghosting layanan di lingkungan lokal di Frankfurt, Jerman, Anda dapat menentukan zona Google Cloud europe-west3-a
saat membuat NEG.
Selain itu, jika Anda menggunakan Cloud Interconnect, ZONE yang digunakan untuk membuat NEG harus berada di region yang sama dengan tempat lampiran Cloud Interconnect dikonfigurasi.
Untuk mengetahui region dan zona yang tersedia, lihat dokumentasi Compute Engine: Region dan zona yang tersedia.
Konsol
Untuk membuat grup endpoint jaringan konektivitas hybrid:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka Network endpoint groups - Klik Create network endpoint group.
- Masukkan Nama untuk NEG campuran. Disebut sebagai ON_PREM_NEG_NAME dalam prosedur ini.
- Pilih Network endpoint group type: Hybrid connectivity network endpoint group (Zonal).
- Pilih Jaringan: NETWORK
- Pilih Subnet: LB_SUBNET_NAME
- Pilih Zona: ON_PREM_NEG_ZONE
- Masukkan Port default.
- Klik Buat
Tambahkan endpoint ke NEG konektivitas hybrid:
- Buka halaman Network Endpoint Groups di konsol Google Cloud.
Buka halaman Network Endpoint Groups - Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (ON_PREM_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
- Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. Anda akan melihat halaman Tambahkan endpoint jaringan.
- Masukkan alamat IP endpoint jaringan baru.
- Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default untuk semua endpoint dalam grup endpoint jaringan.
- Jika memilih Kustom, Anda dapat memasukkan Nomor port yang berbeda untuk digunakan endpoint.
- Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
- Setelah Anda menambahkan semua endpoint non-Google Cloud, klik Buat.
gcloud
Buat NEG konektivitas campuran menggunakan perintah
gcloud compute network-endpoint-groups create
.gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=ON_PREM_NEG_ZONE \ --network=NETWORK
Tambahkan endpoint VM backend on-premise ke ON_PREM_NEG_NAME:
gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \ --zone=ON_PREM_NEG_ZONE \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
Anda dapat menggunakan perintah ini untuk menambahkan endpoint jaringan yang sebelumnya dikonfigurasi di infrastruktur lokal atau di lingkungan cloud.
Ulangi --add-endpoint
sebanyak yang diperlukan.
Anda dapat mengulangi langkah-langkah ini untuk membuat beberapa NEG campuran jika diperlukan.
Mengonfigurasi load balancer
Konsol
gcloud
- Buat health check untuk backend.
Pemeriksaan health check untuk backend NEG campuran berasal dari proxy Envoy di subnet khusus proxy, sedangkan pemeriksaan untuk backend NEG zona berasal dari [rentang IP pemeriksaan pusat Google](/load-balancing/docs/health-check-concepts#ip-ranges).gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Membuat layanan backend untuk backend berbasis Google Cloud. Anda menambahkan NEG zona dan NEG konektivitas hybrid sebagai backend ke layanan backend ini.
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- Tambahkan NEG zona sebagai backend ke layanan backend.
Untuk mengetahui detail tentang mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parametergcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=GCP_NEG_NAME \ --network-endpoint-group-zone=GCP_NEG_ZONE
--max-rate-per-endpoint
. - Tambahkan NEG campuran sebagai backend ke layanan backend.
Untuk mengetahui detail tentang cara mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parametergcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=ON_PREM_NEG_NAME \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE
--max-rate-per-endpoint
. - Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend:
gcloud compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE \ --region=REGION
- Opsional: Lakukan langkah ini jika Anda menggunakan HTTPS antara klien dan load balancer. Hal ini tidak diperlukan untuk load balancer HTTP.
Anda dapat membuat sertifikat Compute Engine atau Certificate Manager. Gunakan salah satu metode berikut untuk membuat sertifikat menggunakan Pengelola Sertifikat:
- Sertifikat yang dikelola sendiri secara regional. Untuk informasi tentang cara membuat dan menggunakan sertifikat yang dikelola sendiri secara regional, lihat men-deploy sertifikat yang dikelola sendiri secara regional. Peta sertifikat tidak didukung.
Sertifikat regional yang dikelola Google. Peta sertifikat tidak didukung.
Jenis sertifikat regional yang dikelola Google berikut didukung oleh Pengelola Sertifikat:
- Sertifikat regional yang dikelola Google dengan otorisasi DNS per project. Untuk mengetahui informasi selengkapnya, lihat Men-deploy sertifikat yang dikelola Google secara regional.
- Sertifikat (pribadi) regional yang dikelola Google dengan Certificate Authority Service. Untuk mengetahui informasi selengkapnya, lihat Men-deploy sertifikat yang dikelola Google regional dengan Layanan CA.
- Buat proxy HTTP(S) target untuk merutekan permintaan ke peta URL Anda.
Untuk load balancer HTTP, buat proxy target HTTP: Untuk load balancer HTTPS, buat proxy target HTTPS. Proxy ini merupakan bagian dari load balancer yang menyimpan sertifikat SSL untuk Load Balancing HTTPS, sehingga Anda juga memuat sertifikat pada langkah ini.gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
- Buat aturan penerusan untuk mengarahkan permintaan masuk ke proxy. Jangan gunakan subnet khusus proxy untuk membuat aturan penerusan.
Untuk load balancer HTTP: Untuk load balancer HTTPS:gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=80 \ --region=REGION \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=443 \ --region=REGION \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION
Setelah membuat sertifikat, lampirkan sertifikat langsung ke proxy target.
Untuk membuat resource sertifikat SSL yang dikelola sendiri di Compute Engine:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
Menghubungkan domain ke load balancer
Setelah load balancer dibuat, catat alamat IP yang terkait dengan load balancer, misalnya, 30.90.80.100
. Untuk mengarahkan domain ke load balancer, buat data A
menggunakan layanan pendaftaran domain. Jika
Anda menambahkan beberapa domain ke sertifikat SSL, Anda harus menambahkan data A
untuk setiap domain, yang semuanya mengarah ke alamat IP load balancer. Misalnya, untuk
membuat data A
bagi www.example.com
dan example.com
, gunakan string berikut:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Menambahkan, mengubah, dan menghapus data.
Menguji load balancer
Untuk menguji load balancer, buat VM klien di region yang sama dengan load balancer. Kemudian, kirim traffic dari klien ke load balancer.
Membuat VM klien
Contoh ini membuat VM klien (vm-client
) di region yang sama dengan NEG backend. Klien digunakan untuk memvalidasi konfigurasi load balancer
dan menunjukkan perilaku yang diharapkan seperti yang dijelaskan di
bagian pengujian.
Konsol
- Buka halaman VM instances di konsol Google Cloud.
Buka instance VM - Klik Create instance.
- Tetapkan Name ke
vm-client
. - Tetapkan Zona ke CLIENT_VM_ZONE.
- Klik Advanced options, lalu lakukan perubahan berikut:
- Klik Networking dan tambahkan
allow-ssh
ke Network tags. - Klik tombol edit di bagian Network interfaces dan buat
perubahan berikut, lalu klik Done:
- Jaringan: NETWORK
- Subnet: LB_SUBNET_NAME
- Primary internal IP: Ephemeral (otomatis)
- External IP: Sementara
- Klik Networking dan tambahkan
- Klik Create.
gcloud
VM klien dapat berada di zona mana pun di region yang sama dengan load balancer, dan dapat menggunakan subnet apa pun di region tersebut. Dalam contoh ini, klien berada di zona CLIENT_VM_ZONE, dan menggunakan subnet yang sama dengan VM backend.
gcloud compute instances create vm-client \ --zone=CLIENT_VM_ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=LB_SUBNET_NAME
Mengirim traffic ke load balancer
Setelah mengonfigurasi load balancer, Anda dapat mulai mengirimkan traffic ke alamat IP load balancer.
Gunakan SSH untuk terhubung ke instance klien.
gcloud compute ssh client-vm \ --zone=CLIENT_VM_ZONE
Dapatkan alamat IP load balancer. Gunakan perintah
compute addresses describe
untuk melihat alamat IP yang dialokasikan:gcloud compute addresses describe l7-ilb-ip-address \ --region=us-west1
Verifikasi bahwa load balancer menayangkan nama host backend seperti yang diharapkan. Ganti IP_ADDRESS dengan alamat IP load balancer.
Untuk pengujian HTTP, jalankan:
curl IP_ADDRESS
Untuk pengujian HTTPS, jalankan:
curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:IP_ADDRESS:443
Flag -k
menyebabkan curl melewati validasi sertifikat.
Pengujian endpoint non-Google Cloud bergantung pada layanan yang telah Anda ekspos melalui endpoint NEG campuran.
Opsi konfigurasi tambahan
Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi alternatif dan tambahan. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.
Memperbarui waktu tunggu keepalive HTTP klien
Load balancer yang dibuat pada langkah sebelumnya telah dikonfigurasi dengan nilai default untuk waktu tunggu keepalive HTTP klien.Untuk memperbarui waktu tunggu keepalive HTTP klien, gunakan petunjuk berikut.
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
- Klik nama load balancer yang ingin diubah.
- Klik Edit.
- Klik Frontend configuration.
- Luaskan Fitur lanjutan. Untuk Timeout keepalive HTTP, masukkan nilai waktu tunggu.
- Klik Perbarui.
- Untuk meninjau perubahan, klik Tinjau dan selesaikan, lalu klik Perbarui.
gcloud
Untuk load balancer HTTP, perbarui proxy HTTP target menggunakan
perintah gcloud compute target-http-proxies update
.
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region=REGION
Untuk load balancer HTTPS, perbarui proxy HTTPS target menggunakan
perintah gcloud compute target-https-proxies update
.
gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region REGION
Ganti kode berikut:
TARGET_HTTP_PROXY_NAME
: nama proxy HTTP target.TARGET_HTTPS_PROXY_NAME
: nama proxy HTTPS target.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: nilai waktu tunggu keepalive HTTP dari 5 hingga 600 detik.