Halaman ini memberikan petunjuk untuk membuat Load Balancer Jaringan passthrough internal guna melakukan load balance traffic untuk beberapa protokol.
Untuk mengonfigurasi load balancer untuk beberapa protokol, termasuk TCP dan UDP, Anda
membuat aturan penerusan dengan protokol yang ditetapkan ke
L3_DEFAULT. Aturan penerusan ini mengarah ke layanan backend dengan protokol yang ditetapkan ke
UNSPECIFIED.
Dalam contoh ini, kita menggunakan satu Load Balancer Jaringan passthrough internal untuk mendistribusikan traffic di seluruh VM backend di region us-west1. Load balancer memiliki aturan penerusan dengan protokol
L3_DEFAULT untuk menangani 
TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, dan GRE
.
Sebelum memulai
- Instal Google Cloud CLI. Untuk mengetahui ringkasan lengkap alat ini,
lihat ringkasan gcloud CLI. Anda dapat
menemukan perintah terkait load balancing di
referensi API dan gcloud CLI.
Jika Anda belum pernah menjalankan gcloud CLI sebelumnya, jalankan
perintah gcloud initterlebih dahulu untuk melakukan autentikasi.
- Pelajari bash.
Izin
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan ini, minta administrator Anda untuk memberi Anda peran IAM berikut di project:
- 
             Untuk membuat resource load balancer:
              
  
  
    
      Admin   Load Balancer Compute  (roles/compute.loadBalancerAdmin)
- 
             Untuk membuat instance dan grup instance Compute Engine:
              
  
  
    
      Compute Instance   Admin  (roles/compute.instanceAdmin.v1)
- 
             Untuk membuat komponen jaringan:
              
  
  
    
      Admin Jaringan Compute    (roles/compute.networkAdmin)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Menyiapkan load balancer untuk traffic L3_DEFAULT
Langkah-langkah di bagian ini menjelaskan konfigurasi berikut:
- Contoh yang menggunakan jaringan VPC mode kustom bernama lb-network. Anda dapat menggunakan jaringan mode otomatis jika hanya ingin menangani traffic IPv4. Namun, traffic IPv6 memerlukan subnet mode kustom.
- Subnet single-stack (stack-typeditetapkan keIPv4), yang diperlukan untuk traffic IPv4. Saat membuat subnet stack tunggal di jaringan VPC mode kustom, Anda memilih rentang subnet IPv4 untuk subnet. Untuk traffic IPv6, kami memerlukan subnet dual-stack (stack-typeditetapkan keIPV4_IPV6). Saat membuat subnet stack ganda di jaringan VPC mode kustom, Anda memilih jenis akses IPv6 untuk subnet. Untuk contoh ini, kita menetapkan parameteripv6-access-typesubnet keINTERNAL. Artinya, VM baru di subnet ini dapat diberi alamat IPv4 internal dan alamat IPv6 internal.
- Aturan firewall yang mengizinkan koneksi masuk ke VM backend.
- Grup instance backend dan komponen load balancer yang digunakan untuk contoh ini berada di region dan subnet berikut:
- Region: us-west1
- Subnet: lb-subnet, dengan rentang alamat IPv4 utama10.1.2.0/24. Meskipun Anda memilih rentang alamat IPv4 yang dikonfigurasi di subnet, rentang alamat IPv6 ditetapkan secara otomatis. Google menyediakan blok CIDR IPv6 berukuran tetap (/64).
 
- Region: 
- VM backend dalam grup instance terkelola di zona us-west1-a.
- VM klien untuk menguji koneksi ke backend.
- Load Balancer Jaringan passthrough internal dengan komponen berikut:
- Health check untuk layanan backend.
- Layanan backend di region us-west1dengan protokol yang ditetapkan keUNSPECIFIEDuntuk mengelola distribusi koneksi ke grup instance zonal.
- Aturan penerusan dengan protokol yang ditetapkan ke L3_DEFAULTdan port yang ditetapkan keALL.
 
Mengonfigurasi jaringan, region, dan subnet
Untuk mengonfigurasi subnet dengan rentang IPv6 internal, aktifkan rentang IPv6 internal ULA jaringan Virtual Private Cloud (VPC). Rentang subnet IPv6 internal dialokasikan dari rentang ini. Untuk membuat contoh jaringan dan subnet, ikuti langkah-langkah berikut:
Konsol
Untuk mendukung traffic IPv4 dan IPv6, ikuti langkah-langkah berikut:
- Di Google Cloud konsol, buka halaman VPC networks. 
- Klik Create VPC network. 
- Untuk Name, masukkan - lb-network.
- 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: - Untuk Name, masukkan lb-subnet.
- Untuk Region, pilih us-west1.
- Untuk membuat subnet stack ganda, pilih IPv4 and IPv6 (dual-stack) untuk IP stack type.
- Untuk IPv4 range, masukkan 10.1.2.0/24.
- Untuk IPv6 access type, pilih Internal.
 
