Halaman ini menunjukkan cara men-deploy Network Load Balancer proxy internal lintas wilayah untuk melakukan load balancing traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lainnya dan yang 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 Load Balancer Jaringan proxy internal lintas region untuk backend NEG konektivitas zonal dan hibrida 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 (Dedicated atau Partner).
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 komponen jaringan, subnet, dan 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_A
dan REGION_B
dalam prosedur ini) sama dengan region 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 jaringan VPC.
Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
Di bagian Subnet:
- Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Berikan Name untuk subnet.
- Pilih Region: REGION_A
- Masukkan rentang alamat IP.
- Klik Done.
Klik Create.
Untuk menambahkan lebih banyak subnet di region yang berbeda, klik Add subnet dan ulangi langkah-langkah sebelumnya untuk REGION_B
gcloud
Buat subnet di jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.
gcloud compute networks subnets create SUBNET_A \ --network=NETWORK \ --range=LB_SUBNET_RANGE1 \ --region=REGION_A
gcloud 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_A
danSUBNET_B
: nama subnetLB_SUBNET_RANGE1
danLB_SUBNET_RANGE2
: rentang alamat IP untuk subnetREGION_A
danREGION_B
: region tempat Anda mengonfigurasi load balancer
Mengonfigurasi subnet khusus proxy
Subnet khusus proxy menyediakan kumpulan 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 pada jaringan VPC. Hanya boleh ada satu subnet khusus proxy yang aktif untuk tujuan tertentu, per wilayah, 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, gunakan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman jaringan VPC.
- Klik nama jaringan VPC.
- Di tab Subnets, klik Add subnet.
- Berikan Nama untuk subnet khusus proxy.
- Dalam daftar Region, pilih REGION_A.
- Di daftar Tujuan, pilih Proxy Terkelola Lintas Wilayah.
- Di kolom IP address range, masukkan
10.129.0.0/23
. - Klik Tambahkan.
Membuat subnet khusus proxy di REGION_B
- Klik Tambahkan subnet.
- Berikan Nama untuk subnet khusus proxy.
- Dalam daftar Region, pilih REGION_B.
- Di daftar Tujuan, pilih Proxy Terkelola Lintas Wilayah.
- 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_A
danPROXY_SN_B
: nama subnet khusus proxyPROXY_ONLY_SUBNET_RANGE1
danPROXY_ONLY_SUBNET_RANGE2
: rentang alamat IP untuk subnet khusus proxyREGION_A
danREGION_B
: region tempat Anda 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 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 NEG zonal yang harus diterapkan dengan tag tersebut.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 tempat tag tersebut harus diterapkan.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
. - Tetapkan Source filter ke IPv4 ranges.
- Tetapkan Source IPv4 ranges ke
130.211.0.0/22
dan35.191.0.0/16
. - Untuk 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_RANGE1 dan PROXY_ONLY_SUBNET_RANGE2
- 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_RANGE1,PROXY_ONLY_SUBNET_RANGE2 \ --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 REGION1
. Pertama, buat VM di zona NEG_ZONE1
. Kemudian,
buat NEG zonal di NEG_ZONE2
dan
tambahkan endpoint jaringan VM ke NEG.
Untuk mendukung ketersediaan tinggi, kita menyiapkan NEG zonal serupa di region REGION2. Jika backend di satu region tidak aktif, traffic akan gagal dan beralih ke
region lain.
Membuat VM
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Ulangi langkah 3 hingga 8 untuk setiap VM, menggunakan kombinasi nama dan zona berikut.
- Nama: dari
vm-a1
- Zona: NEG_ZONE1 di wilayah REGION_A
- Subnet: SUBNET_A
- Nama: dari
vm-b1
- Zona: NEG_ZONE2 di wilayah REGION_B
- Subnet: SUBNET_B
- Nama: dari
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:
- Jaringan: NETWORK
- Subnetwork: seperti yang ditunjukkan pada langkah sebelumnya.
- Primary internal IP: Ephemeral (otomatis)
- External IP: Sementara
Luaskan Pengelolaan. Di kolom Automation, salin dan tempel konten skrip berikut. Konten 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. Konten skrip identik untuk kedua VM.
VM_NAME
darivm-a1
- Zona
GCP_NEG_ZONE
sebagai NEG_ZONE1 di regionREGION_A
- Subnet
LB_SUBNET_NAME
sebagai SUBNET_A
- Zona
VM_NAME
darivm-b1
- Zona
GCP_NEG_ZONE
sebagai NEG_ZONE2 di regionREGION_B
- Subnet
LB_SUBNET_NAME
sebagai 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'
- Zona
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 Port default:
80
.Klik Create.
Tambahkan endpoint ke NEG zona:
Di Konsol Google Cloud, buka halaman Network Endpoint Groups.
Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya. 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.
Masukkan alamat IP 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 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 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 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_NAME
Anda dapat menentukan port menggunakan opsi
--default-port
saat membuat NEG, atau menentukan nomor port untuk setiap endpoint seperti yang ditunjukkan pada langkah berikutnya.- Nama:
Menambahkan endpoint ke
neg1
danneg2
.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 lingkungan cloud 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 campuran hanya mendukung pemeriksaan kesehatan 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 Network: NETWORK
Untuk Subnet, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Untuk Zone, pilih seperti yang ditunjukkan pada langkah sebelumnya.
Masukkan Port default.
Klik Buat
Tambahkan endpoint ke NEG konektivitas hybrid:
Di Konsol Google Cloud, buka halaman Network Endpoint Groups.
Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya. 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 yang menggunakan kombinasi nama berikut. Gunakan perintah
gcloud compute network-endpoint-groups create
.- 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 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.
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 balancing, lihat dokumentasi gcloud CLI untuk flag
--max-connections-per-endpoint
. Untuk MAX_CONNECTIONS, masukkan koneksi serentak maksimum yang akan ditangani backend.Tambahkan NEG campuran 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 koneksi serentak maksimum yang akan 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 \ --url-map=gil4-map \ --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 create
dengan 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_A
danREGION_B
serta region: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-ssh
gcloud 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-ssh
Gunakan 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
Pastikan 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
Menjalankan 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 region
REGION_A
saat backend diREGION_B
tidak responsif atau tidak dapat dijangkau. Kita menyimulasikannya 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 load balancing di region
REGION_B
. Output perintah akan menampilkan respons dari VM backend diREGION_A
:{ RESULTS= for i in {1..100} do RESULTS="$RESULTS:$(curl -k -s 'https://test.example.com:443' --connect-to test.example.com:443:IP_ADDRESS2:443)" done echo "***" echo "*** Results of load-balancing to IP_ADDRESS2: " echo "***" echo "$RESULTS" | tr ':' '\n' | grep -Ev "^$" | sort | uniq -c echo }
Langkah selanjutnya
- 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