Halaman ini menunjukkan cara men-deploy Load Balancer Jaringan proxy internal lintas region untuk menyeimbangkan beban traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lain 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 ini menyiapkan Network Load Balancer proxy internal lintas region untuk backend NEG dengan konektivitas hibrida dan zona campuran, seperti yang ditunjukkan pada gambar berikut:
Anda harus mengonfigurasi konektivitas hybrid sebelum menyiapkan deployment load balancing hybrid. Bergantung pada pilihan produk konektivitas hybrid Anda, gunakan Cloud VPN atau Cloud Interconnect (Khusus atau Partner).
Izin
Untuk menyiapkan load balancing hybrid, Anda harus memiliki izin berikut:
Aktif 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 dengan 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 Anda atau lingkungan non-Google Cloud cloud lainnya
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dariGoogle Cloud dengan menggunakan kombinasi
IP:Port. Untuk mengetahui informasi selengkapnya, hubungi administrator jaringan lingkungan Anda. - Izin untuk membuat aturan firewall di lingkungan lokal atau lingkungan cloud lainnya untuk mengizinkan pemeriksaan health check Google menjangkau endpoint.
- Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dariGoogle Cloud dengan menggunakan kombinasi
Selain itu, untuk menyelesaikan petunjuk di halaman ini, Anda perlu membuat NEG konektivitas hybrid, load balancer, dan NEG zona (serta endpointnya) untuk berfungsi sebagai backend berbasis Google Clouduntuk load balancer.
Anda harus menjadi Pemilik atau Editor project, atau Anda harus 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) |
Opsional: Menggunakan alamat BYOIP
Dengan fitur bawa IP Anda sendiri (BYOIP), Anda dapat mengimpor alamat publik Anda sendiri keGoogle Cloud untuk menggunakan alamat tersebut dengan resource Google Cloud . Misalnya, jika Anda mengimpor alamat IPv4 Anda sendiri, Anda dapat menetapkannya ke aturan penerusan saat mengonfigurasi load balancer. Saat Anda mengikuti petunjuk dalam dokumen ini untuk , berikan alamat BYOIP sebagai alamat IP.
Untuk mengetahui informasi selengkapnya tentang penggunaan BYOIP, lihat Membawa alamat IP Anda sendiri.
Membuat konektivitas hybrid
Lingkungan lokal dan lingkungan cloud lainnya harus terhubung melalui konektivitas hybrid menggunakan lampiran VLAN Cloud Interconnect atau tunnel Cloud VPN dengan VM Cloud Router atau Router appliance. Google Cloud Sebaiknya Anda menggunakan koneksi ketersediaan tinggi.
Cloud Router yang diaktifkan dengan perutean dinamis global mempelajari endpoint tertentu melalui Border Gateway Protocol (BGP) dan memprogramnya ke dalam Google Cloud jaringan VPC Anda. Perutean dinamis regional tidak didukung. Rute statis juga tidak didukung.
Anda dapat menggunakan jaringan yang sama atau jaringan VPC yang berbeda dalam project yang sama untuk mengonfigurasi jaringan hybrid (Cloud Interconnect atau Cloud VPN atau VM Router appliance) dan load balancer. Perhatikan hal berikut:
Jika Anda menggunakan jaringan VPC yang berbeda, kedua jaringan harus dihubungkan menggunakan Peering Jaringan VPC atau harus berupa spoke VPC di hub NCC yang sama.
Jika Anda menggunakan jaringan VPC yang sama, pastikan rentang CIDR subnet jaringan VPC Anda tidak berkonflik dengan rentang CIDR jarak jauh Anda. Jika alamat IP tumpang-tindih, rute subnet diprioritaskan daripada konektivitas jarak jauh.
Untuk mengetahui petunjuknya, lihat dokumentasi berikut:
Menyiapkan lingkungan Anda di luar Google Cloud
Lakukan langkah-langkah berikut untuk menyiapkan lingkungan lokal atau lingkungan cloud lainnya untuk load balancing hybrid:
- Konfigurasi endpoint jaringan untuk mengekspos layanan lokal ke
Google Cloud (
IP:Port). - Konfigurasi aturan firewall di lingkungan lokal atau lingkungan cloud lainnya.
- Konfigurasi Cloud Router untuk memberitahukan rute tertentu yang diperlukan ke lingkungan pribadi Anda.
Menyiapkan endpoint jaringan
Setelah menyiapkan konektivitas hybrid, Anda mengonfigurasi satu atau beberapa endpoint jaringan dalam lingkungan lokal atau lingkungan cloud lainnya yang dapat dijangkau melalui Cloud Interconnect atau Cloud VPN atau Router appliance menggunakan kombinasi IP:port. Kombinasi IP:port
ini dikonfigurasi sebagai satu atau beberapa endpoint untuk NEG konektivitas hybrid
yang dibuat di Google Cloud kemudian dalam proses ini.
Jika ada beberapa jalur ke endpoint IP, perutean 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 region agar dapat menjangkau endpoint.
Mengizinkan traffic dari rentang pemeriksaan health check Google tidak diperlukan untuk NEG hybrid. Namun, jika Anda menggunakan kombinasi NEG hybrid dan zona dalam satu layanan backend, Anda harus mengizinkan traffic dari rentang probe health check Google untuk NEG zona.
Mengiklankan rute
Konfigurasi Cloud Router untuk mengiklankan 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 antara lingkungan.
Selain itu, pastikan region yang digunakan
(disebut REGION_A dan
REGION_B dalam prosedur ini)
sama dengan yang digunakan untuk membuat tunnel Cloud VPN atau
lampiran VLAN Cloud Interconnect.
Mengonfigurasi subnet backend
Gunakan subnet ini untuk membuat backend NEG zonal load balancer:
Konsol
Di konsol Google Cloud , buka halaman VPC networks.
Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.
Di bagian Subnets:
- Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Berikan Name untuk subnet.
- Pilih Region: REGION_A
- Masukkan nilai untuk IP address range.
- Klik Done.
Klik Create.
Untuk menambahkan lebih banyak subnet di region yang berbeda, klik Tambahkan subnet dan ulangi langkah-langkah sebelumnya untuk REGION_B
gcloud
Buat subnet di jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.
gcloud compute networks subnets create SUBNET_A \ --network=NETWORK \ --range=LB_SUBNET_RANGE1 \ --region=REGION_Agcloud compute networks subnets create SUBNET_B \ --network=NETWORK \ --range=LB_SUBNET_RANGE2 \ --region=REGION_B
API
Buat permintaan POST ke metode subnetworks.insert.
Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks
{
"name": "SUBNET_A",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"ipCidrRange": "LB_SUBNET_RANGE1",
"region": "projects/PROJECT_ID/regions/REGION_A",
}
Buat permintaan POST ke metode subnetworks.insert.
Ganti PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks
{
"name": "SUBNET_B",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"ipCidrRange": "LB_SUBNET_RANGE2",
"region": "projects/PROJECT_ID/regions/REGION_B",
}
Ganti kode berikut:
SUBNET_AdanSUBNET_B: nama subnetLB_SUBNET_RANGE1danLB_SUBNET_RANGE2: rentang alamat IP untuk subnetREGION_AdanREGION_B: region tempat Anda telah mengonfigurasi load balancer
Konfigurasi subnet khusus proxy
Subnet khusus proxy menyediakan serangkaian alamat IP yang digunakan Google untuk menjalankan proxy Envoy atas nama Anda. Proxy menghentikan koneksi dari klien dan membuat koneksi baru ke backend.
Subnet khusus proxy ini digunakan oleh semua load balancer regional berbasis Envoy di region yang sama dengan jaringan VPC. Hanya boleh ada satu subnet khusus proxy yang aktif untuk tujuan tertentu, per region, per jaringan.
Konsol
Jika menggunakan konsol Google Cloud , Anda dapat menunggu dan membuat subnet khusus proxy nanti di halaman Load balancing.
Jika Anda ingin membuat subnet khusus proxy sekarang, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman VPC networks.
- Klik nama jaringan VPC.
- Di tab Subnet, klik Tambahkan subnet.
- Berikan Name untuk subnet khusus proxy.
- Di daftar Region, pilih REGION_A.
- Dalam daftar Purpose, pilih Cross-region Managed Proxy.
- Di kolom IP address range, masukkan
10.129.0.0/23. - Klik Tambahkan.
Buat subnet khusus proxy di REGION_B
- Klik Tambahkan subnet.
- Berikan Name untuk subnet khusus proxy.
- Di daftar Region, pilih REGION_B.
- Dalam daftar Purpose, pilih Cross-region Managed Proxy.
- Di kolom IP address range, masukkan
10.130.0.0/23. - Klik Tambahkan.
gcloud
Buat subnet khusus proxy dengan perintah
gcloud compute networks subnets create.
gcloud compute networks subnets create PROXY_SN_A \
--purpose=GLOBAL_MANAGED_PROXY \
--role=ACTIVE \
--region=REGION_A \
--network=NETWORK \
--range=PROXY_ONLY_SUBNET_RANGE1
gcloud compute networks subnets create PROXY_SN_B \
--purpose=GLOBAL_MANAGED_PROXY \
--role=ACTIVE \
--region=REGION_B \
--network=NETWORK \
--range=PROXY_ONLY_SUBNET_RANGE2
Ganti kode berikut:
PROXY_SN_AdanPROXY_SN_B: nama subnet khusus proxyPROXY_ONLY_SUBNET_RANGE1danPROXY_ONLY_SUBNET_RANGE2: rentang alamat IP untuk subnet khusus proxyREGION_AdanREGION_B: region tempat Anda telah mengonfigurasi load balancer
API
Buat subnet khusus proxy dengan metode
subnetworks.insert, dengan mengganti
PROJECT_ID dengan project ID Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/subnetworks
{
"name": "PROXY_SN_A",
"ipCidrRange": "PROXY_ONLY_SUBNET_RANGE1",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"region": "projects/PROJECT_ID/regions/REGION_A",
"purpose": "GLOBAL_MANAGED_PROXY",
"role": "ACTIVE"
}
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_B/subnetworks
{
"name": " PROXY_SN_B",
"ipCidrRange": "PROXY_ONLY_SUBNET_RANGE2",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"region": "projects/PROJECT_ID/regions/REGION_B",
"purpose": "GLOBAL_MANAGED_PROXY",
"role": "ACTIVE"
}
Membuat aturan firewall
Dalam contoh ini, Anda akan membuat aturan firewall berikut untuk backend NEG zonal di Google Cloud:
fw-allow-health-check: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health checkGoogle Cloud (130.211.0.0/22dan35.191.0.0/16). Contoh ini menggunakan tag targetallow-health-checkuntuk mengidentifikasi NEG zonal yang harus diterapkan dengan tag tersebut.fw-allow-ssh: Aturan ingress yang memungkinkan 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-sshuntuk mengidentifikasi VM yang harus menerapkan aturan.fw-allow-proxy-only-subnet: Aturan ingress yang mengizinkan koneksi dari subnet khusus proxy untuk menjangkau backend NEG zona.
Konsol
Di konsol Google Cloud , buka halaman Firewall policies.
Klik Create firewall rule untuk membuat aturan yang mengizinkan traffic dari pemeriksaan health check:
- Masukkan Nama
fw-allow-health-check. - Untuk Network, pilih NETWORK.
- Untuk Target, pilih Tag target yang ditentukan.
- Isi kolom Target tags dengan
allow-health-check. - Setel Source filter ke IPv4 ranges.
- Setel Source IPv4 ranges ke
130.211.0.0/22dan35.191.0.0/16. - Untuk Protocols and ports, pilih Specified protocols and ports.
- Pilih TCP, lalu masukkan
80untuk nomor port. - Klik Create.
- Masukkan Nama
Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi SSH yang masuk:
- Nama:
fw-allow-ssh - Network: NETWORK
- Prioritas:
1000 - Direction of traffic: ingress
- 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
22untuk 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 - Network: NETWORK
- Prioritas:
1000 - Direction of traffic: ingress
- 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_RANGE1 dan PROXY_ONLY_SUBNET_RANGE2
- Protocols and ports: Pilih Specified protocols and ports
- Pilih TCP, lalu masukkan
80untuk nomor port. - Klik Create.
- Nama:
gcloud
Buat aturan
fw-allow-health-check-and-proxyuntuk mengizinkan pemeriksaan health check Google Cloud mencapai 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:80Buat aturan firewall
fw-allow-sshuntuk 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=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22Buat 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_RANGE1,PROXY_ONLY_SUBNET_RANGE2 \ --rules=tcp:80
Menyiapkan NEG zona
Untuk backend berbasis Google Cloud, sebaiknya konfigurasi beberapa NEG zonal 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 REGION1. Pertama, buat VM di zona NEG_ZONE1. Kemudian
buat NEG zona di NEG_ZONE2 dan
tambahkan endpoint jaringan VM ke NEG.
Untuk mendukung ketersediaan tinggi, kita menyiapkan NEG zonal serupa di REGION2
region. Jika backend di satu region tidak aktif, traffic akan melakukan failover ke
region lain.
Membuat VM
Konsol
Di konsol Google Cloud , buka halaman VM instances.
Ulangi langkah 3 hingga 8 untuk setiap VM, menggunakan kombinasi nama dan zona berikut.
- Nama:
vm-a1- Zona: NEG_ZONE1 di wilayah REGION_A
- Subnet: SUBNET_A
- Nama:
vm-b1- Zona: NEG_ZONE2 di wilayah REGION_B
- Subnet: SUBNET_B
- Nama:
Klik Create instance.
Tetapkan nama seperti yang ditunjukkan pada langkah sebelumnya.
Untuk Region, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Untuk Zone, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.
Di bagian Advanced options, luaskan Networking, lalu lakukan hal berikut:
- Tambahkan Network tags berikut:
allow-ssh,allow-health-check, danallow-proxy-only-subnet. - Di bagian Network interfaces, klik Add a network interface, lakukan perubahan berikut, lalu klik Done:
- Network: NETWORK
- Subnetwork: seperti yang ditunjukkan di langkah sebelumnya.
- Primary internal IP: Ephemeral (automatic)
- IP Eksternal: Sementara
Luaskan Management. Di kolom Automation, salin dan tempel konten skrip berikut. Isi skrip identik untuk semua 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
- Tambahkan Network tags berikut:
Klik Create.
gcloud
Buat VM dengan menjalankan perintah berikut, menggunakan kombinasi ini untuk nama VM dan zonanya. Isi skrip sama untuk kedua VM.
VM_NAMEdarivm-a1- Zona
GCP_NEG_ZONEsebagai NEG_ZONE1 di regionREGION_A - Subnet
LB_SUBNET_NAMEsebagai SUBNET_A
- Zona
VM_NAMEdarivm-b1- Zone
GCP_NEG_ZONEsebagai NEG_ZONE2 di regionREGION_B - Subnet
LB_SUBNET_NAMEsebagai SUBNET_B
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-12 \ --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'- Zone
Membuat NEG zona
Konsol
Untuk membuat grup endpoint jaringan zonal:
Di konsol Google Cloud , buka halaman Network Endpoint Groups.
Ulangi langkah 3 hingga 8 untuk setiap NEG zonal, menggunakan kombinasi nama dan zona berikut:
- Nama:
neg-1- Zona: NEG_ZONE1 di
wilayah
REGION_A - Subnet: SUBNET_A
- Zona: NEG_ZONE1 di
wilayah
- Nama:
neg-2- Zona: NEG_ZONE2 di
wilayah
REGION_B - Subnet: SUBNET_B
- Zona: NEG_ZONE2 di
wilayah
- Nama:
Klik Create network endpoint group.
Tetapkan nama seperti yang ditunjukkan pada langkah sebelumnya.
Pilih Network endpoint group type: Network endpoint group (Zonal).
Pilih Jaringan: NETWORK
Pilih Subnetwork seperti yang ditunjukkan pada langkah sebelumnya.
Pilih Zone seperti yang ditunjukkan pada langkah sebelumnya.
Masukkan Default port:
80.Klik Create.
Tambahkan endpoint ke NEG zona:
Di konsol Google Cloud , buka halaman Network Endpoint Groups.
Klik Nama grup endpoint jaringan yang dibuat pada langkah sebelumnya. Anda akan melihat halaman Network endpoint group details.
Di bagian Network endpoints in this group, klik Add network endpoint. 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 ditampilkan.
Masukkan alamat IP endpoint jaringan baru.
Pilih Jenis port.
- Jika Anda memilih Default, endpoint akan menggunakan port default
80untuk semua endpoint dalam grup endpoint jaringan. Hal ini sudah cukup untuk contoh kita karena server Apache melayani 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 lebih banyak endpoint, 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 kombinasi nama, zona, dan subnet. Gunakan perintahgcloud compute network-endpoint-groups create.- Nama:
neg-1- Zona
GCP_NEG_ZONE: NEG_ZONE1 di wilayahREGION_A - Subnet
LB_SUBNET_NAME: SUBNET_A
- Zona
- Nama:
neg-2- Zona
GCP_NEG_ZONE: NEG_ZONE2 di wilayahREGION_B - Subnet
LB_SUBNET_NAME: SUBNET_B
- Zona
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_NAMEAnda dapat menentukan port menggunakan opsi
--default-portsaat membuat NEG, atau menentukan nomor port untuk setiap endpoint seperti yang ditunjukkan pada langkah berikutnya.- Nama:
Tambahkan endpoint ke
neg1danneg2.gcloud compute network-endpoint-groups update neg1 \ --zone=NEG_ZONE1 \ --add-endpoint='instance=vm-a1,port=80'gcloud compute network-endpoint-groups update neg2 \ --zone=NEG_ZONE2 \ --add-endpoint='instance=vm-b1,port=80'
Menyiapkan NEG konektivitas hybrid
Saat membuat NEG, gunakan zona yang meminimalkan jarak geografis antara Google Cloud dan lingkungan cloud lokal atau lainnya.
Selain itu, jika Anda menggunakan Cloud Interconnect, zona yang digunakan untuk membuat NEG berada di region yang sama dengan tempat lampiran Cloud Interconnect dikonfigurasi.
NEG Hybrid hanya mendukung pemeriksaan kondisi Envoy terdistribusi.
Konsol
Untuk membuat grup endpoint jaringan konektivitas hybrid:
Di konsol Google Cloud , buka halaman Network Endpoint Groups.
Klik Create network endpoint group.
Ulangi langkah 4 hingga 9 untuk setiap NEG hybrid, menggunakan kombinasi nama dan zona berikut.
- Nama ON_PREM_NEG_NAME:
hybrid-1- Zona: ON_PREM_NEG_ZONE1
- Subnet: SUBNET_A
- Nama ON_PREM_NEG_NAME:
hybrid-2- Zona: ON_PREM_NEG_ZONE2
- Subnet: SUBNET_B
- Nama ON_PREM_NEG_NAME:
Tetapkan nama seperti yang ditunjukkan pada langkah sebelumnya.
Pilih Network endpoint group type: Hybrid connectivity network endpoint group (Zonal).
Pilih Jaringan: NETWORK
Untuk Subnet, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Untuk Zone, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Masukkan Default port.
Klik Buat
Tambahkan endpoint ke NEG konektivitas hybrid:
Di konsol Google Cloud , buka halaman Network Endpoint Groups.
Klik Nama grup endpoint jaringan yang dibuat pada langkah sebelumnya. Anda akan melihat halaman Network endpoint group detail.
Di bagian Network endpoints in this group, klik Add network endpoint. 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 Custom, Anda dapat memasukkan Nomor port yang berbeda untuk digunakan endpoint.
Untuk menambahkan lebih banyak endpoint, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
Setelah Anda menambahkan semua endpoint non-Google Cloud , klik Buat.
gcloud
Buat NEG konektivitas hybrid yang menggunakan kombinasi nama berikut. Gunakan
gcloud compute network-endpoint-groups createperintah.- Nama
ON_PREM_NEG_NAME:hybrid-1- Zona
ON_PREM_NEG_ZONE: ON_PREM_NEG_ZONE1
- Zona
- Nama
ON_PREM_NEG_NAME:hybrid-2- Zona
GCP_NEG_ZONE: ON_PREM_NEG_ZONE2
- Zona
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- Nama
Tambahkan endpoint VM backend lokal 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 Anda.
Ulangi --add-endpoint sebanyak yang diperlukan.
Mengonfigurasi load balancer
Konsol
gcloud
Tentukan health check TCP dengan perintah
gcloud compute health-checks create tcp.gcloud compute health-checks create tcp gil4-basic-check \ --use-serving-port \ --global
Buat layanan backend dan aktifkan logging dengan perintah
gcloud compute backend-services create.gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --enable-logging \ --logging-sample-rate=1.0 \ --health-checks=gil4-basic-check \ --global-health-checks \ --global
Tambahkan backend ke layanan backend dengan perintah
gcloud compute backend-services add-backend.gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=CONNECTION \ --max-connections-per-endpoint=MAX_CONNECTIONS \ --network-endpoint-group=neg1 \ --network-endpoint-group-zone=NEG_ZONE1 \ --network-endpoint-group=neg2 \ --network-endpoint-group-zone=NEG_ZONE2
Untuk mengetahui detail tentang cara mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk flag
--max-connections-per-endpoint. Untuk MAX_CONNECTIONS, masukkan jumlah koneksi serentak maksimum yang dapat ditangani backend.Tambahkan NEG hybrid sebagai backend ke layanan backend.
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --balancing-mode=CONNECTION \ --max-connections-per-endpoint=MAX_CONNECTIONS \ --network-endpoint-group=hybrid1 \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE1 \ --network-endpoint-group=hybrid2 \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE2 \
Untuk mengetahui detail tentang cara mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parameter
--max-connections-per-endpoint. UntukMAX_CONNECTIONS, masukkan jumlah koneksi serentak maksimum yang dapat ditangani backend.Buat proxy target.
Buat proxy target dengan perintah
gcloud compute target-tcp-proxies create.gcloud compute target-tcp-proxies create gil4-tcp-proxy \ --backend-service=BACKEND_SERVICE \ --global
Buat dua aturan penerusan, satu dengan VIP IP_ADDRESS1 di REGION_A dan satu lagi dengan VIP IP_ADDRESS2 di
REGION_B. Untuk alamat IP aturan penerusan, gunakan rentang alamat IP LB_SUBNET_RANGE1 atau LB_SUBNET_RANGE2. Jika Anda mencoba menggunakan subnet khusus proxy, pembuatan aturan penerusan akan gagal.Untuk jaringan kustom, Anda harus mereferensikan subnet dalam aturan penerusan. Perhatikan bahwa ini adalah subnet VM, bukan subnet proxy.
Gunakan perintah
gcloud compute forwarding-rules createdengan flag yang benar.gcloud compute forwarding-rules create gil4-forwarding-rule-a \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=SUBNET_A \ --subnet-region=REGION_A \ --address=IP_ADDRESS1 \ --ports=80 \ --target-tcp-proxy=gil4-tcp-proxy \ --global
gcloud compute forwarding-rules create gil4-forwarding-rule-b \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=SUBNET_B \ --subnet-region=REGION_B \ --address=IP_ADDRESS2 \ --ports=80 \ --target-tcp-proxy=gil4-tcp-proxy \ --global
Menguji load balancer
Membuat instance VM untuk menguji konektivitas
Buat VM klien di region
REGION_AdanREGION_B:gcloud compute instances create l4-ilb-client-a \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=NETWORK \ --subnet=SUBNET_A \ --zone=NEG_ZONE1 \ --tags=allow-sshgcloud compute instances create l4-ilb-client-b \ --image-family=debian-12 \ --image-project=debian-cloud \ --network=NETWORK \ --subnet=SUBNET_B \ --zone=NEG_ZONE2 \ --tags=allow-sshGunakan SSH untuk terhubung ke setiap instance klien.
gcloud compute ssh l4-ilb-client-a \ --zone=NEG_ZONE1
gcloud compute ssh l4-ilb-client-b \ --zone=NEG_ZONE2
Verifikasi bahwa alamat IP menyalurkan nama host-nya.
Pastikan VM klien dapat menjangkau kedua alamat IP. Perintah akan berhasil dan menampilkan nama VM backend yang melayani permintaan:
curl IP_ADDRESS1
curl IP_ADDRESS2
Jalankan 100 permintaan
Jalankan 100 permintaan curl dan konfirmasi dari respons bahwa permintaan tersebut di-load balance.
Pastikan VM klien dapat menjangkau kedua alamat IP. Perintah akan berhasil dan menampilkan nama VM backend yang melayani permintaan:
{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl --silent IP_ADDRESS1)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS1: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl --silent IP_ADDRESS2)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS2: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
Menguji failover
Verifikasi failover ke backend di wilayah
REGION_Asaat backend diREGION_Btidak responsif atau tidak dapat dijangkau. Kita menyimulasikan hal ini dengan menghapus semua backend dariREGION_B:gcloud compute backend-services remove-backend BACKEND_SERVICE \ --balancing-mode=CONNECTION \ --network-endpoint-group=neg2 \ --network-endpoint-group-zone=NEG_ZONE2
Gunakan SSH untuk terhubung ke VM klien di
REGION_B.gcloud compute ssh l4-ilb-client-b \ --zone=NEG_ZONE2
Kirim permintaan ke alamat IP yang di-load balance di region
REGION_B. Output perintah akan menampilkan respons dari VM backend diREGION_A.{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl --silent IP_ADDRESS2)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS2: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
Langkah berikutnya
- Mengonversi Load Balancer Jaringan proxy ke IPv6
- Ringkasan Load Balancer Jaringan proxy internal
- Subnet khusus proxy untuk load balancer berbasis Envoy
- Membersihkan penyiapan load balancing