- Untuk Name, masukkan 
- Klik Selesai. 
- Klik Buat. 
Untuk mendukung traffic IPv4, ikuti langkah-langkah berikut:
- Di Google Cloud konsol, buka halaman VPC networks. 
- Klik Create VPC network. 
- Untuk Name, masukkan - lb-network.
- Di bagian Subnet: - Setel Subnet creation mode ke Custom.
- Di bagian New subnet, masukkan informasi berikut:
- Nama: lb-subnet
- Region: us-west1
- Jenis stack IP: IPv4 (single-stack)
- Rentang alamat IP: 10.1.2.0/24
 
- Nama: 
- Klik Selesai.
 
- Klik Create. 
gcloud
Untuk traffic IPv4 dan IPv6, gunakan perintah berikut:
- 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 flag - --enable-ula-internal-ipv6. Opsi ini menetapkan awalan ULA- /48dari dalam rentang- fd20::/20yang digunakan oleh Google Cloud untuk rentang subnet IPv6 internal.- gcloud compute networks create lb-network \ --subnet-mode=custom \ --enable-ula-internal-ipv6 
- Dalam - lb-network, buat subnet untuk backend di region- us-west1.- Untuk membuat subnet, jalankan perintah - gcloud compute networks subnets create:- gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1 \ --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL 
Untuk traffic IPv4 saja, gunakan perintah berikut:
- Untuk membuat jaringan VPC kustom, gunakan perintah - gcloud compute networks create:- gcloud compute networks create lb-network --subnet-mode=custom 
- Untuk membuat subnet bagi backend di region - us-west1dalam jaringan- lb-network, gunakan perintah- gcloud compute networks subnets create.- gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1
API
Untuk traffic IPv4 dan IPv6, gunakan perintah berikut:
- Buat jaringan VPC mode kustom baru. Buat permintaan - POSTke metode- networks.insert.- Untuk mengonfigurasi rentang IPv6 internal pada subnet apa pun di jaringan ini, tetapkan - enableUlaInternalIpv6ke- true. Opsi ini menetapkan rentang- /48dari dalam rentang- fd20::/20yang digunakan oleh Google untuk rentang subnet IPv6 internal.- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "autoCreateSubnetworks": false, "name": "lb-network", "mtu": MTU, "enableUlaInternalIpv6": true, }- Ganti kode berikut: - PROJECT_ID: ID project tempat jaringan VPC dibuat.
- MTU: unit transmisi maksimum jaringan. MTU dapat berupa- 1460(default) atau- 1500. Tinjau ringkasan unit transmisi maksimum sebelum menyetel MTU ke- 1500.
 
- Buat permintaan - POSTke 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", "name": "lb-subnet" "stackType": IPV4_IPV6, "ipv6AccessType": Internal }
Untuk IPv4 traffic only, gunakan langkah-langkah berikut:
- Buat permintaan - POSTke metode- networks.insert. Ganti- PROJECT_IDdengan ID Google Cloud project Anda.- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks { "name": "lb-network", "autoCreateSubnetworks": false }
- Buat dua permintaan - POSTke 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 }
Mengonfigurasi aturan firewall
Contoh ini menggunakan aturan firewall berikut:
- fw-allow-lb-access: Aturan ingress, yang berlaku untuk semua target di jaringan VPC, yang mengizinkan traffic dari sumber dalam rentang- 10.1.2.0/24. Aturan ini mengizinkan traffic masuk dari klien mana pun yang terletak di subnet.
- fw-allow-lb-access-ipv6: Aturan ingress, yang berlaku untuk semua target di jaringan VPC, yang mengizinkan traffic dari sumber dalam rentang IPv6 yang dikonfigurasi di subnet. Aturan ini mengizinkan traffic IPv6 masuk dari klien mana pun yang terletak di subnet.
- 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 hanya dapat menentukan rentang IP sistem tempat Anda memulai sesi SSH. Contoh ini menggunakan tag target- allow-sshuntuk mengidentifikasi VM yang menerapkan aturan.
- fw-allow-health-check: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health check Google Cloud (- 130.211.0.0/22dan- 35.191.0.0/16). Contoh ini menggunakan tag target- allow-health-checkuntuk mengidentifikasi instance yang harus diterapkan dengan tag tersebut.
- fw-allow-health-check-ipv6: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health check Google Cloud (- 2600:2d00:1:b029::/64). Contoh ini menggunakan tag target- allow-health-check-ipv6untuk mengidentifikasi instance yang harus diterapkan dengan tag tersebut.
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 TCP, UDP, dan ICMP IPv4 mencapai grup instance backend - ig-a:- Klik Create firewall rule.
- Nama: fw-allow-lb-access
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: Masuk
- Action on match: Izinkan
- Target: Semua instance dalam jaringan
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 10.1.2.0/24
- Protocols and ports: pilih Specified protocols and ports.
- Pilih TCP, lalu masukkan ALL.
- Pilih UDP.
- Pilih Lainnya dan masukkan ICMP.
 
