Panduan ini menggunakan contoh untuk mengajarkan dasar-dasar Load Balancer Jaringan passthrough internal Google Cloud. Sebelum mengikuti panduan ini, Anda perlu memahami hal-hal berikut:
- Konsep Load Balancer Jaringan passthrough internal
- Cara kerja Load Balancer Jaringan passthrough internal
- Ringkasan aturan firewall
- Konsep health check
Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:
Izin
Untuk mengikuti panduan ini, Anda perlu membuat instance dan mengubah jaringan dalam sebuah project. Anda harus menjadi pemilik atau editor project, atau harus memiliki semua peran IAM Compute Engine berikut:
Tugas | Peran yang Diperlukan |
---|---|
Membuat jaringan, subnet, dan komponen load balancer | Admin Jaringan |
Menambahkan dan menghapus aturan firewall | Security Admin |
Membuat instance | Compute Instance Admin |
Untuk informasi selengkapnya, lihat panduan berikut:
Menyiapkan load balancer dengan subnet stack tunggal
Panduan ini menunjukkan cara mengonfigurasi dan menguji Load Balancer Jaringan passthrough internal. Langkah-langkah di bagian ini menjelaskan cara mengonfigurasi hal berikut:
- Contoh yang menggunakan jaringan VPC
mode kustom bernama
lb-network
. - Subnet single-stack (
stack-type
yang ditetapkan keIPv4
), yang diperlukan untuk traffic IPv4. Saat membuat satu subnet stack pada jaringan VPC mode kustom, Anda memilih rentang subnet IPv4 untuk subnet tersebut. - Aturan firewall yang mengizinkan koneksi masuk ke VM backend.
- Grup instance backend, yang terletak di region dan subnet berikut untuk contoh ini:
- Region:
us-west1
- Subnet:
lb-subnet
, dengan rentang alamat IPv4 utama10.1.2.0/24
.
- Region:
- Empat VM backend: dua VM di grup instance tidak terkelola di zona
us-west1-a
dan dua VM dalam grup instance tidak terkelola di zonaus-west1-c
. Untuk mendemonstrasikan akses global, contoh ini akan membuat VM klien pengujian kedua di region dan subnet yang berbeda:- Region:
europe-west1
- Subnet:
europe-subnet
, dengan rentang alamat IP utama10.3.4.0/24
- Region:
- Satu VM klien untuk menguji koneksi.
- Komponen Load Balancer Jaringan passthrough internal berikut:
- Health check untuk layanan backend.
- Layanan backend internal di region
us-west1
untuk mengelola distribusi koneksi ke dua grup instance zona. - Aturan penerusan internal dan alamat IP internal untuk frontend load balancer.
Arsitektur untuk contoh ini terlihat seperti ini:
Mengonfigurasi jaringan, region, dan subnet
Untuk membuat contoh jaringan dan subnet, ikuti langkah-langkah berikut.
Konsol
Di Konsol Google Cloud, buka halaman jaringan VPC.
Klik Create VPC network.
Untuk Name, masukkan
lb-network
.Di bagian Subnet, lakukan hal berikut:
- Setel Subnet creation mode ke Custom.
- Di bagian Subnet baru, masukkan informasi berikut:
- Name:
lb-subnet
- Region:
us-west1
- Jenis stack IP: IPv4 (stack tunggal)
- Rentang alamat IP:
10.1.2.0/24
- Name:
- Klik Done.
- Klik Tambahkan subnet, lalu masukkan informasi berikut:
- Name:
europe-subnet
- Region:
europe-west1
- Jenis stack IP: IPv4 (stack tunggal)
- Rentang alamat IP:
10.3.4.0/24
- Name:
- Klik Done.
Klik Create.
gcloud
Buat jaringan VPC kustom:
gcloud compute networks create lb-network --subnet-mode=custom
Di jaringan
lb-network
, buat subnet untuk backend di regionus-west1
:gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
Di jaringan
lb-network
, buat subnet lain untuk menguji akses global di regioneurope-west1
:gcloud compute networks subnets create europe-subnet \ --network=lb-network \ --range=10.3.4.0/24 \ --region=europe-west1
API
Buat permintaan POST
ke metode networks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "routingConfig": { "routingMode": "REGIONAL" }, "name": "lb-network", "autoCreateSubnetworks": false }
Buat dua permintaan POST
ke
metode subnetworks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks { "name": "lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "ipCidrRange": "10.1.2.0/24", "privateIpGoogleAccess": false }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/europe-west1/subnetworks { "name": "europe-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "ipCidrRange": "10.3.4.0/24", "privateIpGoogleAccess": false }
Mengonfigurasi aturan firewall
Contoh ini menggunakan aturan firewall berikut:
fw-allow-lb-access
: Aturan masuk, berlaku untuk semua target dalam jaringan VPC, yang mengizinkan traffic dari sumber dalam rentang10.1.2.0/24
dan10.3.4.0/24
. Aturan ini mengizinkan traffic masuk dari klien mana pun yang terletak di salah satu dari dua subnet. Nantinya, Anda dapat mengonfigurasi dan menguji akses global.fw-allow-ssh
: Aturan ingress, yang berlaku untuk instance yang di-load balanced, 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 di sistem tempat Anda akan memulai sesi SSH. Contoh ini menggunakan tag targetallow-ssh
untuk mengidentifikasi VM yang harus diberi tag tersebut.fw-allow-health-check
: Aturan masuk, yang berlaku untuk instance yang mengalami load balancing, yang memungkinkan 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 instance yang harus diterapkan.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Untuk mengizinkan traffic subnet, klik Buat aturan firewall, lalu masukkan informasi berikut:
- Name:
fw-allow-lb-access
- Jaringan:
lb-network
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Target: Semua instance dalam jaringan
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
10.1.2.0/24
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
Untuk mengizinkan koneksi SSH yang masuk, klik Create firewall rule lagi dan masukkan informasi berikut:
- Name:
fw-allow-ssh
- Jaringan:
lb-network
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- 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, centang kotak TCP, lalu masukkan
22
di Ports.
- Name:
Klik Create.
Untuk mengizinkan health check Google Cloud, klik Create firewall rule untuk ketiga kalinya dan masukkan informasi berikut:
- Name:
fw-allow-health-check
- Jaringan:
lb-network
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Targets: Tag target yang ditentukan
- Tag target:
allow-health-check
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
130.211.0.0/22
dan35.191.0.0/16
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
gcloud
Buat aturan firewall
fw-allow-lb-access
untuk mengizinkan komunikasi dari dalam subnet:gcloud compute firewall-rules create fw-allow-lb-access \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.1.2.0/24,10.3.4.0/24 \ --rules=tcp,udp,icmp
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=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Buat aturan
fw-allow-health-check
untuk mengizinkan health check Google Cloud.gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp,udp,icmp
API
Buat aturan firewall fw-allow-lb-access
dengan membuat permintaan POST
ke
metode firewalls.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-lb-access", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "priority": 1000, "sourceRanges": [ "10.1.2.0/24", "10.3.4.0/24" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Buat aturan firewall fw-allow-ssh
dengan membuat permintaan POST
ke
metode firewalls.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-ssh", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "priority": 1000, "sourceRanges": [ "0.0.0.0/0" ], "targetTags": [ "allow-ssh" ], "allowed": [ { "IPProtocol": "tcp", "ports": [ "22" ] } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Buat aturan firewall fw-allow-health-check
dengan membuat permintaan POST
ke
metode firewalls.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-health-check", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "priority": 1000, "sourceRanges": [ "130.211.0.0/22", "35.191.0.0/16" ], "targetTags": [ "allow-health-check" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Membuat VM backend dan grup instance
Contoh ini menggunakan dua grup instance unmanaged yang masing-masing memiliki dua VM backend (server). Untuk menunjukkan sifat regional Load Balancer Jaringan passthrough internal, kedua grup instance ditempatkan di zona terpisah, us-west1-a
dan us-west1-c
.
- Grup instance
ig-a
berisi dua VM ini:vm-a1
vm-a2
- Grup instance
ig-c
berisi dua VM ini:vm-c1
vm-c2
Traffic ke keempat VM backend mengalami load balancing.
Untuk mendukung contoh ini dan opsi konfigurasi tambahan, masing-masing dari keempat VM menjalankan server web Apache yang memantau port TCP berikut: 80, 8008, 8080, 8088, 443, dan 8443.
Setiap VM diberi alamat IP internal di lb-subnet
dan alamat IP eksternal (publik) efemeral. Anda dapat menghapus alamat IP eksternal nanti.
Alamat IP eksternal untuk VM backend tidak diperlukan. Namun, alamat ini berguna untuk contoh ini karena mengizinkan VM backend untuk mendownload Apache dari internet, dan dapat terhubung menggunakan SSH.
Secara {i>default<i}, Apache dikonfigurasi untuk mengikat ke alamat IP apa pun. Load Balancer Jaringan passthrough internal mengirimkan paket dengan mempertahankan IP tujuan. Pastikan software server yang berjalan di VM backend Anda memproses alamat IP aturan penerusan internal load balancer. Jika Anda mengonfigurasi beberapa aturan penerusan internal, pastikan software Anda memproses alamat IP internal yang terkait dengan setiap aturan tersebut. Alamat IP tujuan paket yang dikirim ke VM backend oleh Load Balancer Jaringan passthrough internal adalah alamat IP internal dari aturan penerusan.
Demi kemudahan instruksi, VM backend ini menjalankan Debian Debian GNU/Linux 10.
Konsol
Membuat VM backend
Di konsol Google Cloud, buka halaman Instance VM.
Ulangi langkah 3 hingga 8 untuk setiap VM, dengan menggunakan kombinasi nama dan zona berikut.
- Nama:
vm-a1
, zona:us-west1-a
- Nama:
vm-a2
, zona:us-west1-a
- Nama:
vm-c1
, zona:us-west1-c
- Nama:
vm-c2
, zona:us-west1-c
- Nama:
Klik Create instance.
Tetapkan Name seperti yang ditunjukkan pada langkah 2.
Untuk Region, pilih
us-west1
, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.Di bagian Boot disk, pastikan sistem operasi Debian dan versi 10 (buster) dipilih untuk opsi boot disk. Jika perlu, klik Change untuk mengubah gambar.
Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
danallow-health-check
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network
- Subnet:
lb-subnet
- Jenis stack IP: IPv4 (stack tunggal)
- Alamat IPv4 internal utama: Ephemeral (otomatis)
- Alamat IPv4 eksternal: Efemeral
- Jaringan:
- Untuk Tag jaringan, masukkan
Klik Management, lalu di kolom Startup script, masukkan skrip berikut. Konten skrip identik untuk keempat VM.
#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed
Klik Create.
Membuat grup instance
Di Konsol Google Cloud, buka halaman Instance groups.
Ulangi langkah-langkah berikut untuk membuat dua grup instance tidak terkelola, masing-masing dengan dua VM di dalamnya, menggunakan kombinasi ini.
- Nama grup instance:
ig-a
, zona:us-west1-a
, VM:vm-a1
, danvm-a2
- Nama grup instance:
ig-c
, zona:us-west1-c
, VM:vm-c1
, danvm-c2
- Nama grup instance:
Klik Create grup instance.
Klik New unmanaged instance group.
Tetapkan Name seperti yang ditunjukkan pada langkah 2.
Di bagian Location, pilih
us-west1
untuk Region, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.Untuk Network, pilih
lb-network
.Untuk Subnetwork, pilih
lb-subnet
.Di bagian VM instances, tambahkan VM seperti yang ditunjukkan pada langkah 2.
Klik Create.
gcloud
Buat empat VM dengan menjalankan perintah berikut empat kali, menggunakan keempat kombinasi ini untuk
[VM-NAME]
dan[ZONE]
. Konten skrip identik untuk keempat VM.VM-NAME
:vm-a1
,ZONE
:us-west1-a
VM-NAME
:vm-a2
,ZONE
:us-west1-a
VM-NAME
:vm-c1
,ZONE
:us-west1-c
VM-NAME
:vm-c2
,ZONE
:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check \ --subnet=lb-subnet \ --metadata=startup-script='#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed'
Buat dua grup instance yang tidak dikelola di setiap zona:
gcloud compute instance-groups unmanaged create ig-a \ --zone=us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone=us-west1-c
Tambahkan VM ke grup instance yang sesuai:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone=us-west1-a \ --instances=vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone=us-west1-c \ --instances=vm-c1,vm-c2
API
Untuk keempat VM, gunakan zona dan nama VM berikut:
VM-NAME
:vm-a1
,ZONE
:us-west1-a
VM-NAME
:vm-a2
,ZONE
:us-west1-a
VM-NAME
:vm-c1
,ZONE
:us-west1-c
VM-NAME
:vm-c2
,ZONE
:us-west1-c
Anda bisa mendapatkan DEBIAN_IMAGE_NAME
saat ini dengan menjalankan perintah
gcloud
berikut:
gcloud compute images list \ --filter="family=debian-10"
Buat empat VM backend dengan membuat empat permintaan POST
ke metode instances.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM-NAME", "tags": { "items": [ "allow-health-check", "allow-ssh" ] }, "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/[ZONE]/machineTypes/e2-standard-2", "canIpForward": false, "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "external-nat", "networkTier": "PREMIUM" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "VM-NAME", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/debian-image-name", "diskType": "projects/PROJECT_ID/zones/zone/diskTypes/pd-standard", "diskSizeGb": "10" } } ], "metadata": { "items": [ { "key": "startup-script", "value": "#! /bin/bash\napt-get update\napt-get install apache2 -y\na2ensite default-ssl\na2enmod ssl\nfile_ports=\"/etc/apache2/ports.conf\"\nfile_http_site=\"/etc/apache2/sites-available/000-default.conf\"\nfile_https_site=\"/etc/apache2/sites-available/default-ssl.conf\"\nhttp_listen_prts=\"Listen 80\\nListen 8008\\nListen 8080\\nListen 8088\"\nhttp_vh_prts=\"*:80 *:8008 *:8080 *:8088\"\nhttps_listen_prts=\"Listen 443\\nListen 8443\"\nhttps_vh_prts=\"*:443 *:8443\"\nvm_hostname=\"$(curl -H \"Metadata-Flavor:Google\" \\\nhttp://metadata.google.internal/computeMetadata/v1/instance/name)\"\necho \"Page served from: $vm_hostname\" | \\\ntee /var/www/html/index.html\nprt_conf=\"$(cat \"$file_ports\")\"\nprt_conf_2=\"$(echo \"$prt_conf\" | sed \"s|Listen 80|${http_listen_prts}|\")\"\nprt_conf=\"$(echo \"$prt_conf_2\" | sed \"s|Listen 443|${https_listen_prts}|\")\"\necho \"$prt_conf\" | tee \"$file_ports\"\nhttp_site_conf=\"$(cat \"$file_http_site\")\"\nhttp_site_conf_2=\"$(echo \"$http_site_conf\" | sed \"s|*:80|${http_vh_prts}|\")\"\necho \"$http_site_conf_2\" | tee \"$file_http_site\"\nhttps_site_conf=\"$(cat \"$file_https_site\")\"\nhttps_site_conf_2=\"$(echo \"$https_site_conf\" | sed \"s|_default_:443|${https_vh_prts}|\")\"\necho \"$https_site_conf_2\" | tee \"$file_https_site\"\nsystemctl restart apache2" } ] }, "scheduling": { "preemptible": false }, "deletionProtection": false }
Buat dua grup instance dengan membuat permintaan POST
ke
metode instanceGroups.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups { "name": "ig-a", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet" }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups { "name": "ig-c", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet" }
Tambahkan instance ke setiap grup instance dengan membuat permintaan POST
ke metode instanceGroups.addInstances
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a1", "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a2" } ] }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c1", "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c2" } ] }
Mengonfigurasi komponen load balancer
Langkah-langkah ini mengonfigurasi semua komponen Load Balancer Jaringan passthrough internal, dimulai dengan health check dan layanan backend, lalu komponen frontend:
Health check: Dalam contoh ini, Anda menggunakan health check HTTP yang memeriksa respons HTTP
200
(OK). Untuk mengetahui informasi selengkapnya, baca bagian health check pada ringkasan Load Balancer Jaringan passthrough internal.Layanan backend: Karena Anda perlu meneruskan traffic HTTP melalui load balancer internal, Anda harus menggunakan TCP, bukan UDP.
Aturan penerusan: Contoh ini membuat satu aturan penerusan internal.
Internal IP address: Dalam contoh ini, Anda menentukan alamat IP internal,
10.1.2.99
, saat membuat aturan penerusan.
Konsol
Memulai konfigurasi Anda
Di Konsol Google Cloud, buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
- Untuk Proxy or passthrough, pilih Passthrough load balancer lalu klik Next.
- Untuk Hubung publik atau internal, pilih Internal lalu klik Berikutnya.
- Klik Konfigurasikan.
Konfigurasi dasar
Di halaman Create internal passthrough Network Load Balancer, masukkan informasi berikut:
- Nama load balancer:
be-ilb
- Wilayah:
us-west1
- Jaringan:
lb-network
Mengonfigurasi backend
- Klik Backend configuration.
- Untuk menangani traffic IPv4 saja, di bagian New Backend pada Backends, pilih IP stack type sebagai IPv4 (single-stack).
- Di Instance group, pilih grup instance
ig-c
, lalu klik Done. - Klik Add a backend dan ulangi langkah ini untuk menambahkan
ig-a
. Dari daftar Health check, pilih Create a health check, masukkan informasi berikut, lalu klik Save.
- Name:
hc-http-80
- Protocol:
HTTP
- Port:
80
- Protokol proxy:
NONE
- Jalur permintaan:
/
Perlu diperhatikan bahwa saat Anda menggunakan konsol Google Cloud untuk membuat load balancer, health check akan bersifat global. Jika Anda ingin membuat health check regional, gunakan
gcloud
atau API.- Name:
Pastikan ada tanda centang biru di samping Backend configuration sebelum melanjutkan.
Mengonfigurasi frontend
- Klik Frontend configuration.
- Di bagian New Frontend IP and port, lakukan tindakan berikut:
- Untuk Name, masukkan
fr-ilb
. - Untuk Subnetwork, pilih
lb-subnet
. - Di bagian Internal IP destination, dalam daftar IP address, pilih Create IP address, masukkan informasi berikut, lalu klik Reserve.
- Name:
ip-ilb
- Versi IP: IPv4
- Alamat IP statis: Pilihan saya adalah
- Alamat IP kustom:
10.1.2.99
- Name:
- Untuk Ports, pilih Multiple, lalu di Port numbers, masukkan
80
,8008
,8080
, dan8088
. - Pastikan terdapat tanda centang biru di samping Frontend configuration sebelum melanjutkan.
- Untuk Name, masukkan
Meninjau konfigurasi
- Klik Review and finalize.
- Tinjau setelan konfigurasi load balancer Anda.
- Opsional: Klik Equivalent code untuk melihat permintaan REST API yang akan digunakan untuk membuat load balancer.
- Klik Create.
gcloud
Buat health check HTTP regional baru untuk menguji konektivitas HTTP ke VM di port 80.
gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80
Buat layanan backend untuk traffic HTTP:
gcloud compute backend-services create be-ilb \ --load-balancing-scheme=internal \ --protocol=tcp \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1
Tambahkan dua grup instance ke layanan backend:
gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-c
Membuat aturan penerusan untuk layanan backend. Saat Anda membuat aturan penerusan, tentukan
10.1.2.99
untuk alamat IP internal di subnet.gcloud compute forwarding-rules create fr-ilb \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=80,8008,8080,8088 \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
Buat health check dengan membuat permintaan POST
ke
metode regionHealthChecks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/regionHealthChecks { "name": "hc-http-80", "type": "HTTP", "httpHealthCheck": { "port": 80 } }
Buat layanan backend regional dengan membuat permintaan POST
ke
metode regionBackendServices.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices { "name": "be-ilb", "backends": [ { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a", "balancingMode": "CONNECTION" }, { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c", "balancingMode": "CONNECTION" } ], "healthChecks": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80" ], "loadBalancingScheme": "INTERNAL", "connectionDraining": { "drainingTimeoutSec": 0 } }
Buat aturan penerusan dengan membuat permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb", "IPAddress": "10.1.2.99", "IPProtocol": "TCP", "ports": [ "80", "8008", "8080", "8088" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
Menguji load balancer
Pengujian ini menunjukkan cara memvalidasi konfigurasi load balancer dan mempelajari perilaku yang diharapkan.
Membuat VM klien
Contoh ini akan membuat VM klien (vm-client
) di region yang sama dengan VM backend (server). Klien digunakan untuk memvalidasi konfigurasi load balancer
dan menunjukkan perilaku yang diharapkan seperti yang dijelaskan di
bagian pengujian.
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik Create instance.
Untuk Name, masukkan
vm-client
.Untuk Region, pilih
us-west1
.Untuk Zone, pilih
us-west1-a
.Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network
- Subnet:
lb-subnet
- Jaringan:
- Untuk Tag jaringan, masukkan
Klik Create.
gcloud
VM klien dapat berada di zona mana pun dalam region yang sama dengan load balancer, dan dapat menggunakan subnet apa pun di region tersebut. Dalam contoh ini,
klien berada di zona us-west1-a
, dan menggunakan subnet yang sama
dengan VM backend.
gcloud compute instances create vm-client \ --zone=us-west1-a \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=lb-subnet
API
Buat permintaan POST
ke metode instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances { "name": "vm-client", "tags": { "items": [ "allow-ssh" ] }, "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/machineTypes/e2-standard-2", "canIpForward": false, "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "external-nat", "networkTier": "PREMIUM" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "vm-client", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/debian-image-name", "diskType": "projects/PROJECT_ID/zones/us-west1-a/diskTypes/pd-standard", "diskSizeGb": "10" } } ], "scheduling": { "preemptible": false }, "deletionProtection": false }
Menguji koneksi dari VM klien
Pengujian ini menghubungi load balancer dari VM klien terpisah; yaitu, bukan dari VM backend load balancer. Perilaku yang diharapkan adalah traffic akan didistribusikan di antara empat VM backend karena tidak ada afinitas sesi yang telah dikonfigurasi.
Menghubungkan ke instance VM klien.
gcloud compute ssh vm-client --zone=us-west1-a
Buat permintaan web ke load balancer menggunakan
curl
untuk menghubungi alamat IP-nya. Ulangi permintaan tersebut sehingga Anda dapat melihat bahwa respons berasal dari VM backend yang berbeda. Nama VM yang menghasilkan respons ditampilkan dalam teks di respons HTML, berdasarkan konten/var/www/html/index.html
di setiap VM backend. Misalnya, respons yang diharapkan terlihat sepertiPage served from: vm-a1
danPage served from: vm-a2
.curl http://10.1.2.99
Aturan penerusan dikonfigurasi untuk melayani port
80
,8008
,8080
, dan8088
. Untuk mengirim traffic ke port lain tersebut, tambahkan titik dua (:
) dan nomor port setelah alamat IP, seperti ini:curl http://10.1.2.99:8008
Jika menambahkan label layanan ke aturan penerusan internal, Anda dapat menggunakan DNS internal untuk menghubungi load balancer menggunakan nama layanannya.
curl http://web-test.fr-ilb.il4.us-west1.lb.PROJECT_ID.internal
Melakukan ping ke alamat IP load balancer
Pengujian ini menunjukkan perilaku yang diharapkan: Anda tidak dapat mem-ping alamat IP load balancer. Hal ini karena Load Balancer Jaringan passthrough internal diimplementasikan dalam pemrograman jaringan virtual, bukan perangkat yang terpisah.
Menghubungkan ke instance VM klien.
gcloud compute ssh vm-client --zone=us-west1-a
Mencoba melakukan ping ke alamat IP load balancer. Perhatikan bahwa Anda tidak mendapatkan respons dan perintah
ping
akan berakhir setelah 10 detik dalam contoh ini.timeout 10 ping 10.1.2.99
Mengirim permintaan dari VM yang di-load balanced
Pengujian ini menunjukkan bahwa saat VM backend mengirimkan paket ke alamat IP aturan penerusan load balancer-nya, permintaan tersebut akan dirutekan kembali ke dirinya sendiri. Hal ini berlaku terlepas dari status health check VM backend.
Load Balancer Jaringan passthrough internal diimplementasikan menggunakan pemrograman jaringan virtual dan konfigurasi VM di OS tamu. Di VM Linux, Lingkungan Tamu akan membuat rute untuk alamat IP load balancer di tabel perutean lokal pada sistem operasi.
Karena rute lokal ini berada di dalam VM itu sendiri (bukan rute di jaringan VPC), paket yang dikirim ke alamat IP load balancer tidak akan diproses oleh jaringan VPC. Sebagai gantinya, paket yang dikirim ke alamat IP load balancer tetap berada dalam sistem operasi VM.
Hubungkan ke VM backend, seperti
vm-a1
:gcloud compute ssh vm-a1 --zone=us-west1-a
Buat permintaan web ke load balancer (berdasarkan alamat IP atau nama layanan) menggunakan
curl
. Respons berasal dari VM backend yang sama dengan yang membuat permintaan. Permintaan berulang akan dijawab dengan cara yang sama. Respons yang diharapkan saat pengujian darivm-a1
selaluPage served from: vm-a1
.curl http://10.1.2.99
Periksa tabel perutean lokal, dengan mencari tujuan yang cocok dengan alamat IP load balancer itu sendiri,
10.1.2.99
. Rute ini adalah bagian yang diperlukan dari Load Balancer Jaringan passthrough internal, tetapi juga menunjukkan alasan permintaan dari VM di belakang load balancer selalu direspons oleh VM yang sama.ip route show table local | grep 10.1.2.99
Saat VM backend untuk Load Balancer Jaringan passthrough internal mengirimkan paket ke alamat IP aturan penerusan load balancer, paket tersebut selalu diarahkan kembali ke VM yang membuat permintaan. Hal ini karena Load Balancer Jaringan passthrough internal adalah load balancer pass-through dan diimplementasikan dengan membuat rute lokal untuk alamat IP load balancer dalam OS tamu VM, seperti yang ditunjukkan di bagian ini. Jika Anda memiliki kasus penggunaan ketika backend yang di-load balanced saat perlu mengirim traffic TCP ke alamat IP load balancer, dan Anda ingin traffic didistribusikan seolah-olah berasal dari backend yang tidak mengalami load balancing, pertimbangkan untuk menggunakan Load Balancer Jaringan proxy internal regional.
Untuk mengetahui informasi selengkapnya, baca Load Balancer Jaringan passthrough internal sebagai next hop.
Menyiapkan load balancer dengan subnet dual stack
Panduan ini menunjukkan cara mengonfigurasi dan menguji Load Balancer Jaringan passthrough internal. Langkah-langkah di bagian ini menjelaskan cara mengonfigurasi hal berikut:
- Contoh di halaman ini menggunakan jaringan VPC mode kustom bernama
lb-network-dual-stack
. Traffic IPv6 memerlukan subnet mode kustom. - Subnet dual-stack (
stack-type
yang ditetapkan keIPv4_IPv6
), yang diperlukan untuk traffic IPv6. Saat membuat subnet stack ganda pada jaringan VPC mode kustom, Anda memilih jenis akses IPv6 untuk subnet tersebut. Untuk contoh ini, kita menetapkan parameteripv6-access-type
subnet keINTERNAL
. Artinya, VM baru di subnet ini dapat diberi alamat IPv4 internal dan alamat IPv6 internal. Untuk mengetahui petunjuknya, lihat dokumentasi VPC tentang Menambahkan subnet dua stack. - Aturan firewall yang mengizinkan koneksi masuk ke VM backend.
- Grup instance backend, yang terletak di region dan subnet berikut untuk contoh ini:
- Region:
us-west1
- Subnet:
lb-subnet
, dengan rentang alamat IPv4 utama10.1.2.0/24
. Meskipun Anda memilih rentang alamat IPv4 yang akan dikonfigurasi di subnet, rentang alamat IPv6 akan ditetapkan secara otomatis. Google memberikan blok CIDR IPv6 (/64
) dengan ukuran tetap.
- Region:
- Empat VM dual-stack
backend: dua VM dalam grup instance tidak terkelola di zona
us-west1-a
dan dua VM dalam grup instance yang tidak dikelola di zonaus-west1-c
. Untuk mendemonstrasikan akses global, contoh ini akan membuat VM klien pengujian kedua di region dan subnet yang berbeda:- Region:
europe-west1
- Subnet:
europe-subnet
, dengan rentang alamat IP utama10.3.4.0/24
- Region:
- Satu VM klien untuk menguji koneksi.
- Komponen Load Balancer Jaringan passthrough internal berikut:
- Health check untuk layanan backend.
- Layanan backend internal di region
us-west1
untuk mengelola distribusi koneksi ke dua grup instance zona. - Dua aturan penerusan internal untuk frontend load balancer.
Diagram berikut menunjukkan arsitektur untuk contoh ini:
Mengonfigurasi jaringan, region, dan subnet
Contoh Load Balancer Jaringan passthrough internal yang dijelaskan di halaman ini dibuat dalam jaringan VPC mode kustom bernama lb-network-dual-stack
.
Untuk mengonfigurasi subnet dengan rentang IPv6 internal, aktifkan rentang IPv6 internal ULA jaringan VPC. Rentang subnet IPv6 internal dialokasikan dari rentang ini.
Konsol
Di Konsol Google Cloud, buka halaman jaringan VPC.
Klik Create VPC network.
Untuk Name, masukkan
lb-network-dual-stack
.Jika Anda ingin mengonfigurasi rentang alamat IPv6 internal pada subnet di jaringan ini, selesaikan langkah-langkah berikut:
- Untuk VPC network ULA internal IPv6 range, pilih Enabled.
- Untuk Allocate internal IPv6 range, pilih Automatically atau Manually.
Untuk Mode pembuatan subnet, klik Kustom.
Di bagian New subnet tentukan parameter konfigurasi berikut untuk subnet:
- Name:
lb-subnet
- Region:
us-west1
- Jenis stack IP: IPv4 dan IPv6 (dual-stack)
- Rentang IPv4:
10.1.2.0/24
. - Jenis akses IPv6: Internal
- Name:
Klik Done.
Klik Add subnet dan masukkan informasi berikut:
- Name:
europe-subnet
- Region:
europe-west1
- Jenis stack IP: IPv4 (stack tunggal)
- Rentang alamat IP:
10.3.4.0/24
- Name:
Klik Done.
Klik Create.
gcloud
Untuk membuat jaringan VPC mode kustom baru, jalankan perintah
gcloud compute networks create
.Untuk mengonfigurasi rentang IPv6 internal pada subnet apa pun di jaringan ini, gunakan tanda
--enable-ula-internal-ipv6
. Opsi ini menetapkan awalan ULA/48
dari dalam rentangfd20::/20
yang digunakan oleh Google Cloud untuk rentang subnet IPv6 internal. Jika Anda ingin memilih rentang IPv6/48
yang ditetapkan, gunakan flag--internal-ipv6-range
untuk menentukan rentang.gcloud compute networks create lb-network-dual-stack \ --subnet-mode=custom \ --enable-ula-internal-ipv6 \ --internal-ipv6-range=ULA_IPV6_RANGE \ --bgp-routing-mode=regional
Ganti
ULA_IPV6_RANGE
dengan awalan/48
dari dalam rentangfd20::/20
yang digunakan oleh Google untuk rentang subnet IPv6 internal. Jika Anda tidak menggunakan tanda--internal-ipv6-range
, Google akan memilih awalan/48
untuk jaringan, sepertifd20:bc7:9a1c::/48
.Dalam jaringan
NETWORK
, buat subnet untuk backend di regionus-west1
dan subnet lain untuk menguji akses global di regioneurope-west1
.Untuk membuat subnet, jalankan perintah
gcloud compute networks subnets create
.gcloud compute networks subnets create lb-subnet \ --network=lb-network-dual-stack \ --range=10.1.2.0/24 \ --region=us-west1 \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL
gcloud compute networks subnets create europe-subnet \ --network=lb-network-dual-stack \ --range=10.3.4.0/24 \ --region=europe-west1 \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL
API
Membuat jaringan VPC mode kustom baru.
Untuk mengonfigurasi rentang IPv6 internal pada subnet apa pun di
jaringan ini, tetapkan enableUlaInternalIpv6
ke true. Opsi ini menetapkan rentang /48
dari dalam rentang fd20::/20
yang digunakan oleh Google untuk rentang subnet IPv6 internal. Jika Anda ingin memilih rentang IPv6 /48
yang ditetapkan, gunakan juga kolom internalIpv6Range
untuk menentukan rentang.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "autoCreateSubnetworks": false, "name": "lb-network-dual-stack", "mtu": MTU, "enableUlaInternalIpv6": true, "internalIpv6Range": "ULA_IPV6_RANGE", "routingConfig": { "routingMode": "DYNAMIC_ROUTING_MODE" } }
Ganti kode berikut:
PROJECT_ID
: ID project tempat jaringan VPC dibuat.MTU
: unit transmisi maksimum jaringan. MTU dapat berupa1460
(default) atau1500
. Tinjau ringkasan unit transmisi maksimum sebelum menetapkan MTU ke1500
.ULA_IPV6_RANGE
: awalan/48
dari dalam rentangfd20::/20
yang digunakan oleh Google untuk rentang subnet IPv6 internal. Jika Anda tidak memberikan nilai untukinternalIpv6Range
, Google akan memilih awalan/48
untuk jaringan tersebut.DYNAMIC_ROUTING_MODE
:global
atauregional
untuk mengontrol perilaku iklan rute Cloud Router di jaringan. Untuk informasi selengkapnya, lihat mode pemilihan rute dinamis.Untuk mengetahui informasi selengkapnya, lihat metode
networks.insert
.
Buat dua permintaan POST
ke
metode subnetworks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "ipCidrRange": "10.1.2.0/24", "network": "lb-network-dual-stack", "name": "lb-subnet" "stackType": IPV4_IPV6, "ipv6AccessType": Internal }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "ipCidrRange": "10.3.4.0/24", "network": "lb-network-dual-stack", "name": "europe-subnet" "stackType": IPV4_IPV6, "ipv6AccessType": Internal }
Mengonfigurasi aturan firewall
Contoh ini menggunakan aturan firewall berikut:
fw-allow-lb-access
: Aturan masuk, yang berlaku untuk semua target dalam jaringan VPC, yang memungkinkan traffic dari sumber dalam rentang10.1.2.0/24
dan10.3.4.0/24
. Aturan ini mengizinkan traffic masuk dari klien mana pun yang terletak di salah satu dari dua subnet. Kemudian, Anda dapat mengonfigurasi dan menguji akses global.fw-allow-lb-access-ipv6
: Aturan masuk, berlaku untuk semua target dalam jaringan VPC, yang memungkinkan traffic dari sumber dalam rentang IPv6 yang dikonfigurasi di subnet. Aturan ini mengizinkan lalu lintas IPv6 yang masuk dari klien mana pun yang terletak di salah satu dari dua subnet. Kemudian, Anda dapat mengonfigurasi dan menguji akses global.fw-allow-ssh
: Aturan ingress, yang berlaku untuk instance yang di-load balanced, 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 memulai sesi SSH. Contoh ini menggunakan tag targetallow-ssh
untuk mengidentifikasi VM yang harus diberi tag tersebut.fw-allow-health-check
: Aturan masuk, yang berlaku untuk instance yang mengalami load balancing, yang memungkinkan 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 instance yang harus diterapkan.fw-allow-health-check-ipv6
: Aturan masuk, yang berlaku untuk instance yang di-load balanced, yang memungkinkan traffic dari sistem health check Google Cloud (2600:2d00:1:b029::/64
). Contoh ini menggunakan tag targetallow-health-check-ipv6
untuk mengidentifikasi instance yang harus diterapkan.
Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic masuk ke instance backend.
Konsol
Di Konsol Google Cloud, buka halaman Firewall policies.
Untuk membuat aturan guna mengizinkan traffic subnet, klik Create firewall rule dan masukkan informasi berikut:
- Name:
fw-allow-lb-access
- Jaringan:
lb-network-dual-stack
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Target: Semua instance dalam jaringan
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
10.1.2.0/24
dan10.3.4.0/24
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
Untuk mengizinkan traffic subnet IPv6, klik Create firewall rule lagi dan masukkan informasi berikut:
- Name:
fw-allow-lb-access-ipv6
- Jaringan:
lb-network-dual-stack
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Target: Semua instance dalam jaringan
- Filter sumber: Rentang IPv6
- Rentang IPv6 sumber: IPV6_ADDRESS ditetapkan di
lb-subnet
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
Untuk mengizinkan koneksi SSH yang masuk, klik Create firewall rule lagi dan masukkan informasi berikut:
- Name:
fw-allow-ssh
- Jaringan:
lb-network-dual-stack
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- 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, centang kotak TCP, lalu masukkan
22
di Ports.
- Name:
Klik Create.
Untuk mengizinkan health check Google Cloud IPv6, klik Create firewall rule lagi dan masukkan informasi berikut:
- Name:
fw-allow-health-check-ipv6
- Jaringan:
lb-network-dual-stack
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Targets: Tag target yang ditentukan
- Tag target:
allow-health-check-ipv6
- Filter sumber: Rentang IPv6
- Rentang IPv6 sumber:
2600:2d00:1:b029::/64
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
Untuk mengizinkan health check Google Cloud, klik Create firewall rule lagi dan masukkan informasi berikut:
- Name:
fw-allow-health-check
- Jaringan:
lb-network-dual-stack
- Prioritas:
1000
- Arah traffic: ingress
- Tindakan pada kecocokan: allow
- Targets: Tag target yang ditentukan
- Tag target:
allow-health-check
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber:
130.211.0.0/22
dan35.191.0.0/16
- Protokol dan port: Izinkan semua
- Name:
Klik Create.
gcloud
Buat aturan firewall
fw-allow-lb-access
untuk mengizinkan komunikasi dengan subnet:gcloud compute firewall-rules create fw-allow-lb-access \ --network=lb-network-dual-stack \ --action=allow \ --direction=ingress \ --source-ranges=10.1.2.0/24,10.3.4.0/24 \ --rules=all
Buat aturan firewall
fw-allow-lb-access-ipv6
untuk mengizinkan komunikasi dengan subnet:gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=lb-network-dual-stack \ --action=allow \ --direction=ingress \ --source-ranges=IPV6_ADDRESS \ --rules=all
Ganti
IPV6_ADDRESS
dengan alamat IPv6 yang ditetapkan dilb-subnet
.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=lb-network-dual-stack \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Buat aturan
fw-allow-health-check-ipv6
untuk mengizinkan health check Google Cloud IPv6.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=lb-network-dual-stack \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=tcp,udp
Buat aturan
fw-allow-health-check
untuk mengizinkan health check Google Cloud.gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network-dual-stack \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp,udp,icmp
API
Buat aturan firewall
fw-allow-lb-access
dengan membuat permintaanPOST
ke metodefirewalls.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-lb-access", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "priority": 1000, "sourceRanges": [ "10.1.2.0/24", "10.3.4.0/24" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Buat aturan firewall
fw-allow-lb-access-ipv6
dengan membuat permintaanPOST
ke metodefirewalls.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-lb-access-ipv6", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "priority": 1000, "sourceRanges": [ "IPV6_ADDRESS" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Ganti
IPV6_ADDRESS
dengan alamat IPv6 yang ditetapkan dilb-subnet
.Buat aturan firewall
fw-allow-ssh
dengan membuat permintaanPOST
ke metodefirewalls.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-ssh", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "priority": 1000, "sourceRanges": [ "0.0.0.0/0" ], "targetTags": [ "allow-ssh" ], "allowed": [ { "IPProtocol": "tcp", "ports": [ "22" ] } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Buat aturan firewall
fw-allow-health-check-ipv6
dengan membuat permintaanPOST
ke metodefirewalls.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-health-check-ipv6", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "priority": 1000, "sourceRanges": [ "2600:2d00:1:b029::/64" ], "targetTags": [ "allow-health-check-ipv6" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Buat aturan firewall
fw-allow-health-check
dengan membuat permintaanPOST
ke metodefirewalls.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls { "name": "fw-allow-health-check", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "priority": 1000, "sourceRanges": [ "130.211.0.0/22", "35.191.0.0/16" ], "targetTags": [ "allow-health-check" ], "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
Membuat VM backend dan grup instance
Contoh ini menggunakan dua grup instance unmanaged yang masing-masing memiliki dua VM backend (server). Untuk menunjukkan sifat regional Load Balancer Jaringan passthrough internal, kedua grup instance ditempatkan di zona terpisah, us-west1-a
dan us-west1-c
.
- Grup instance
ig-a
berisi dua VM ini:vm-a1
vm-a2
- Grup instance
ig-c
berisi dua VM ini:vm-c1
vm-c2
Traffic ke keempat VM backend mengalami load balancing.
Untuk mendukung contoh ini dan opsi konfigurasi tambahan, masing-masing dari keempat VM menjalankan server web Apache yang memantau port TCP berikut: 80
,8008
, 8080
, 8088
, 443
, dan 8443
.
Setiap VM diberi alamat IP internal di lb-subnet
dan alamat IP eksternal (publik) efemeral. Anda dapat menghapus alamat IP eksternal nanti.
Alamat IP eksternal untuk VM backend tidak diperlukan. Namun, alamat ini berguna untuk contoh ini karena mengizinkan VM backend untuk mendownload Apache dari internet, dan dapat terhubung menggunakan SSH.
Secara {i>default<i}, Apache dikonfigurasi untuk mengikat ke alamat IP apa pun. Load Balancer Jaringan passthrough internal mengirimkan paket dengan mempertahankan IP tujuan.
Pastikan software server yang berjalan di VM backend Anda memproses alamat IP aturan penerusan internal load balancer. Jika Anda mengonfigurasi beberapa aturan penerusan internal, pastikan software Anda memproses alamat IP internal yang terkait dengan setiap aturan tersebut. Alamat IP tujuan paket yang dikirim ke VM backend oleh Load Balancer Jaringan passthrough internal adalah alamat IP internal dari aturan penerusan.
Pastikan jenis tumpukan subnetwork cocok dengan jenis tumpukan template instance yang digunakan oleh grup instance terkelola. Subnetwork harus berupa dual-stack jika grup instance terkelola menggunakan template instance dual-stack.
Demi kemudahan instruksi, VM backend ini menjalankan Debian GNU/Linux 10.
Konsol
Membuat VM backend
Di konsol Google Cloud, buka halaman Instance VM.
Ulangi langkah 3 hingga 8 untuk setiap VM, dengan menggunakan kombinasi nama dan zona berikut.
- Nama:
vm-a1
, zona:us-west1-a
- Nama:
vm-a2
, zona:us-west1-a
- Nama:
vm-c1
, zona:us-west1-c
- Nama:
vm-c2
, zona:us-west1-c
- Nama:
Klik Create instance.
Tetapkan Name seperti yang ditunjukkan pada langkah 2.
Untuk Region, pilih
us-west1
, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.Di bagian Boot disk, pastikan sistem operasi Debian dan versi 10 (buster) dipilih untuk opsi boot disk. Jika perlu, klik Change untuk mengubah gambar.
Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
danallow-health-check-ipv6
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network-dual-stack
- Subnet:
lb-subnet
- Jenis stack IP: IPv4 dan IPv6 (dual-stack)
- Alamat IPv4 internal utama: Ephemeral (otomatis)
- Alamat IPv4 eksternal: Efemeral
- Jaringan:
Klik Management, lalu di kolom Startup script, masukkan skrip berikut. Konten skrip identik untuk keempat VM.
#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed
- Untuk Tag jaringan, masukkan
Klik Create.
Membuat grup instance
Di Konsol Google Cloud, buka halaman Instance groups.
Ulangi langkah-langkah berikut untuk membuat dua grup instance tidak terkelola, masing-masing dengan dua VM di dalamnya, menggunakan kombinasi ini.
- Nama grup instance:
ig-a
, zona:us-west1-a
, VM:vm-a1
, danvm-a2
- Nama grup instance:
ig-c
, zona:us-west1-c
, VM:vm-c1
, danvm-c2
- Nama grup instance:
Klik Create grup instance.
Klik New unmanaged instance group.
Tetapkan Name seperti yang ditunjukkan pada langkah 2.
Di bagian Location, pilih
us-west1
untuk Region, lalu pilih Zone seperti yang ditunjukkan pada langkah 2.Untuk Network, pilih
lb-network-dual-stack
.Untuk Subnetwork, pilih
lb-subnet
.Di bagian VM instances, tambahkan VM seperti yang ditunjukkan pada langkah 2.
Klik Create.
gcloud
Untuk membuat empat VM ini, jalankan perintah
gcloud compute instances create
empat kali, menggunakan keempat kombinasi ini untuk[VM-NAME]
dan[ZONE]
. Konten skrip identik untuk keempat VM.VM-NAME
:vm-a1
,ZONE
:us-west1-a
VM-NAME
:vm-a2
,ZONE
:us-west1-a
VM-NAME
:vm-c1
,ZONE
:us-west1-c
VM-NAME
:vm-c2
,ZONE
:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check-ipv6 \ --subnet=lb-subnet \ --stack-type=IPV4_IPV6 \ --metadata=startup-script='#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed'
Buat dua grup instance yang tidak dikelola di setiap zona:
gcloud compute instance-groups unmanaged create ig-a \ --zone=us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone=us-west1-c
Tambahkan VM ke grup instance yang sesuai:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone=us-west1-a \ --instances=vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone=us-west1-c \ --instances=vm-c1,vm-c2
api
Untuk keempat VM, gunakan zona dan nama VM berikut:
VM-NAME
:vm-a1
,ZONE
:us-west1-a
VM-NAME
:vm-a2
,ZONE
:us-west1-a
VM-NAME
:vm-c1
,ZONE
:us-west1-c
VM-NAME
:vm-c2
,ZONE
:us-west1-c
Anda bisa mendapatkan DEBIAN_IMAGE_NAME
saat ini dengan menjalankan perintah gcloud
berikut:
gcloud compute images list \ --filter="family=debian-10"
Buat empat VM backend dengan membuat empat permintaan POST
ke metode instances.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM-NAME", "tags": { "items": [ "allow-health-check-ipv6", "allow-ssh" ] }, "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/[ZONE]/machineTypes/e2-standard-2", "canIpForward": false, "networkInterfaces": [ { "stackType": "IPV4_IPV6", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "external-nat", "networkTier": "PREMIUM" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "VM-NAME", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/debian-image-name", "diskType": "projects/PROJECT_ID/zones/zone/diskTypes/pd-standard", "diskSizeGb": "10" } } ], "metadata": { "items": [ { "key": "startup-script", "value": "#! /bin/bash\napt-get update\napt-get install apache2 -y\na2ensite default-ssl\na2enmod ssl\nfile_ports=\"/etc/apache2/ports.conf\"\nfile_http_site=\"/etc/apache2/sites-available/000-default.conf\"\nfile_https_site=\"/etc/apache2/sites-available/default-ssl.conf\"\nhttp_listen_prts=\"Listen 80\\nListen 8008\\nListen 8080\\nListen 8088\"\nhttp_vh_prts=\"*:80 *:8008 *:8080 *:8088\"\nhttps_listen_prts=\"Listen 443\\nListen 8443\"\nhttps_vh_prts=\"*:443 *:8443\"\nvm_hostname=\"$(curl -H \"Metadata-Flavor:Google\" \\\nhttp://169.254.169.254/computeMetadata/v1/instance/name)\"\necho \"Page served from: $vm_hostname\" | \\\ntee /var/www/html/index.html\nprt_conf=\"$(cat \"$file_ports\")\"\nprt_conf_2=\"$(echo \"$prt_conf\" | sed \"s|Listen 80|${http_listen_prts}|\")\"\nprt_conf=\"$(echo \"$prt_conf_2\" | sed \"s|Listen 443|${https_listen_prts}|\")\"\necho \"$prt_conf\" | tee \"$file_ports\"\nhttp_site_conf=\"$(cat \"$file_http_site\")\"\nhttp_site_conf_2=\"$(echo \"$http_site_conf\" | sed \"s|*:80|${http_vh_prts}|\")\"\necho \"$http_site_conf_2\" | tee \"$file_http_site\"\nhttps_site_conf=\"$(cat \"$file_https_site\")\"\nhttps_site_conf_2=\"$(echo \"$https_site_conf\" | sed \"s|_default_:443|${https_vh_prts}|\")\"\necho \"$https_site_conf_2\" | tee \"$file_https_site\"\nsystemctl restart apache2" } ] }, "scheduling": { "preemptible": false }, "deletionProtection": false }
Buat dua grup instance dengan membuat permintaan POST
ke
metode instanceGroups.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups { "name": "ig-a", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet" }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups { "name": "ig-c", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet" }
Tambahkan instance ke setiap grup instance dengan membuat permintaan POST
ke metode instanceGroups.addInstances
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a1", "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a2" } ] }
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c1", "instance": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instances/vm-c2" } ] }
Mengonfigurasi komponen load balancer
Langkah-langkah ini mengonfigurasi semua komponen Load Balancer Jaringan passthrough internal, dimulai dengan health check dan layanan backend, lalu komponen frontend:
Health check: Dalam contoh ini, Anda menggunakan health check HTTP yang memeriksa respons
200
HTTP (OK). Untuk mengetahui informasi selengkapnya, baca bagian health check di ringkasan Load Balancer Jaringan passthrough internal.Layanan backend: Karena Anda perlu meneruskan traffic HTTP melalui load balancer internal, Anda harus menggunakan TCP, bukan UDP.
Aturan penerusan: Contoh ini membuat dua aturan penerusan internal untuk traffic IPv4 dan IPv6.
Internal IP address: Dalam contoh ini, Anda menentukan alamat IP internal,
10.1.2.99
, saat membuat aturan penerusan IPv4. Untuk mengetahui informasi selengkapnya, lihat Alamat IP internal. Meskipun Anda memilih alamat IPv4 yang akan dikonfigurasi, namun alamat IPv6 akan ditetapkan secara otomatis.
Konsol
Memulai konfigurasi Anda
Di Konsol Google Cloud, buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
- Untuk Proxy or passthrough, pilih Passthrough load balancer lalu klik Next.
- Untuk Hubung publik atau internal, pilih Internal lalu klik Berikutnya.
- Klik Konfigurasikan.
Konfigurasi dasar
Di halaman Create internal passthrough Network Load Balancer, masukkan informasi berikut:
- Nama load balancer:
be-ilb
- Wilayah:
us-west1
- Jaringan:
lb-network-dual-stack
Konfigurasi backend
- Klik Backend configuration.
- Di bagian New Backend pada Backends, pilih IP stack type sebagai IPv4 and IPv6 (dual-stack).
- Di Instance group, pilih grup instance
ig-a
, lalu klik Done. - Klik Add a backend dan ulangi langkah ini untuk menambahkan
ig-c
. - Dari daftar Health check, pilih Create a health check, masukkan informasi berikut, lalu klik Save:
- Name:
hc-http-80
. - Cakupan: Regional.
- Protokol:
HTTP
. - Port:
80
. - Protokol proxy:
NONE
. - Jalur permintaan:
/
.
- Name:
- Pastikan tanda centang biru muncul di samping Backend configuration.
Konfigurasi frontend
- Klik Frontend configuration. Di bagian New Frontend IP and port, lakukan tindakan berikut:
- Untuk Name, masukkan
fr-ilb-ipv6
. - Untuk menangani traffic IPv6, lakukan hal berikut:
- Untuk IP version, pilih IPv6.
- Untuk Subnetwork, pilih
lb-subnet
. Rentang alamat IPv6 dalam aturan penerusan selalu bersifat efemeral. - Untuk Ports, pilih Multiple, lalu di kolom Port number, masukkan
80
,8008
,8080
,8088
. - Klik Done.
- Untuk menangani traffic IPv4, lakukan hal berikut:
- Klik Add frontend IP and port.
- Untuk Name, masukkan
fr-ilb
. - Untuk Subnetwork, pilih
lb-subnet
. - Di bagian Internal IP destination, dari daftar IP address, pilih Create IP address,
masukkan informasi berikut, lalu klik Reserve.
- Name:
ip-ilb
- Versi IP: IPv4
- Alamat IP statis: Pilihan saya adalah
- Alamat IP kustom:
10.1.2.99
- Name:
- Untuk Ports, pilih Multiple, lalu di Port numbers, masukkan
80
,8008
,8080
, dan8088
. - Klik Done.
- Pastikan terdapat tanda centang biru di samping Frontend configuration sebelum melanjutkan.
- Untuk Name, masukkan
Meninjau konfigurasi
- Klik Review and finalize. Periksa semua setelan Anda.
- Jika setelan sudah benar, klik Create. Perlu waktu beberapa menit untuk membuat Load Balancer Jaringan passthrough internal.
gcloud
Buat health check HTTP regional baru untuk menguji konektivitas HTTP ke VM di port 80.
gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80
Buat layanan backend untuk traffic HTTP:
gcloud compute backend-services create be-ilb \ --load-balancing-scheme=internal \ --protocol=tcp \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1
Tambahkan dua grup instance ke layanan backend:
gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-c
Buat dua aturan penerusan untuk layanan backend. Saat membuat aturan penerusan IPv4, tentukan
10.1.2.99
untuk alamat IP internal di subnet untuk alamat IPv4.gcloud compute forwarding-rules create fr-ilb \ --region=us-west1 \ --load-balancing-scheme=internal \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=80,8008,8080,8088 \ --backend-service=be-ilb \ --backend-service-region=us-west1
gcloud compute forwarding-rules create fr-ilb-ipv6 \ --region=us-west1 \ --load-balancing-scheme=internal \ --subnet=lb-subnet \ --ip-protocol=TCP \ --ports=80,8008,8080,8088 \ --backend-service=be-ilb \ --backend-service-region=us-west1 \ --ip-version=IPV6
api
Buat health check dengan membuat permintaan POST
ke
metode regionHealthChecks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/regionHealthChecks { "name": "hc-http-80", "type": "HTTP", "httpHealthCheck": { "port": 80 } }
Buat layanan backend regional dengan membuat permintaan POST
ke
metode regionBackendServices.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices { "name": "be-ilb", "backends": [ { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a", "balancingMode": "CONNECTION" }, { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-c/instanceGroups/ig-c", "balancingMode": "CONNECTION" } ], "healthChecks": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80" ], "loadBalancingScheme": "INTERNAL", "connectionDraining": { "drainingTimeoutSec": 0 } }
Buat aturan penerusan dengan membuat permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-ipv6", "IPProtocol": "TCP", "ports": [ "80", "8008", "8080", "8088" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "ipVersion": "IPV6", "networkTier": "PREMIUM" }
Buat aturan penerusan dengan membuat permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb", "IPAddress": "10.1.2.99", "IPProtocol": "TCP", "ports": [ "80", "8008", "8080", "8088" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
Menguji load balancer
Untuk menguji load balancer, buat VM klien di region yang sama dengan load balancer, lalu kirim traffic dari klien ke load balancer.
Membuat VM klien
Contoh ini akan membuat VM klien (vm-client
) di region yang sama dengan VM backend (server). Klien digunakan untuk memvalidasi konfigurasi load balancer
dan menunjukkan perilaku yang diharapkan seperti yang dijelaskan di
bagian pengujian.
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik Create instance.
Untuk Name, masukkan
vm-client
.Untuk Region, pilih
us-west1
.Untuk Zone, pilih
us-west1-a
.Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network-dual-stack
- Subnet:
lb-subnet
- Jenis stack IP: IPv4 dan IPv6 (dual-stack)
- IP internal utama: Efemeral (otomatis)
- IP Eksternal: Efemeral
- Jaringan:
- Klik Done.
- Untuk Tag jaringan, masukkan
Klik Create.
gcloud
VM klien dapat berada di zona mana pun dalam region yang sama dengan load balancer, dan dapat menggunakan subnet apa pun di region tersebut. Dalam contoh ini,
klien berada di zona us-west1-a
, dan menggunakan subnet yang sama
dengan VM backend.
gcloud compute instances create vm-client \ --zone=us-west1-a \ --image-family=debian-10 \ --image-project=debian-cloud \ --stack-type=IPV4_IPV6 \ --tags=allow-ssh \ --subnet=lb-subnet
api
Buat permintaan POST
ke metode instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances { "name": "vm-client", "tags": { "items": [ "allow-ssh" ] }, "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/machineTypes/e2-standard-2", "canIpForward": false, "networkInterfaces": [ { "stackType": "IPV4_IPV6", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network-dual-stack", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "external-nat", "networkTier": "PREMIUM" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "vm-client", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/debian-image-name", "diskType": "projects/PROJECT_ID/zones/us-west1-a/diskTypes/pd-standard", "diskSizeGb": "10" } } ], "scheduling": { "preemptible": false }, "deletionProtection": false }
Menguji koneksi
Pengujian ini menghubungi load balancer dari VM klien terpisah; yaitu, bukan dari VM backend load balancer. Perilaku yang diharapkan adalah traffic akan didistribusikan di antara empat VM backend.
Menghubungkan ke instance VM klien.
gcloud compute ssh vm-client --zone=us-west1-a
Jelaskan
fr-ilb-ipv6
aturan penerusan IPv6. PerhatikanIPV6_ADDRESS
dalam deskripsi.gcloud compute forwarding-rules describe fr-ilb-ipv6 --region=us-west1
Jelaskan
fr-ilb
aturan penerusan IPv4.gcloud compute forwarding-rules describe fr-ilb --region=us-west1
Dari klien dengan konektivitas IPv6, jalankan perintah berikut:
$ curl -m 10 -s http://IPV6_ADDRESS:80
Misalnya, jika alamat IPv6 yang ditetapkan adalah
[fd20:1db0:b882:802:0:46:0:0/96]:80
, perintahnya akan terlihat seperti ini:$ curl -m 10 -s http://[fd20:1db0:b882:802:0:46:0:0]:80
Dari klien dengan konektivitas IPv4, jalankan perintah berikut:
$ curl -m 10 -s http://10.1.2.99:80
Ganti placeholder dengan nilai yang valid:
IPV6_ADDRESS
adalah alamat IPv6 efemeral dalam aturan penerusanfr-ilb-ipv6
.
Opsi konfigurasi tambahan
Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi tambahan dan alternatif. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.
Aktifkan akses global
Anda dapat mengaktifkan akses global untuk contoh Load Balancer Jaringan passthrough internal Anda agar dapat diakses oleh klien di semua region.
Backend load balancer contoh Anda harus tetap berada di satu region (us-west1
).
Untuk mengonfigurasi akses global, buat perubahan konfigurasi berikut.
Konsol
Mengedit aturan penerusan load balancer
Di Konsol Google Cloud, buka halaman Load balancing.
Di kolom Name, klik Network Load Balancer internal Anda. Contoh load balancer diberi nama
be-ilb
.Klik Frontend configuration.
Klik Edit
.Di bagian Akses global, pilih Aktifkan.
Klik Done.
Klik Perbarui.
Di halaman Load balancer details, pastikan konfigurasi frontend bertuliskan Regional (REGION
) with global access.
gcloud
Perbarui contoh aturan penerusan load balancer,
fr-ilb
untuk menyertakan tanda--allow-global-access
.gcloud compute forwarding-rules update fr-ilb \ --region=us-west1 \ --allow-global-access
Anda dapat menggunakan perintah
forwarding-rules describe
untuk menentukan apakah aturan penerusan telah mengaktifkan akses global atau tidak. Contoh:gcloud compute forwarding-rules describe fr-ilb \ --region=us-west1 \ --format="get(name,region,allowGlobalAccess)"
Kata
True
muncul di output, setelah nama dan region aturan penerusan, saat akses global diaktifkan.
API
Buat permintaan PATCH
ke metode forwardingRules/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/fr-ilb { "allowGlobalAccess": true }
Buat klien VM untuk menguji akses global
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Klik Create instance.
Tetapkan Name ke
vm-client2
.Tetapkan Region ke
europe-west1
.Tetapkan Zone ke
europe-west1-b
.Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network
- Subnet:
europe-subnet
- Jaringan:
- Untuk Tag jaringan, masukkan
Klik Create.
gcloud
VM klien dapat berada di zona mana pun dalam region yang sama dengan load balancer, dan dapat menggunakan subnet apa pun di region tersebut. Dalam contoh ini,
klien berada di zona europe-west1-b
, dan menggunakan subnet yang sama
dengan VM backend.
gcloud compute instances create vm-client2 \ --zone=europe-west1-b \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=europe-subnet
API
Buat permintaan POST
ke metode instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/europe-west1-b/instances { "name": "vm-client2", "tags": { "items": [ "allow-ssh" ] }, "machineType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/europe-west1-b/machineTypes/e2-standard-2", "canIpForward": false, "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/europe-west1/subnetworks/europe-subnet", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "external-nat", "networkTier": "PREMIUM" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "autoDelete": true, "deviceName": "vm-client2", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/debian-image-name", "diskType": "projects/PROJECT_ID/zones/europe-west1-b/diskTypes/pd-standard", "diskSizeGb": "10" } } ], "scheduling": { "preemptible": false }, "deletionProtection": false }
Menghubungkan ke klien VM dan menguji konektivitas
Untuk menguji konektivitas, jalankan perintah berikut:
gcloud compute ssh vm-client2 --zone=europe-west1-b
Uji koneksi ke load balancer di semua port yang dikonfigurasi, seperti yang Anda lakukan dari vm-client
di region us-west1
. Uji konektivitas HTTP pada empat port yang dikonfigurasi pada aturan penerusan:
curl http://10.1.2.99 curl http://10.1.2.99:8008 curl http://10.1.2.99:8080 curl http://10.1.2.99:8088
Mengonfigurasi grup instance terkelola
Contoh konfigurasi membuat dua grup instance yang tidak dikelola. Sebagai gantinya, Anda dapat menggunakan grup instance terkelola, termasuk grup instance terkelola zona dan regional, sebagai backend untuk Load Balancer Jaringan passthrough internal.
Grup instance terkelola mengharuskan Anda membuat template instance. Prosedur ini menunjukkan cara mengganti dua grup instance tidak terkelola menurut zona dari contoh dengan satu grup instance terkelola regional. Grup instance yang dikelola regional secara otomatis membuat VM di beberapa zona region, sehingga lebih mudah untuk mendistribusikan traffic produksi di antara zona.
Grup instance terkelola juga mendukung penskalaan otomatis dan autohealing. Jika menggunakan penskalaan otomatis dengan Load Balancer Jaringan passthrough internal, Anda tidak dapat melakukan penskalaan berdasarkan load balancing.
Prosedur ini menunjukkan cara memodifikasi layanan backend untuk contoh Load Balancer Jaringan passthrough internal sehingga menggunakan grup instance terkelola regional.
Konsol
Template instance
Di konsol Google Cloud, buka halaman VM instance templates.
Klik Create instance template.
Tetapkan Name ke
template-vm-ilb
.Pilih jenis mesin.
Di bagian Boot disk, pastikan sistem operasi Debian dan versi 10 (buster) dipilih untuk opsi boot disk. Jika perlu, klik Change untuk mengubah gambar.
Klik Advanced options.
Klik Networking dan konfigurasikan kolom berikut:
- Untuk Tag jaringan, masukkan
allow-ssh
danallow-health-check
. - Untuk Network interfaces, pilih opsi berikut:
- Jaringan:
lb-network
- Subnet:
lb-subnet
- Jaringan:
- Untuk Tag jaringan, masukkan
Klik Management, lalu di kolom Startup script, masukkan skrip berikut:
#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed
Klik Create.
Grup instance terkelola
Di Konsol Google Cloud, buka halaman Instance groups.
Klik Create grup instance.
Tetapkan Name ke
ig-ilb
.Untuk Location, pilih Multi-zone, dan tetapkan Region ke
us-west1
.Setel Instance template ke
template-vm-ilb
.Opsional: Konfigurasi penskalaan otomatis. Anda tidak dapat menskalakan grup instance secara otomatis berdasarkan penggunaan load balancing HTTP karena grup instance tersebut adalah backend untuk Load Balancer Jaringan passthrough internal.
Tetapkan Minimum number of instances ke
1
dan Maximum number of instances ke6
.Opsional: Konfigurasi autohealing. Jika Anda mengonfigurasi autohealing, gunakan health check yang sama dengan yang digunakan oleh layanan backend untuk Load Balancer Jaringan passthrough internal. Dalam contoh ini, gunakan
hc-http-80
.Klik Create.
gcloud
Membuat template instance. Jika ingin, Anda dapat menetapkan parameter lain, seperti jenis mesin, untuk digunakan oleh template gambar.
gcloud compute instance-templates create template-vm-ilb \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check \ --subnet=lb-subnet \ --region=us-west1 \ --network=lb-network \ --metadata=startup-script='#! /bin/bash if [ -f /etc/startup_script_completed ]; then exit 0 fi apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl file_ports="/etc/apache2/ports.conf" file_http_site="/etc/apache2/sites-available/000-default.conf" file_https_site="/etc/apache2/sites-available/default-ssl.conf" http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088" http_vh_prts="*:80 *:8008 *:8080 *:8088" https_listen_prts="Listen 443\nListen 8443" https_vh_prts="*:443 *:8443" 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 prt_conf="$(cat "$file_ports")" prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")" prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")" echo "$prt_conf" | tee "$file_ports" http_site_conf="$(cat "$file_http_site")" http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")" echo "$http_site_conf_2" | tee "$file_http_site" https_site_conf="$(cat "$file_https_site")" https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")" echo "$https_site_conf_2" | tee "$file_https_site" systemctl restart apache2 touch /etc/startup_script_completed'
Buat satu grup instance terkelola regional menggunakan template:
gcloud compute instance-groups managed create ig-ilb \ --template=template-vm-ilb \ --region=us-west1 \ --size=6
Tambahkan grup instance terkelola regional sebagai backend ke layanan backend yang sudah Anda buat:
gcloud compute backend-services add-backend be-ilb \ --region=us-west1 \ --instance-group=ig-ilb \ --instance-group-region=us-west1
Putuskan hubungan dua grup instance yang tidak dikelola (sesuai zona) dari layanan backend:
gcloud compute backend-services remove-backend be-ilb \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a gcloud compute backend-services remove-backend be-ilb \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-c
Menghapus alamat IP eksternal dari VM backend
Saat Anda membuat VM backend, masing-masing diberi alamat IP eksternal sementara agar dapat mendownload Apache menggunakan skrip startup. Karena VM backend hanya digunakan oleh Load Balancer Jaringan passthrough internal, Anda dapat menghapus alamat IP eksternalnya. Menghapus alamat IP eksternal akan mencegah VM backend mengakses internet secara langsung.
Konsol
Di konsol Google Cloud, buka halaman Instance VM.
Ulangi langkah-langkah berikut untuk setiap VM backend.
Klik nama VM backend, misalnya,
vm-a1
.Klik
Edit.Di bagian Network interfaces, klik jaringan.
Dari daftar External IP, pilih None, lalu klik Done.
Klik Save.
gcloud
Untuk mencari zona instance – misalnya, jika Anda menggunakan grup instance terkelola regional – jalankan perintah berikut untuk setiap instance guna menentukan zonanya. Ganti
[SERVER-VM]
dengan nama VM yang akan dicari.gcloud compute instances list --filter="name=[SERVER-VM]"
Ulangi langkah berikut untuk setiap VM backend. Ganti
[SERVER-VM]
dengan nama VM, lalu ganti dan[ZONE]
dengan zona VM.gcloud compute instances delete-access-config [SERVER-VM] \ --zone=[ZONE] \ --access-config-name=external-nat
API
Buat permintaan POST
ke
metode instances.deleteAccessConfig
untuk setiap VM backend, gantivm-a1
dengan nama VM, lalu ganti dan us-west1-a
dengan zona VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instances/vm-a1/deleteAccessConfig?accessConfig=external-nat&networkInterface=None
Menggunakan alamat IP internal yang dicadangkan
Saat Anda membuat VM backend dan grup instance, instance VM menggunakan alamat IPv4 atau IPv6 internal efemeral.
Langkah berikut menunjukkan cara mempromosikan alamat IPv4 atau IPv6 internal ke alamat IPv4 atau IPv6 internal statis, lalu mengupdate instance VM untuk menggunakan alamat IP internal statis:
- Terapkan alamat IPv4 atau IPv6 internal efemeral yang sedang digunakan ke alamat statis.
- Ubah atau tetapkan alamat IPv6 internal ke instance yang ada.
Selain itu, langkah-langkah berikut ini menunjukkan cara mencadangkan alamat IPv4 atau IPv6 internal statis yang baru, kemudian mengupdate instance VM agar menggunakan alamat IP internal statis:
Cadangkan alamat IPv4 atau IPv6 internal statis yang baru.
Tidak seperti pencadangan IPv4 internal, pencadangan IPv6 internal tidak mendukung pencadangan alamat IP tertentu dari subnetwork. Sebagai gantinya, rentang alamat IPv6 internal
/96
akan otomatis dialokasikan dari rentang alamat IPv6 internal/64
pada subnet.Ubah atau tetapkan alamat IPv6 internal ke instance yang ada.
Untuk mengetahui informasi selengkapnya, lihat Cara mereservasi alamat IP internal statis.
Menerima traffic di semua port
Aturan penerusan load balancer, bukan layanan backend-nya, menentukan port tempat load balancer menerima traffic. Untuk informasi tentang tujuan setiap komponen, lihat Komponen.
Saat membuat contoh aturan penerusan load balancer ini, Anda mengonfigurasi port 80
, 8008
, 8080
, dan 8088
. Skrip startup yang menginstal Apache juga mengonfigurasinya untuk
menerima koneksi HTTPS di port 443
dan 8443
.
Untuk mendukung keenam port ini, Anda dapat mengonfigurasi aturan penerusan untuk menerima traffic di semua port. Dengan strategi ini, Anda juga dapat mengonfigurasi aturan firewall atau aturan yang mengizinkan koneksi masuk ke VM backend sehingga hanya mengizinkan port tertentu.
Prosedur ini menunjukkan cara mengganti contoh aturan penerusan load balancer dengan aturan yang menerima traffic di semua port.
Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan penyiapan ini, baca Load Balancer Jaringan passthrough internal dan aturan penerusan dengan alamat IP yang sama.
Konsol
Menghapus aturan penerusan dan membuat yang baru
Di Konsol Google Cloud, buka halaman Load balancing.
Klik load balancer
be-ilb
, lalu klik Edit.Klik Frontend configuration.
Tahan kursor ke aturan penerusan
10.1.2.9
, lalu klik Hapus.Klik Add frontend IP and port.
Di bagian New Frontend IP and port, masukkan informasi berikut, lalu klik Done:
- Name:
fr-ilb
- Subnetwork:
lb-subnet
- IP Internal:
ip-ilb
- Port: Semua.
- Name:
Pastikan ada tanda centang biru di samping Frontend configuration sebelum melanjutkan.
Klik Review and finalize, lalu tinjau setelan konfigurasi load balancer Anda.
Klik Create.
gcloud
Hapus aturan penerusan yang ada,
fr-ilb
.gcloud compute forwarding-rules delete fr-ilb \ --region=us-west1
Buat aturan penerusan pengganti, dengan nama yang sama, yang konfigurasi port-nya menggunakan kata kunci
ALL
. Parameter lain untuk aturan penerusan tetap sama.gcloud compute forwarding-rules create fr-ilb \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=ALL \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
Hapus aturan penerusan dengan membuat permintaan DELETE
ke metode forwardingRules.delete
.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/fr-ilb
Buat aturan penerusan dengan membuat permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb", "IPAddress": "10.1.2.99", "IPProtocol": "TCP", "allPorts": true, "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
Menguji traffic di semua penyiapan port
Hubungkan ke instance VM klien dan uji koneksi HTTP dan HTTPS.
Hubungkan ke VM klien:
gcloud compute ssh vm-client --zone=us-west1-a
Uji konektivitas HTTP di keempat port:
curl http://10.1.2.99 curl http://10.1.2.99:8008 curl http://10.1.2.99:8080 curl http://10.1.2.99:8088
Uji konektivitas HTTPS pada port
443
dan8443
. Flag--insecure
diperlukan karena setiap server Apache dalam contoh penyiapan menggunakan sertifikat yang ditandatangani sendiri.curl https://10.1.2.99 --insecure curl https://10.1.2.99:8443 --insecure
Perhatikan bahwa permintaan HTTP (di keempat port) dan permintaan HTTPS (di kedua port) didistribusikan di antara semua VM backend.
Menerima traffic di beberapa port menggunakan dua aturan penerusan
Saat membuat contoh aturan penerusan load balancer ini, Anda mengonfigurasi port 80
, 8008
, 8080
, dan 8088
. Skrip startup yang menginstal Apache juga mengonfigurasinya untuk
menerima koneksi HTTPS di port 443
dan 8443
.
Strategi alternatif untuk mengonfigurasi aturan penerusan tunggal untuk menerima traffic di semua port adalah dengan membuat beberapa aturan penerusan, yang masing-masing mendukung lima port atau kurang.
Prosedur ini menunjukkan cara mengganti contoh aturan penerusan load balancer dengan dua aturan penerusan, yang satu menangani traffic di port 80
, 8008
, 8080
, dan 8088
, serta yang satunya lagi menangani traffic di port 443
dan 8443
.
Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan penyiapan ini, baca Load Balancer Jaringan passthrough internal dan aturan penerusan dengan alamat IP yang sama.
Konsol
Di konsol Google Cloud, buka halaman Aturan penerusan.
Di kolom Name, klik
fr-ilb
, lalu klik Delete.Di Konsol Google Cloud, buka halaman Load balancing.
Di kolom Nama, klik
be-ilb
.Klik Edit.
Klik Frontend configuration.
Klik Add frontend IP and port.
Di bagian New Frontend IP and port, lakukan langkah berikut:
- Untuk Name, masukkan
fr-ilb-http
. - Untuk Subnetwork, pilih
lb-subnet
. - Untuk Tujuan IP Internal, pilih Dibagikan.
- Dari daftar IP address, pilih Create IP address,
masukkan informasi berikut, lalu klik Reserve:
- Name:
internal-10-1-2-99
- Alamat IP statis: Pilihan saya adalah
- Alamat IP kustom:
10.1.2.99
- Name:
- Untuk Ports, pilih Multiple, lalu di Port numbers, masukkan
80
,8008
,8080
, dan8088
. - Klik Done.
- Untuk Name, masukkan
Klik Add frontend IP and port.
Di bagian New Frontend IP and port, lakukan langkah berikut:
- Untuk Name, masukkan
fr-ilb-https
. - Untuk Subnetwork, pilih
lb-subnet
. - Untuk Tujuan IP Internal, pilih Dibagikan.
- Dari daftar Alamat IP, pilih
internal-10-1-2-99
. - Untuk Ports, pilih Multiple, lalu di Port numbers, masukkan
443
dan8443
. - Klik Done.
- Untuk Name, masukkan
Klik Review and finalize, lalu tinjau setelan konfigurasi load balancer Anda.
Klik Perbarui.
gcloud
Hapus aturan penerusan yang ada,
fr-ilb
.gcloud compute forwarding-rules delete fr-ilb \ --region=us-west1
Buat alamat IP internal statis (dicadangkan) untuk
10.1.2.99
dan tetapkan tanda--purpose
keSHARED_LOADBALANCER_VIP
. Flag--purpose
diperlukan agar dua aturan penerusan internal dapat menggunakan alamat IP internal yang sama.gcloud compute addresses create internal-10-1-2-99 \ --region=us-west1 \ --subnet=lb-subnet \ --addresses=10.1.2.99 \ --purpose=SHARED_LOADBALANCER_VIP
- Buat dua aturan penerusan pengganti dengan parameter berikut:
gcloud compute forwarding-rules create fr-ilb-http \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=80,8008,8080,8088 \ --backend-service=be-ilb \ --backend-service-region=us-west1
gcloud compute forwarding-rules create fr-ilb-https \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=TCP \ --ports=443,8443 \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
Hapus aturan penerusan dengan membuat permintaan DELETE
ke metode forwardingRules.delete
.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/fr-ilb
Buat alamat IP internal statis (dicadangkan) untuk 10.1.2.99
dan tetapkan tujuannya ke SHARED_LOADBALANCER_VIP
dengan membuat permintaan POST
ke
metode addresses.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/addresses { "name": "internal-10-1-2-99", "address": "10.1.2.99", "prefixLength": 32, "addressType": INTERNAL, "purpose": SHARED_LOADBALANCER_VIP, "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet" }
Buat dua aturan penerusan dengan membuat dua permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-http", "IPAddress": "10.1.2.99", "IPProtocol": "TCP", "ports": [ "80", "8008", "8080", "8088" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
{ "name": "fr-ilb-https", "IPAddress": "10.1.2.99", "IPProtocol": "TCP", "ports": [ "443", "8443" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
Menguji traffic di beberapa port
Hubungkan ke instance VM klien dan uji koneksi HTTP dan HTTPS.
Hubungkan ke VM klien:
gcloud compute ssh vm-client --zone=us-west1-a
Uji konektivitas HTTP di keempat port:
curl http://10.1.2.99 curl http://10.1.2.99:8008 curl http://10.1.2.99:8080 curl http://10.1.2.99:8088
Uji konektivitas HTTPS pada port
443
dan8443
. Flag--insecure
diperlukan karena setiap server Apache dalam contoh penyiapan menggunakan sertifikat yang ditandatangani sendiri.curl https://10.1.2.99 --insecure curl https://10.1.2.99:8443 --insecure
Perhatikan bahwa permintaan HTTP (di keempat port) dan permintaan HTTPS (di kedua port) didistribusikan di antara semua VM backend.
Gunakan afinitas sesi
Contoh konfigurasi membuat layanan backend tanpa afinitas sesi.
Prosedur ini menunjukkan cara memperbarui layanan backend untuk contoh Load Balancer Jaringan passthrough internal, sehingga layanan tersebut menggunakan afinitas sesi berdasarkan hash yang dibuat dari alamat IP klien dan alamat IP aturan penerusan internal load balancer.
Untuk jenis afinitas sesi yang didukung, lihat Opsi afinitas sesi.
Konsol
Di konsol Google Cloud, buka halaman Load balancing.
Klik be-ilb (nama layanan backend yang Anda buat untuk contoh ini), lalu klik Edit.
Di halaman Edit internal passthrough Network Load Balancer, klik Backend configuration.
Dari daftar Afinitas sesi, pilih IP Klien.
Klik Perbarui.
gcloud
Gunakan perintah gcloud
berikut untuk memperbarui layanan backend be-ilb
,
dengan menentukan afinitas sesi IP klien:
gcloud compute backend-services update be-ilb \ --region=us-west1 \ --session-affinity CLIENT_IP
API
Buat permintaan PATCH
ke metode regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb { "sessionAffinity": "CLIENT_IP" }
Mengonfigurasi kebijakan pelacakan koneksi
Bagian ini menunjukkan cara mengupdate layanan backend untuk mengubah kebijakan pelacakan koneksi default load balancer.
Kebijakan pelacakan koneksi mencakup setelan berikut:
gcloud
Gunakan perintah gcloud compute
backend-services
berikut guna memperbarui kebijakan pelacakan koneksi untuk layanan backend:
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --tracking-mode=TRACKING_MODE \ --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR \ --idle-timeout-sec=IDLE_TIMEOUT_VALUE
Ganti placeholder dengan nilai yang valid:
BACKEND_SERVICE
: layanan backend yang sedang Anda updateREGION
: region layanan backend yang akan diupdateTRACKING_MODE
: mode pelacakan koneksi yang akan digunakan untuk paket masuk; untuk mengetahui daftar nilai yang didukung, lihat Mode pelacakanCONNECTION_PERSISTENCE_BEHAVIOR
: perilaku persistensi koneksi saat backend tidak responsif; untuk daftar nilai yang didukung, lihat Persistensi koneksi di backend yang tidak responsifIDLE_TIMEOUT_VALUE
: jumlah detik saat entri tabel pelacakan koneksi harus dipertahankan setelah load balancer memproses paket terakhir yang cocok dengan entri tersebutAnda hanya dapat mengubah properti ini saat pelacakan koneksi kurang dari 5 tuple (yaitu, ketika afinitas sesi dikonfigurasi menjadi
CLIENT_IP
atauCLIENT_IP_PROTO
, dan mode pelacakannya adalahPER_SESSION
).Nilai defaultnya adalah 600 detik (10 menit). Nilai waktu tunggu tidak ada aktivitas maksimum yang dapat dikonfigurasi adalah 57.600 detik (16 jam).
Membuat aturan penerusan di subnet lain
Prosedur ini membuat alamat IP kedua dan aturan penerusan di subnet yang berbeda untuk menunjukkan bahwa Anda dapat membuat beberapa aturan penerusan untuk satu Load Balancer Jaringan passthrough internal. Region untuk aturan penerusan harus cocok dengan region layanan backend.
Sesuai dengan aturan firewall, klien di subnet mana pun di region tersebut dapat menghubungi alamat IP Load Balancer Jaringan passthrough internal.
Konsol
Menambahkan subnet kedua
Di Konsol Google Cloud, buka halaman jaringan VPC.
Klik Create VPC network.
Klik
lb-network
.Di bagian Subnet, lakukan hal berikut:
- Klik Tambahkan subnet.
- Di bagian Subnet baru, masukkan informasi berikut:
- Name:
second-subnet
- Region:
us-west1
- Rentang alamat IP:
10.5.6.0/24
- Name:
- Klik Tambahkan.
Menambahkan aturan penerusan kedua
Di Konsol Google Cloud, buka halaman Load balancing.
Klik load balancer
be-ilb
, lalu klik Edit.Klik Frontend configuration.
Klik Add frontend IP and port.
Di bagian New Frontend IP and port, tetapkan kolom berikut dan klik Done:
- Name:
fr-ilb-2
- Versi IP: IPv4
- Subnetwork:
second-subnet
- IP Internal:
ip-ilb
- Port:
80
dan443
- Name:
Pastikan ada tanda centang biru di samping Frontend configuration sebelum melanjutkan.
Klik Review and finalize, lalu tinjau setelan konfigurasi load balancer Anda.
Klik Create.
gcloud
Buat subnet kedua di jaringan
lb-network
di regionus-west1
:gcloud compute networks subnets create second-subnet \ --network=lb-network \ --range=10.5.6.0/24 \ --region=us-west1
Buat aturan penerusan kedua untuk port 80 dan 443. Parameter lain untuk aturan ini, termasuk alamat IP dan layanan backend, sama dengan parameter untuk aturan penerusan utama,
fr-ilb
.gcloud compute forwarding-rules create fr-ilb-2 \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=second-subnet \ --address=10.5.6.99 \ --ip-protocol=TCP \ --ports=80,443 \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
Buat permintaan POST
ke
metode subnetworks.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks { "name": "second-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "ipCidrRange": "10.5.6.0/24", "privateIpGoogleAccess": false }
Buat aturan penerusan dengan membuat permintaan POST
ke metode forwardingRules.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-2", "IPAddress": "10.5.6.99", "IPProtocol": "TCP", "ports": [ "80", "443" ], "loadBalancingScheme": "INTERNAL", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/subnetworks/lb-subnet", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/lb-network", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb", "networkTier": "PREMIUM" }
Menguji aturan penerusan baru
Hubungkan ke instance VM klien dan uji koneksi HTTP dan HTTPS ke alamat IP.
Hubungkan ke VM klien:
gcloud compute ssh vm-client --zone=us-west1-a
Uji konektivitas HTTP ke alamat IP:
curl http://10.1.2.99 curl http://10.5.6.99
Menguji konektivitas HTTPS. Penggunaan
--insecure
diwajibkan karena konfigurasi server Apache dalam contoh penyiapan menggunakan sertifikat yang ditandatangani sendiri.curl https://10.1.2.99 --insecure curl https://10.5.6.99 --insecure
Perhatikan bahwa permintaan ditangani oleh semua VM backend, terlepas dari protokol (HTTP atau HTTPS) atau alamat IP yang digunakan.
Gunakan subsetelan backend
Contoh konfigurasi akan membuat layanan backend tanpa subset.
Prosedur ini menunjukkan cara mengaktifkan subsetelan di layanan backend untuk contoh Load Balancer Jaringan passthrough internal, sehingga deployment dapat diskalakan ke jumlah backend instance yang lebih besar.
Anda hanya boleh mengaktifkan subset jika perlu mendukung lebih dari 250 VM backend di satu load balancer.
Untuk informasi selengkapnya tentang kasus penggunaan ini, lihat subsetelan backend.
gcloud
Gunakan perintah gcloud
berikut untuk memperbarui layanan backend be-ilb
, dengan menentukan kebijakan subset:
gcloud compute backend-services update be-ilb \ --subsetting-policy=CONSISTENT_HASH_SUBSETTING
API
Buat permintaan PATCH
ke metode regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/be-ilb { "subsetting": { "policy": CONSISTENT_HASH_SUBSETTING } }
Membuat load balancer untuk Duplikasi Paket
Duplikasi Paket dapat Anda gunakan untuk menyalin dan mengumpulkan data paket dari instance tertentu di VPC. Data yang dikumpulkan dapat membantu Anda mendeteksi ancaman keamanan dan memantau performa aplikasi.
Duplikasi Paket memerlukan Load Balancer Jaringan passthrough internal untuk menyeimbangkan traffic ke grup instance tujuan kolektor. Untuk membuat Load Balancer Jaringan passthrough internal untuk Duplikasi Paket, ikuti langkah-langkah berikut.
Konsol
Memulai konfigurasi Anda
Di Konsol Google Cloud, buka halaman Load balancing.
- Klik Create load balancer.
- Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
- Untuk Proxy or passthrough, pilih Passthrough load balancer lalu klik Next.
- Untuk Hubung publik atau internal, pilih Internal lalu klik Berikutnya.
- Klik Konfigurasikan.
Konfigurasi dasar
- Untuk Nama load balancer, masukkan nama.
- Untuk Region, pilih region instance VM tempat Anda ingin mencerminkan paket.
- Untuk Jaringan, pilih jaringan tempat Anda ingin mencerminkan paket.
- Klik Backend configuration.
- Di bagian New Backend, untuk Instance group, pilih grup instance yang menjadi tujuan penerusan paket.
- Dari daftar Health check, pilih Create a health check, masukkan informasi berikut, lalu klik Save:
- Untuk Nama, masukkan nama untuk health check.
- Untuk Protocol, pilih
HTTP
. - Untuk Port, masukkan
80
.
- Klik Frontend configuration.
- Di bagian New Frontend IP and port, lakukan tindakan berikut:
- Untuk Name, masukkan nama.
- Untuk Subnetwork, pilih subnetwork di region yang sama dengan instance yang akan dicerminkan.
- Untuk Ports, pilih All.
- Klik Advanced configurations dan pilih kotak centang Enable this load balancer for package mirroring.
- Klik Done.
- Klik Create.
gcloud
Buat health check HTTP regional baru untuk menguji konektivitas HTTP ke grup instance di port 80:
gcloud compute health-checks create http HEALTH_CHECK_NAME \ --region=REGION \ --port=80
Ganti kode berikut:
HEALTH_CHECK_NAME
: nama health check.REGION
: region instance VM yang ingin Anda duplikasi paketnya.
Buat layanan backend untuk traffic HTTP:
gcloud compute backend-services create COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --health-checks-region=REGION \ --health-checks=HEALTH_CHECK_NAME \ --load-balancing-scheme=internal \ --protocol=tcp
Ganti kode berikut:
COLLECTOR_BACKEND_SERVICE
: nama layanan backend.REGION
: region instance VM tempat Anda ingin mencerminkan paket.HEALTH_CHECK_NAME
: nama health check.
Tambahkan grup instance ke layanan backend:
gcloud compute backend-services add-backend COLLECTOR_BACKEND_SERVICE \ --region=REGION \ --instance-group=INSTANCE_GROUP \ --instance-group-zone=ZONE
Ganti kode berikut:
COLLECTOR_BACKEND_SERVICE
: nama layanan backend.REGION
: region grup instance.INSTANCE_GROUP
: nama grup instance.ZONE
: zona grup instance.
Buat aturan penerusan untuk layanan backend:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --region=REGION \ --network=NETWORK \ --subnet=SUBNET \ --backend-service=COLLECTOR_BACKEND_SERVICE \ --load-balancing-scheme=internal \ --ip-protocol=TCP \ --ports=all \ --is-mirroring-collector
Ganti kode berikut:
FORWARDING_RULE_NAME
: nama aturan penerusan.REGION
: region untuk aturan penerusan.NETWORK
: jaringan untuk aturan penerusan.SUBNET
: subnetwork di region VM tempat Anda ingin mencerminkan paket.COLLECTOR_BACKEND_SERVICE
: layanan backend untuk load balancer ini.
Langkah selanjutnya
- Lihat Ringkasan Load Balancer Jaringan passthrough internal untuk mengetahui dasar-dasar penting.
- Lihat Konsep failover untuk Load Balancer Jaringan passthrough internal untuk mengetahui informasi penting tentang failover.
- Lihat Nama DNS dan load balancing internal untuk mengetahui opsi nama DNS yang tersedia yang dapat digunakan load balancer Anda.
- Baca bagian Mengonfigurasi failover untuk Load Balancer Jaringan passthrough internal untuk mengetahui langkah-langkah konfigurasi dan contoh konfigurasi failover Load Balancer Jaringan passthrough internal.
- Baca artikel Logging dan pemantauan Load Balancer Jaringan passthrough internal untuk mengetahui informasi tentang cara mengonfigurasi Logging dan Pemantauan untuk Load Balancer Jaringan passthrough internal.
- Baca artikel Load Balancer Jaringan passthrough internal dan jaringan yang terhubung untuk mengetahui informasi tentang cara mengakses Load Balancer Jaringan passthrough internal dari jaringan pembanding yang terhubung ke jaringan VPC Anda.
- Baca artikel Memecahkan masalah Load Balancer Jaringan passthrough internal untuk mengetahui informasi tentang cara memecahkan masalah pada Load Balancer Jaringan passthrough internal Anda.
- Bersihkan penyiapan load balancer.