- Pilih TCP, lalu masukkan 
 
- Klik Buat. 
- Untuk mengizinkan koneksi SSH yang masuk: - Klik Create firewall rule.
- Nama: fw-allow-ssh
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target: allow-ssh
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 0.0.0.0/0
- Protocols and ports: pilih Specified protocols and ports,
lalu ketik tcp:22.
 
- Klik Buat. 
- Untuk mengizinkan traffic TCP, UDP, dan ICMP IPv6 mencapai grup instance backend - ig-a:- Klik Create firewall rule.
- Nama: fw-allow-lb-access-ipv6
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: Masuk
- Action on match: Izinkan
- Target: Semua instance dalam jaringan
- Filter sumber: Rentang IPv6
- Rentang IPv6 sumber: IPV6_ADDRESS yang ditetapkan di
lb-subnet
- Protocols and ports: pilih Specified protocols and ports.
- Pilih TCP, lalu masukkan 0-65535.
- Pilih UDP.
- Pilih Lainnya, lalu untuk protokol ICMPv6, masukkan 58.
 
- Pilih TCP, lalu masukkan 
 
- Klik Buat. 
- Untuk mengizinkan pemeriksaan kondisi IPv6: Google Cloud - Klik Create firewall rule.
- Nama: fw-allow-health-check-ipv6
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target: allow-health-check-ipv6
- Filter sumber: Rentang IPv6
- Rentang IPv6 sumber: 2600:2d00:1:b029::/64
- Protocols and ports: Izinkan semua
 
- Klik Buat. 
- Untuk mengizinkan pemeriksaan health check Google Cloud IPv4: - Klik Create firewall rule.
- Nama: fw-allow-health-check
- Jaringan: lb-network
- Prioritas: 1000
- Direction of traffic: Masuk
- Action on match: Izinkan
- Targets: Tag target yang ditentukan
- Tag target: allow-health-check
- Filter sumber: Rentang IPv4
- Rentang IPv4 sumber: 130.211.0.0/22dan35.191.0.0/16
- Protocols and ports: Izinkan semua
 
- Klik Buat. 
gcloud
- Untuk mengizinkan traffic TCP IPv4 menjangkau grup instance backend - ig-a, buat aturan berikut:- gcloud compute firewall-rules create fw-allow-lb-access \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=10.1.2.0/24 \ --rules=tcp,udp,icmp
- Buat aturan firewall - fw-allow-sshuntuk mengizinkan konektivitas SSH ke VM menggunakan tag jaringan- allow-ssh. Jika Anda menghapus- source-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
- Untuk mengizinkan traffic IPv6 mencapai grup instance backend - ig-a, buat aturan berikut:- gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=IPV6_ADDRESS \ --rules=all- Ganti - IPV6_ADDRESSdengan alamat IPv6 yang ditetapkan di- lb-subnet.
- Buat aturan firewall - fw-allow-health-checkuntuk mengizinkan Google Cloud health check.- 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
- Buat aturan - fw-allow-health-check-ipv6untuk mengizinkan health check IPv6. Google Cloud- gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=tcp,udp,icmp 
API
- Untuk membuat aturan firewall - fw-allow-lb-access, buat permintaan- POSTke metode- firewalls.insert. Ganti- PROJECT_IDdengan ID Google Cloud project Anda.- 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" ], "allPorts": true, "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "icmp" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }
- Buat aturan firewall - fw-allow-lb-access-ipv6dengan membuat permintaan- POSTke metode- firewalls.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", "priority": 1000, "sourceRanges": [ "IPV6_ADDRESS" ], "allPorts": true, "allowed": [ { "IPProtocol": "tcp" }, { "IPProtocol": "udp" }, { "IPProtocol": "58" } ], "direction": "INGRESS", "logConfig": { "enable": false }, "disabled": false }- Ganti IPV6_ADDRESS dengan alamat IPv6 yang ditetapkan di - lb-subnet.
- Untuk membuat aturan firewall - fw-allow-ssh, buat permintaan- POSTke 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 }
- Untuk membuat aturan firewall - fw-allow-health-check, buat permintaan- POSTke 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 }
- Buat aturan firewall - fw-allow-health-check-ipv6dengan membuat permintaan- POSTke metode- firewalls.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", "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 VM backend dan grup instance
Untuk skenario load balancing ini, Anda akan membuat grup instance terkelola zonal Compute Engine dan menginstal server web Apache.
Untuk menangani traffic IPv4 dan IPv6, konfigurasi VM backend agar menjadi
stack ganda. Tetapkan stack-type VM ke IPV4_IPV6. VM juga mewarisi setelan
ipv6-access-type (dalam contoh ini, INTERNAL) dari subnet. Untuk
mengetahui detail selengkapnya tentang persyaratan IPv6, lihat Ringkasan Load Balancer Jaringan passthrough internal: Aturan penerusan.
Jika Anda ingin menggunakan VM yang ada sebagai backend, update VM agar menjadi dual-stack menggunakan perintah gcloud compute instances network-interfaces update.
Instance yang berpartisipasi sebagai VM backend untuk Load Balancer Jaringan passthrough internal harus menjalankan Linux Guest Environment, Windows Guest Environment, atau proses lain yang menyediakan fungsi yang setara.
Untuk menyederhanakan petunjuk, VM backend menjalankan Debian GNU/Linux 12.
Membuat grup instance
Konsol
Untuk mendukung traffic IPv4 dan IPv6, ikuti langkah-langkah berikut:
- Membuat template instance. Di konsol Google Cloud , buka halaman Instance templates. - Buka halaman Template instance - Klik Create instance template.
- Untuk Name, masukkan vm-a1.
- Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti apt-get.
- Luaskan bagian Advanced options.
- Luaskan bagian Management, lalu salin skrip berikut ke kolom Startup script. Skrip startup juga mengonfigurasi server Apache untuk memproses port - 8080, bukan port- 80.- #! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2 
- Luaskan bagian Networking, lalu tentukan hal berikut: - Untuk Tag jaringan, tambahkan allow-sshdanallow-health-check-ipv6.
- Untuk Network interfaces, klik antarmuka default dan
konfigurasi kolom berikut:
- Jaringan: lb-network
- Subnetwork: lb-subnet
- IP stack type: IPv4 and IPv6 (dual-stack)
 
- Jaringan: 
 
- Untuk Tag jaringan, tambahkan 
- Klik Buat. 
 
Untuk mendukung traffic IPv4, ikuti langkah-langkah berikut:
- Membuat template instance. Di konsol Google Cloud , buka halaman Instance templates. 
- Klik Create instance template. - Untuk Name, masukkan vm-a1.
- Pastikan Boot disk disetel ke image Debian, seperti
Debian GNU/Linux 12 (bookworm). Petunjuk ini menggunakan perintah yang hanya tersedia di Debian, seperti apt-get.
- Luaskan bagian Advanced options.
- Luaskan bagian Management, lalu salin skrip berikut ke kolom Startup script. Skrip startup juga mengonfigurasi server Apache untuk memproses port - 8080, bukan port- 80.- #! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2 
- Luaskan bagian Networking, lalu tentukan hal berikut: - Untuk Tag jaringan, tambahkan allow-sshdanallow-health-check.
- Untuk Network interfaces, klik antarmuka default dan
konfigurasi kolom berikut:
- Jaringan: lb-network
- Subnetwork: lb-subnet
- Jenis stack IP: IPv4 (single-stack)
 
- Jaringan: 
 
- Untuk Tag jaringan, tambahkan 
- Klik Buat. 
 
- Untuk Name, masukkan 
- Membuat grup instance terkelola. Buka halaman Instance groups di konsol Google Cloud . - Klik Create instance group.
- Pilih New managed instance group (stateless). Untuk mengetahui informasi selengkapnya, lihat MIG stateless atau stateful.
- Untuk Name, masukkan ig-a.
- Untuk Location, pilih Single zone.
- Untuk Region, pilih us-west1.
- Untuk Zone, pilih us-west1-a.
- Untuk Instance template, pilih vm-a1.
- Tentukan jumlah instance yang ingin Anda buat dalam grup. - Untuk contoh ini, tentukan opsi berikut di bagian Penskalaan otomatis: - Untuk Autoscaling mode, pilih Off:do not autoscale.
- Untuk Maximum number of instances, masukkan 2.
 
- Untuk Autoscaling mode, pilih 
- Klik Buat. 
 
gcloud
Petunjuk gcloud dalam panduan ini mengasumsikan bahwa Anda menggunakan Cloud Shell atau lingkungan lain dengan bash yang terinstal.
- Buat template instance VM dengan server HTTP menggunakan perintah - gcloud compute instance-templates create.- Skrip startup juga mengonfigurasi server Apache untuk memproses port - 8080, bukan port- 80.- Untuk menangani traffic IPv4 dan IPv6, gunakan perintah berikut. - gcloud compute instance-templates create vm-a1 \ --region=us-west1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=allow-ssh \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl 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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'- Atau, jika Anda hanya ingin menangani traffic IPv4, gunakan perintah berikut. - gcloud compute instance-templates create vm-a1 \ --region=us-west1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=allow-ssh \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl 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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
- Buat grup instance terkelola di zona dengan perintah - gcloud compute instance-groups managed create.- gcloud compute instance-groups managed create ig-a \ --zone us-west1-a \ --size 2 \ --template vm-a1
api
Untuk menangani traffic IPv4 dan IPv6, gunakan langkah-langkah berikut:.
- Buat VM dengan membuat permintaan - POSTke metode- instances.insert:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "vm-a1", "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", "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-a1", "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\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\nsed -ire "s/^Listen 80$/Listen 8080/g" /etc/\\napache2/ports.conf\nsystemctl restart apache2" } ] }, "scheduling": { "preemptible": false }, "deletionProtection": false }
Untuk menangani traffic IPv4, gunakan langkah-langkah berikut.
- Buat VM dengan membuat permintaan - POSTke metode- instances.insert:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "vm-a1", "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": [ { "stackType": "IPV4", "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-a1", "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\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\nsed -ire "s/^Listen 80$/Listen 8080/g" /etc/\\napache2/ports.conf\nsystemctl restart apache2" } ] }, "scheduling": { "preemptible": false }, "deletionProtection": false }
- Buat grup instance dengan membuat permintaan - POSTke 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" }
- Tambahkan instance ke setiap grup instance dengan membuat permintaan - POSTke 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" } ] }
Membuat VM klien
Contoh ini membuat VM klien 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.
Untuk traffic IPv4 dan IPv6:
Konsol
- Di konsol Google Cloud , buka halaman VM instances. 
- Klik Create instance. 
- Tetapkan Name ke - vm-client-ipv6.
- Tetapkan Zone ke - us-west1-a.
- Luaskan bagian Advanced options, lalu lakukan perubahan berikut: - Luaskan Networking, lalu tambahkan allow-sshke Network tags.
- Di bagian Network interfaces, klik Edit, lakukan perubahan berikut, lalu klik Selesai:
- Jaringan: lb-network
- Subnet: lb-subnet
- IP stack type: IPv4 and IPv6 (dual-stack)
- Primary internal IP: Efemeral (otomatis)
- IP Eksternal: Sementara
 
- Jaringan: 
 
- Luaskan Networking, lalu tambahkan 
- Klik Buat. 
gcloud
VM klien dapat berada di zona mana pun di region yang sama dengan
load balancer, dan dapat menggunakan subnet mana 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-ipv6 \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --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-ipv6",
 "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",
     "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
}
Untuk IPv4 traffic:
Konsol
- Di konsol Google Cloud , buka halaman VM instances. 
- Klik Create instance. 
- Untuk Name, masukkan - vm-client.
- Untuk Zone, masukkan - us-west1-a.
- Luaskan bagian Advanced options. 
- Luaskan Networking, lalu konfigurasi kolom berikut: - Untuk Network tags, masukkan allow-ssh.
- Untuk Network interfaces, pilih opsi berikut:
- Jaringan: lb-network
- Subnet: lb-subnet
 
- Jaringan: 
 
- Untuk Network tags, masukkan 
- Klik Buat. 
gcloud
VM klien dapat berada di zona mana pun di region yang sama dengan
load balancer, dan dapat menggunakan subnet mana 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-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=lb-subnet
API
Buat permintaan POST ke metode instances.insert.
 Ganti PROJECT_ID dengan ID
 Google Cloud project Anda.
 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
  }
  Mengonfigurasi komponen load balancer
Buat load balancer untuk beberapa protokol.
gcloud
- Buat health check HTTP untuk port 80. Health check ini digunakan untuk memverifikasi kondisi backend dalam grup instance - ig-a.- gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80
- Buat layanan backend dengan protokol yang ditetapkan ke - UNSPECIFIED:- gcloud compute backend-services create be-ilb-l3-default \ --load-balancing-scheme=internal \ --protocol=UNSPECIFIED \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1
- Tambahkan grup instance ke layanan backend: - gcloud compute backend-services add-backend be-ilb-l3-default \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a
- Untuk traffic IPv6: Buat aturan penerusan dengan protokol yang ditetapkan ke - L3_DEFAULTuntuk menangani semua traffic protokol IPv6 yang didukung. Semua port harus dikonfigurasi dengan aturan penerusan- L3_DEFAULT.- gcloud compute forwarding-rules create fr-ilb-ipv6 \ --region=us-west1 \ --load-balancing-scheme=internal \ --subnet=lb-subnet \ --ip-protocol=L3_DEFAULT \ --ports=ALL \ --backend-service=be-ilb-l3-default \ --backend-service-region=us-west1 \ --ip-version=IPV6 
- Untuk traffic IPv4: Buat aturan penerusan dengan protokol yang ditetapkan ke - L3_DEFAULTuntuk menangani semua traffic protokol IPv4 yang didukung. Semua port harus dikonfigurasi dengan aturan penerusan- L3_DEFAULT. Gunakan- 10.1.2.99sebagai alamat IP internal.- gcloud compute forwarding-rules create fr-ilb-l3-default \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=10.1.2.99 \ --ip-protocol=L3_DEFAULT \ --ports=ALL \ --backend-service=be-ilb-l3-default \ --backend-service-region=us-west1 
API
- Buat health check dengan membuat permintaan - POSTke metode- regionHealthChecks.insert. Ganti- PROJECT_IDdengan ID Google Cloud project Anda.- 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 - POSTke metode- regionBackendServices.insert:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices { "name": "be-ilb-l3-default", "backends": [ { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a", "balancingMode": "CONNECTION" } ], "healthChecks": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80" ], "loadBalancingScheme": "INTERNAL", "protocol": "UNSPECIFIED", "connectionDraining": { "drainingTimeoutSec": 0 } }
- Untuk traffic IPv6: Buat aturan penerusan dengan membuat permintaan - POSTke metode- forwardingRules.insert.- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-ipv6", "IPProtocol": "L3_DEFAULT", "allPorts": true, "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-l3-default", "ipVersion": "IPV6", "networkTier": "PREMIUM" }
- Untuk traffic IPv4: Buat aturan penerusan dengan membuat permintaan - POSTke metode- forwardingRules.insert:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-l3-default", "IPAddress": "10.1.2.99", "IPProtocol": "L3_DEFAULT", "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-l3-default", "networkTier": "PREMIUM" }
Menguji load balancer
Pengujian berikut menunjukkan cara memvalidasi konfigurasi load balancer dan mempelajari perilaku yang diharapkan.
Menguji koneksi dari VM klien
Pengujian ini menghubungi load balancer dari VM klien terpisah; yaitu, bukan dari VM backend load balancer.
gcloud:IPv6
- Hubungkan ke instance VM klien. - gcloud compute ssh vm-client-ipv6 --zone=us-west1-a 
- Jelaskan aturan penerusan IPv6 - fr-ilb-ipv6. Perhatikan- IPV6_ADDRESSdalam deskripsi.- gcloud compute forwarding-rules describe fr-ilb-ipv6 --region=us-west1 
- Dari klien dengan konektivitas IPv6, jalankan perintah berikut. Ganti - IPV6_ADDRESSdengan alamat IPv6 sementara di aturan penerusan- fr-ilb-ipv6.- 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:- curl -m 10 -s http://[fd20:1db0:b882:802:0:46:0:0]:80 
gcloud:IPv4
- Hubungkan ke instance VM klien. - gcloud compute ssh vm-client --zone=us-west1-a 
- Mendeskripsikan aturan penerusan IPv4 - fr-ilb.- gcloud compute forwarding-rules describe fr-ilb --region=us-west1 
- Buat permintaan web ke load balancer menggunakan - curluntuk menghubungi alamat IP-nya. Ulangi permintaan agar 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.htmldi setiap VM backend. Respons yang diharapkan akan terlihat seperti- Page served from: vm-a1.- curl http://10.1.2.99 - Aturan penerusan dikonfigurasi untuk menayangkan port - 80dan- 53. Untuk mengirim traffic ke port tersebut, tambahkan titik dua (- :) dan nomor port setelah alamat IP, seperti ini:- curl http://10.1.2.99:80 
Ping alamat IP load balancer
Pengujian ini menunjukkan perilaku yang diharapkan: Anda dapat melakukan ping ke alamat IP load balancer.
gcloud:IPv6
- Hubungkan ke instance VM klien. - gcloud compute ssh vm-client-ipv6 --zone=us-west1-a 
- Coba ping alamat IPv6 load balancer. Ganti - IPV6_ADDRESSdengan alamat IPv6 sementara di aturan penerusan- fr-ilb-ipv6.- Perhatikan bahwa Anda mendapatkan respons dan perintah - pingberfungsi dalam contoh ini.- ping6 IPV6_ADDRESS - Misalnya, jika alamat IPv6 yang ditetapkan adalah - [2001:db8:1:1:1:1:1:1/96], perintahnya adalah sebagai berikut:- ping6 2001:db8:1:1:1:1:1:1 - Outputnya mirip dengan hal berikut ini: - @vm-client: ping - IPV6_ADDRESSPING- IPV6_ADDRESS(- IPV6_ADDRESS) 56(84) bytes of data. 64 bytes from- IPV6_ADDRESS: icmp_seq=1 ttl=64 time=1.58 ms
gcloud:IPv4
- Hubungkan ke instance VM klien. - gcloud compute ssh vm-client --zone=us-west1-a 
- Coba ping alamat IPv4 load balancer. Perhatikan bahwa Anda mendapatkan respons dan perintah - pingberfungsi dalam contoh ini.- ping 10.1.2.99 - Outputnya adalah sebagai berikut: - @vm-client: ping 10.1.2.99 PING 10.1.2.99 (10.1.2.99) 56(84) bytes of data. 64 bytes from 10.1.2.99: icmp_seq=1 ttl=64 time=1.58 ms 64 bytes from 10.1.2.99: icmp_seq=2 ttl=64 time=0.242 ms 64 bytes from 10.1.2.99: icmp_seq=3 ttl=64 time=0.295 ms 
Opsi konfigurasi tambahan
Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi alternatif dan tambahan. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.
Anda dapat mencadangkan alamat IP internal statis untuk contoh Anda. Konfigurasi ini memungkinkan beberapa aturan penerusan internal menggunakan alamat IP yang sama dengan protokol dan port yang berbeda.
Backend load balancer contoh Anda harus tetap berada di region us-west1.
Diagram berikut menunjukkan arsitektur untuk contoh ini.
Anda juga dapat mempertimbangkan untuk menggunakan konfigurasi aturan penerusan berikut:
- Aturan penerusan dengan beberapa port: - Protokol TCPdengan port80,8080
- Protokol L3_DEFAULTdengan portALL
 
- Protokol 
- Aturan penerusan dengan semua port: - Protokol TCPdengan portALL
- Protokol L3_DEFAULTdengan portALL
 
- Protokol 
Mencadangkan alamat IPv4 internal statis
Cadangkan alamat IP internal statis untuk 10.1.2.99 dan tetapkan
flag --purpose-nya ke SHARED_LOADBALANCER_VIP. Flag --purpose
diperlukan agar banyak aturan penerusan dapat menggunakan alamat IP
internal yang sama.
gcloud
Gunakan perintah gcloud compute addresses create:
gcloud compute addresses create internal-lb-ipv4 \
    --region us-west1 \
    --subnet lb-subnet \
    --purpose SHARED_LOADBALANCER_VIP \
    --addresses 10.1.2.99
API
Panggil
metode addresses.insert.
Ganti PROJECT_ID dengan ID
Google Cloud project Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/addresses
Isi permintaan harus menyertakan addressType, yang harus berupa
INTERNAL, name alamat, dan subnetwork yang memiliki alamat IP tersebut. Anda harus menentukan address sebagai 10.1.2.99.
{
  "addressType": "INTERNAL",
  "name": "internal-lb-ipv4",
  "subnetwork": "regions/us-west1/subnetworks/lb-subnet",
  "purpose": "SHARED_LOADBALANCER_VIP",
  "address": "10.1.2.99"
}
Mengonfigurasi komponen load balancer
Konfigurasi tiga load balancer dengan komponen berikut:
- Load balancer pertama memiliki aturan penerusan dengan protokol TCPdan port80. Traffic TCP yang tiba di alamat IP internal pada port80ditangani oleh aturan penerusanTCP.
- Load balancer kedua memiliki aturan penerusan dengan protokol UDPdan port53. Traffic UDP yang tiba di alamat IP internal pada port53ditangani oleh aturan penerusanUDP.
- Load balancer ketiga memiliki aturan penerusan dengan protokol L3_DEFAULTdan portALL. Semua traffic lain yang tidak cocok dengan aturan penerusanTCPatauUDPditangani oleh aturan penerusanL3_DEFAULT.
- Ketiga load balancer tersebut berbagi alamat IP internal statis yang sama
(internal-lb-ipv4) dalam aturan penerusannya.
Buat load balancer pertama
Buat load balancer pertama untuk traffic TCP di port 80.
gcloud
- Buat layanan backend untuk traffic TCP: - 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 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
- Buat aturan penerusan untuk layanan backend. Gunakan alamat IP internal statis yang dipesan ( - internal-lb-ipv4) untuk alamat IP internal.- gcloud compute forwarding-rules create fr-ilb \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=internal-lb-ipv4 \ --ip-protocol=TCP \ --ports=80 \ --backend-service=be-ilb \ --backend-service-region=us-west1
API
- Buat layanan backend regional dengan membuat permintaan - POSTke metode- regionBackendServices.insert. Ganti- PROJECT_IDdengan ID Google Cloud project Anda.- 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" } ], "healthChecks": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80" ], "loadBalancingScheme": "INTERNAL", "protocol": "TCP", "connectionDraining": { "drainingTimeoutSec": 0 } }
- Create the forwarding rule by making a - POSTrequest to the- forwardingRules.insertmethod:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb", "IPAddress": "internal-lb-ipv4", "IPProtocol": "TCP", "ports": [ "80" ], "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" }
Buat load balancer kedua
Buat load balancer kedua untuk traffic UDP di port 53.
gcloud
- Buat layanan backend dengan protokol yang ditetapkan ke - UDP:- gcloud compute backend-services create be-ilb-udp \ --load-balancing-scheme=internal \ --protocol=UDP \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1
- Tambahkan grup instance ke layanan backend: - gcloud compute backend-services add-backend be-ilb-udp \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a
- Buat aturan penerusan untuk layanan backend. Gunakan alamat IP internal statis yang dipesan ( - internal-lb-ipv4) untuk alamat IP internal.- gcloud compute forwarding-rules create fr-ilb-udp \ --region=us-west1 \ --load-balancing-scheme=internal \ --network=lb-network \ --subnet=lb-subnet \ --address=internal-lb-ipv4 \ --ip-protocol=UDP \ --ports=53 \ --backend-service=be-ilb-udp \ --backend-service-region=us-west1
API
- Buat layanan backend regional dengan membuat permintaan - POSTke metode- regionBackendServices.insert. Ganti- PROJECT_IDdengan ID Google Cloud project Anda.- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices { "name": "be-ilb-udp", "backends": [ { "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroups/ig-a", "balancingMode": "CONNECTION" } ], "healthChecks": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/healthChecks/hc-http-80" ], "loadBalancingScheme": "INTERNAL", "protocol": "UDP", "connectionDraining": { "drainingTimeoutSec": 0 } }
- Buat aturan penerusan dengan membuat permintaan - POSTke metode- forwardingRules.insert:- POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules { "name": "fr-ilb-udp", "IPAddress": "internal-lb-ipv4", "IPProtocol": "UDP", "ports": [ "53" ], "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-udp", "networkTier": "PREMIUM" }
Buat load balancer ketiga
Buat aturan penerusan load balancer ketiga untuk menggunakan alamat IP internal statis yang dicadangkan.
gcloud
Buat aturan penerusan dengan protokol yang ditetapkan ke L3_DEFAULT untuk menangani
semua traffic protokol IPv4 lainnya yang didukung. Gunakan alamat IP internal statis yang dicadangkan (internal-lb-ipv4) sebagai alamat IP internal.
gcloud compute forwarding-rules create fr-ilb-l3-default \
    --region=us-west1 \
    --load-balancing-scheme=internal \
    --network=lb-network \
    --subnet=lb-subnet \
    --address=internal-lb-ipv4 \
    --ip-protocol=L3_DEFAULT \
    --ports=ALL \
    --backend-service=be-ilb-l3-default \
    --backend-service-region=us-west1
API
Buat aturan penerusan dengan membuat permintaan POST ke metode forwardingRules.insert.
Ganti PROJECT_ID dengan ID
Google Cloud project Anda.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules
{
"name": "fr-ilb-l3-default",
"IPAddress": "internal-lb-ipv4",
"IPProtocol": "L3_DEFAULT",
"ports": [
  "ALL"
],
"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-l3-default",
"networkTier": "PREMIUM"
}
Menguji load balancer
Untuk menguji load balancer Anda, ikuti langkah-langkah di bagian sebelumnya.
Langkah berikutnya
- Untuk mempelajari konsep penting, lihat Ringkasan Load Balancer Jaringan passthrough internal.
- Untuk mempelajari cara mengonfigurasi failover, lihat Mengonfigurasi failover untuk Load Balancer Jaringan passthrough internal.
- Untuk mempelajari cara mengonfigurasi Logging dan Pemantauan untuk Load Balancer Jaringan passthrough internal, lihat Logging dan pemantauan Load Balancer Jaringan passthrough internal.
- Untuk mempelajari cara memecahkan masalah, lihat Memecahkan masalah Load Balancer Jaringan passthrough internal.
- Membersihkan penyiapan load balancing.