Menyiapkan Load Balancer Aplikasi internal regional dengan konektivitas hybrid

Halaman ini menggambarkan cara men-deploy Load Balancer Aplikasi internal regional untuk menyeimbangkan beban traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lainnya dan dapat dijangkau menggunakan konektivitas hybrid.

Jika Anda belum melakukannya, tinjau Ringkasan NEG konektivitas hybrid untuk memahami persyaratan jaringan guna menyiapkan load balancing hybrid.

Ringkasan penyiapan

Contoh di halaman ini menyiapkan deployment berikut:

Contoh Load Balancer Aplikasi internal regional untuk konektivitas hybrid.
Contoh Load Balancer Aplikasi internal regional untuk konektivitas hybrid (klik untuk memperbesar).

Anda harus mengonfigurasi konektivitas hybrid sebelum menyiapkan deployment load balancing hybrid. Halaman ini tidak mencakup penyiapan konektivitas hibrida.

Bergantung pada pilihan produk konektivitas hybrid Anda (baik Cloud VPN atau Cloud Interconnect (Dedicated atau Partner)), gunakan dokumentasi produk yang relevan.

Izin

Untuk menyiapkan load balancing hybrid, Anda harus memiliki izin berikut:

  • Aktif Trusted Cloud

    • Izin untuk membuat konektivitas hybrid antara Trusted Cloud dan lingkungan lokal Anda atau lingkungan cloud lainnya. Untuk daftar izin yang diperlukan, lihat dokumentasi produk Network Connectivity yang relevan.
    • Izin untuk membuat NEG dengan konektivitas hybrid dan load balancer. Peran Admin Load Balancer Compute (roles/compute.loadBalancerAdmin) berisi izin yang diperlukan untuk melakukan tugas yang dijelaskan dalam panduan ini.
  • Di lingkungan lokal Anda atau lingkungan non-Trusted Cloud cloud lainnya

    • Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal atau lingkungan cloud lainnya dapat dijangkau dariTrusted Cloud dengan menggunakan kombinasi IP:Port. Untuk mengetahui informasi selengkapnya, hubungi administrator jaringan lingkungan Anda.
    • Izin untuk membuat aturan firewall di lingkungan lokal atau lingkungan cloud lainnya untuk mengizinkan pemeriksaan health check Google menjangkau endpoint.

Selain itu, untuk menyelesaikan petunjuk di halaman ini, Anda perlu membuat NEG konektivitas hybrid, load balancer, dan NEG zona (serta endpointnya) untuk berfungsi sebagai backend berbasis Trusted Clouduntuk load balancer.

Anda harus menjadi Pemilik atau Editor project, atau Anda harus memiliki peran IAM Compute Engine berikut.

Tugas Peran yang diperlukan
Membuat jaringan, subnet, dan komponen load balancer Compute Network Admin (roles/compute.networkAdmin)
Menambahkan dan menghapus aturan firewall Compute Security Admin (roles/compute.securityAdmin)
Membuat instance Compute Instance Admin (roles/compute.instanceAdmin)

Membuat konektivitas hybrid

Lingkungan lokal dan lingkungan cloud lainnya harus terhubung melalui konektivitas hybrid menggunakan lampiran VLAN Cloud Interconnect atau tunnel Cloud VPN dengan VM Cloud Router atau Router appliance. Trusted Cloud Sebaiknya Anda menggunakan koneksi ketersediaan tinggi.

Cloud Router yang diaktifkan dengan perutean dinamis global mempelajari endpoint tertentu melalui Border Gateway Protocol (BGP) dan memprogramnya ke dalam Trusted Cloud jaringan VPC Anda. Perutean dinamis regional tidak didukung. Rute statis juga tidak didukung.

Anda dapat menggunakan jaringan yang sama atau jaringan VPC yang berbeda dalam project yang sama untuk mengonfigurasi jaringan hybrid (Cloud Interconnect atau Cloud VPN atau VM perangkat Router) dan load balancer. Perhatikan hal berikut:

  • Jika Anda menggunakan jaringan VPC yang berbeda, kedua jaringan harus dihubungkan menggunakan Peering Jaringan VPC atau harus berupa spoke VPC di hub Network Connectivity Center yang sama.

  • Jika Anda menggunakan jaringan VPC yang sama, pastikan rentang CIDR subnet jaringan VPC Anda tidak berkonflik dengan rentang CIDR jarak jauh Anda. Jika alamat IP tumpang-tindih, rute subnet diprioritaskan daripada konektivitas jarak jauh.

Untuk mengetahui petunjuknya, lihat dokumentasi berikut:

Menyiapkan lingkungan Anda di luar Trusted Cloud

Lakukan langkah-langkah berikut untuk menyiapkan lingkungan lokal atau lingkungan cloud lainnya untuk load balancing hybrid:

  • Konfigurasi endpoint jaringan untuk mengekspos layanan lokal ke Trusted Cloud (IP:Port).
  • Konfigurasi aturan firewall di lingkungan lokal atau lingkungan cloud lainnya.
  • Konfigurasi Cloud Router untuk mengiklankan rute tertentu yang diperlukan ke lingkungan pribadi Anda.

Menyiapkan endpoint jaringan

Setelah menyiapkan konektivitas hybrid, Anda mengonfigurasi satu atau beberapa endpoint jaringan dalam lingkungan lokal atau lingkungan cloud lainnya yang dapat dijangkau melalui Cloud Interconnect atau Cloud VPN atau Router appliance menggunakan kombinasi IP:port. Kombinasi IP:port ini dikonfigurasi sebagai satu atau beberapa endpoint untuk NEG konektivitas hybrid yang dibuat di Trusted Cloud kemudian dalam proses ini.

Jika ada beberapa jalur ke endpoint IP, perutean akan mengikuti perilaku yang dijelaskan dalam Ringkasan Cloud Router.

Menyiapkan aturan firewall

Aturan firewall berikut harus dibuat di lingkungan lokal atau lingkungan cloud lainnya:

  • Buat aturan firewall izinkan traffic masuk di lingkungan lokal atau cloud lain untuk mengizinkan traffic dari subnet khusus proxy di region tersebut untuk menjangkau endpoint.
  • Mengizinkan traffic dari rentang pemeriksaan health check Google tidak diperlukan untuk NEG hibrida. Namun, jika Anda menggunakan kombinasi NEG hybrid dan zona dalam satu layanan backend, Anda harus mengizinkan traffic dari rentang pemeriksaan kondisi Google untuk NEG zona.

Konfigurasi Cloud Router untuk mengiklankan rentang IP kustom berikut ke lingkungan lokal atau lingkungan cloud lainnya:

  • Rentang subnet khusus proxy region.

Menyiapkan Trusted Cloud lingkungan

Untuk langkah-langkah berikut, pastikan Anda menggunakan jaringan VPC yang sama (disebut NETWORK dalam prosedur ini) yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.

Selain itu, pastikan region yang digunakan (disebut REGION dalam prosedur ini) sama dengan yang digunakan untuk membuat tunnel Cloud VPN atau lampiran VLAN Cloud Interconnect.

Konfigurasi subnet khusus proxy

Subnet khusus proxy ini digunakan untuk semua load balancer berbasis Envoy regional di region REGION.

Konsol

  1. Di Trusted Cloud konsol, buka halaman VPC networks.
    Buka jaringan VPC
  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hibrida antara lingkungan.
  3. Klik Tambahkan subnet.
  4. Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
  5. Pilih Wilayah: REGION.
  6. Tetapkan Purpose ke Regional Managed Proxy.
  7. Masukkan rentang alamat IP: PROXY_ONLY_SUBNET_RANGE.
  8. Klik Tambahkan.

gcloud

Buat subnet khusus proxy dengan perintah gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Mengonfigurasi subnet load balancer

Subnet ini digunakan untuk membuat backend NEG zonal load balancer, frontend, dan alamat IP internal.

Cloud Console

  1. Di Trusted Cloud konsol, buka halaman VPC networks.
    Buka jaringan VPC
  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.
  3. Di bagian Subnet:
    • Setel Subnet creation mode ke Custom.
    • Di bagian New subnet, masukkan informasi berikut:
      • Nama: LB_SUBNET_NAME
      • Region: REGION
      • Rentang alamat IP: LB_SUBNET_RANGE
    • Klik Selesai.
  4. Klik Create.

gcloud

  1. Buat subnet di jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antara lingkungan.

    gcloud compute networks subnets create LB_SUBNET_NAME \
        --network=NETWORK \
        --range=LB_SUBNET_RANGE \
        --region=REGION
    

Mencadangkan alamat IP load balancer

Secara default, satu alamat IP digunakan untuk setiap aturan penerusan. Anda dapat mencadangkan alamat IP bersama, yang memungkinkan Anda menggunakan alamat IP yang sama dengan beberapa aturan penerusan. Namun, jika Anda ingin memublikasikan load balancer menggunakan Private Service Connect, jangan gunakan alamat IP bersama untuk aturan penerusan.

Konsol

Anda dapat mencadangkan alamat IP internal mandiri menggunakan konsolTrusted Cloud .

  1. Buka halaman VPC networks.

    Buka jaringan VPC

  2. Klik jaringan yang digunakan untuk mengonfigurasi konektivitas hibrida antara lingkungan.
  3. Klik Static internal IP addresses, lalu klik Reserve static address.
  4. Masukkan Nama: LB_IP_ADDRESS.
  5. Untuk Subnet, pilih LB_SUBNET_NAME.
  6. Jika Anda ingin menentukan alamat IP yang akan dicadangkan, di bagian Static IP address, pilih Let me choose, lalu isi Custom IP address. Jika tidak, sistem akan otomatis menetapkan alamat IP di subnet untuk Anda.
  7. Jika Anda ingin menggunakan alamat IP ini dengan beberapa aturan penerusan, di bagian Purpose, pilih Shared.
  8. Klik Pesan untuk menyelesaikan proses.

gcloud

  1. Menggunakan gcloud CLI, jalankan perintah compute addresses create:

    gcloud compute addresses create LB_IP_ADDRESS \
      --region=REGION \
      --subnet=LB_SUBNET_NAME \
    
  2. Gunakan perintah compute addresses describe untuk melihat alamat IP yang dialokasikan:

    gcloud compute addresses describe LB_IP_ADDRESS \
      --region=REGION
    

    Jika Anda ingin menggunakan alamat IP yang sama dengan beberapa aturan penerusan, tentukan --purpose=SHARED_LOADBALANCER_VIP.

Membuat aturan firewall untuk NEG zonal

Dalam contoh ini, Anda membuat aturan firewall berikut untuk backend NEG zona di Trusted Cloud:

  • fw-allow-health-check: Aturan ingress, yang berlaku untuk instance yang di-load balance, yang mengizinkan traffic dari sistem health checkTrusted Cloud (130.211.0.0/22 dan 35.191.0.0/16). Contoh ini menggunakan tag target allow-health-check untuk mengidentifikasi VM backend yang harus diterapkan dengan tag tersebut. Mengizinkan traffic dari rentang pemeriksaan health check Google tidak diperlukan untuk NEG hibrida. Namun, jika Anda menggunakan kombinasi NEG hybrid dan zona dalam satu layanan backend, Anda harus mengizinkan traffic dari rentang pemeriksaan kondisi Google untuk NEG zona.
  • fw-allow-ssh: Aturan ingress yang memungkinkan konektivitas SSH yang masuk pada TCP port 22 dari alamat mana pun. Anda dapat memilih rentang IP sumber yang lebih ketat untuk aturan ini; misalnya, Anda dapat menentukan hanya rentang IP sistem tempat Anda akan memulai sesi SSH. Contoh ini menggunakan tag target allow-ssh untuk mengidentifikasi VM tempat tag harus diterapkan.
  • fw-allow-proxy-only-subnet: Aturan ingress yang memungkinkan koneksi dari subnet khusus proxy untuk menjangkau backend.

Konsol

  1. Di konsol Trusted Cloud , buka halaman Firewall policies.
    Buka Kebijakan firewall
  2. Klik Create firewall rule untuk membuat aturan yang mengizinkan traffic dari pemeriksaan health check:
    1. Masukkan Nama fw-allow-health-check.
    2. Di bagian Network, pilih NETWORK.
    3. Di bagian Target, pilih Tag target yang ditentukan.
    4. Isi kolom Target tags dengan allow-health-check.
    5. Tetapkan Source filter ke IPv4 ranges.
    6. Tetapkan Source IPv4 ranges ke 130.211.0.0/22 dan 35.191.0.0/16.
    7. Di bagian Protocols and ports, pilih Specified protocols and ports.
    8. Pilih TCP, lalu masukkan 80 untuk nomor port.
    9. Klik Buat.
  3. Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi SSH yang masuk:
    1. Nama: fw-allow-ssh
    2. Jaringan: NETWORK
    3. Prioritas: 1000
    4. Direction of traffic: ingress
    5. Tindakan terhadap kecocokan: izinkan
    6. Targets: Tag target yang ditentukan
    7. Tag target: allow-ssh
    8. Filter sumber: Rentang IPv4
    9. Rentang IPv4 sumber: 0.0.0.0/0
    10. Protocols and ports: Pilih Specified protocols and ports.
    11. Pilih TCP, lalu masukkan 22 untuk nomor port.
    12. Klik Buat.
  4. Klik Create firewall rule lagi untuk membuat aturan yang mengizinkan koneksi masuk dari subnet khusus proxy:
    1. Nama: fw-allow-proxy-only-subnet
    2. Jaringan: NETWORK
    3. Prioritas: 1000
    4. Direction of traffic: ingress
    5. Tindakan terhadap kecocokan: izinkan
    6. Targets: Tag target yang ditentukan
    7. Tag target: allow-proxy-only-subnet
    8. Filter sumber: Rentang IPv4
    9. Rentang IPv4 sumber: PROXY_ONLY_SUBNET_RANGE
    10. Protocols and ports: Pilih Specified protocols and ports
    11. Pilih TCP, lalu masukkan 80 untuk nomor port.
    12. Klik Buat.

gcloud

  1. Buat aturan fw-allow-health-check-and-proxy untuk mengizinkan pemeriksaan health check Trusted Cloud mencapai instance backend di port TCP 80:

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80
    
  2. Buat aturan firewall fw-allow-ssh untuk mengizinkan konektivitas SSH ke VM dengan tag jaringan allow-ssh. Jika Anda menghapus source-ranges, Trusted Cloud akan menafsirkan aturan sebagai sumber apa pun.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  3. Buat aturan firewall izinkan masuk untuk subnet khusus proxy agar load balancer dapat berkomunikasi dengan instance backend di port TCP 80:

    gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-proxy-only-subnet \
        --source-ranges=PROXY_ONLY_SUBNET_RANGE \
        --rules=tcp:80
    

Menyiapkan NEG zona

Untuk backend berbasis Trusted Cloud, sebaiknya konfigurasi beberapa NEG zonal di region yang sama dengan tempat Anda mengonfigurasi konektivitas hibrida.

Untuk contoh ini, kita menyiapkan NEG zonal (dengan endpoint jenis GCE_VM_IP_PORT) di region REGION. Pertama, buat VM di zona GCP_NEG_ZONE. Kemudian buat NEG zona di GCP_NEG_ZONE yang sama dan tambahkan endpoint jaringan VM ke NEG.

Membuat VM

Konsol

  1. Buka halaman VM instances di konsol Trusted Cloud .
    Buka VM instances
  2. Klik Create instance.
  3. Tetapkan Name ke vm-a1.
  4. Untuk Region, pilih REGION, dan pilih Zone mana pun. Hal ini akan disebut sebagai GCP_NEG_ZONE dalam prosedur ini.
  5. Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.
  6. Klik Advanced options, lalu lakukan perubahan berikut:

    • Klik Jaringan dan tambahkan Tag jaringan berikut: allow-ssh,allow-health-check, dan allow-proxy-only-subnet.
    • Klik Edit di bagian Network interfaces, lakukan perubahan berikut, lalu klik Selesai:
      • Jaringan: NETWORK
      • Subnet: LB_SUBNET_NAME
      • Primary internal IP: Efemeral (otomatis)
      • IP Eksternal: Sementara
    • Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk keempat VM:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
  7. Klik Buat.

  8. Ulangi langkah-langkah berikut untuk membuat VM kedua, menggunakan kombinasi nama dan zona berikut:

    • Nama: vm-a2, zona: GCP_NEG_ZONE

gcloud

Buat VM dengan menjalankan perintah berikut dua kali, menggunakan kombinasi ini untuk nama VM dan zonanya. Isi skrip sama untuk kedua VM.

  • VM_NAME dari vm-a1 dan zona GCP_NEG_ZONE pilihan Anda
  • VM_NAME dari vm-a2 dan zona GCP_NEG_ZONE yang sama

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \
        --subnet=LB_SUBNET_NAME \
        --metadata=startup-script='#! /bin/bash
          apt-get update
          apt-get install apache2 -y
          a2ensite default-ssl
          a2enmod ssl
          vm_hostname="$(curl -H "Metadata-Flavor:Google" \
          http://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

Buat NEG zona

Konsol

Untuk membuat grup endpoint jaringan zonal:

  1. Buka halaman Network Endpoint Groups di konsol Trusted Cloud .
    Buka halaman Network Endpoint Groups
  2. Klik Create network endpoint group.
  3. Masukkan Nama untuk NEG zonal. Disebut sebagai GCP_NEG_NAME dalam prosedur ini.
  4. Pilih Network endpoint group type: Network endpoint group (Zonal).
  5. Pilih Jaringan: NETWORK
  6. Pilih Subnet: LB_SUBNET_NAME
  7. Pilih Zona: GCP_NEG_ZONE
  8. Masukkan Default port: 80.
  9. Klik Buat.

Tambahkan endpoint ke NEG zona:

  1. Buka halaman Network Endpoint Groups di konsol Trusted Cloud .
    Buka Network endpoint groups
  2. Klik Nama grup endpoint jaringan yang dibuat pada langkah sebelumnya (GCP_NEG_NAME). Anda akan melihat halaman Network endpoint group details.
  3. Di bagian Network endpoints in this group, klik Add network endpoint. Anda akan melihat halaman Tambahkan endpoint jaringan.
  4. Pilih instance VM untuk menambahkan alamat IP internalnya sebagai endpoint jaringan. Di bagian Network interface, nama, zona, dan subnet VM ditampilkan.
  5. Di kolom Alamat IPv4, masukkan alamat IPv4 endpoint jaringan baru.
  6. Pilih Jenis port.
    1. Jika Anda memilih Default, endpoint akan menggunakan port default 80 untuk semua endpoint dalam grup endpoint jaringan. Hal ini sudah cukup untuk contoh kita karena server Apache melayani permintaan di port 80.
    2. Jika Anda memilih Custom, masukkan Port number untuk endpoint yang akan digunakan.
  7. Untuk menambahkan lebih banyak endpoint, klik Tambahkan endpoint jaringan dan ulangi langkah-langkah sebelumnya.
  8. Setelah Anda menambahkan semua endpoint, klik Buat.

gcloud

  1. Buat NEG zona (dengan endpoint GCE_VM_IP_PORT) menggunakan perintah gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create GCP_NEG_NAME \
        --network-endpoint-type=GCE_VM_IP_PORT \
        --zone=GCP_NEG_ZONE \
        --network=NETWORK \
        --subnet=LB_SUBNET_NAME
    

    Anda dapat menentukan --default-port saat membuat NEG, atau menentukan nomor port untuk setiap endpoint seperti yang ditunjukkan pada langkah berikutnya.

  2. Tambahkan endpoint ke GCP_NEG_NAME.

    gcloud compute network-endpoint-groups update GCP_NEG_NAME \
        --zone=GCP_NEG_ZONE \
        --add-endpoint='instance=vm-a1,port=80' \
        --add-endpoint='instance=vm-a2,port=80'
    

Menyiapkan NEG dengan konektivitas hybrid

Saat membuat NEG, gunakan ZONE yang meminimalkan jarak geografis antara Trusted Cloud dan lingkungan lokal atau cloud lainnya. Misalnya, jika Anda menghosting layanan di lingkungan lokal di Frankfurt, Jerman, Anda dapat menentukan zona europe-west3-a Trusted Cloud saat membuat NEG.

Selain itu, jika Anda menggunakan Cloud Interconnect, ZONE yang digunakan untuk membuat NEG harus berada di region yang sama dengan tempat lampiran Cloud Interconnect dikonfigurasi.

Untuk mengetahui region dan zona yang tersedia, lihat dokumentasi Compute Engine: Region dan zona yang tersedia.

Konsol

Untuk membuat grup endpoint jaringan konektivitas hybrid:

  1. Buka halaman Network Endpoint Groups di konsol Trusted Cloud .
    Buka Network endpoint groups
  2. Klik Create network endpoint group.
  3. Masukkan Nama untuk NEG hybrid. Disebut sebagai ON_PREM_NEG_NAME dalam prosedur ini.
  4. Pilih Network endpoint group type: Hybrid connectivity network endpoint group (Zonal).
  5. Pilih Jaringan: NETWORK
  6. Pilih Subnet: LB_SUBNET_NAME
  7. Pilih Zona: ON_PREM_NEG_ZONE
  8. Masukkan Port default.
  9. Klik Buat

Tambahkan endpoint ke NEG dengan konektivitas hybrid:

  1. Buka halaman Network Endpoint Groups di konsol Trusted Cloud .
    Buka halaman Network Endpoint Groups
  2. Klik Name grup endpoint jaringan yang dibuat pada langkah sebelumnya (ON_PREM_NEG_NAME). Anda akan melihat halaman Network endpoint group detail.
  3. Di bagian Network endpoints in this group, klik Add network endpoint. Anda akan melihat halaman Tambahkan endpoint jaringan.
  4. Masukkan alamat IP endpoint jaringan baru.
  5. Pilih Jenis port.
    1. Jika Anda memilih Default, endpoint akan menggunakan port default untuk semua endpoint dalam grup endpoint jaringan.
    2. Jika memilih Kustom, Anda dapat memasukkan Nomor port yang berbeda untuk digunakan endpoint.
  6. Untuk menambahkan lebih banyak endpoint, klik Tambahkan endpoint jaringan dan ulangi langkah-langkah sebelumnya.
  7. Setelah Anda menambahkan semua endpoint non-Trusted Cloud , klik Buat.

gcloud

  1. Buat NEG konektivitas hibrida menggunakan perintah gcloud compute network-endpoint-groups create.

    gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \
        --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
        --zone=ON_PREM_NEG_ZONE \
        --network=NETWORK
    
  2. Tambahkan endpoint VM backend lokal ke ON_PREM_NEG_NAME:

    gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \
        --zone=ON_PREM_NEG_ZONE \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \
        --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
    

Anda dapat menggunakan perintah ini untuk menambahkan endpoint jaringan yang sebelumnya Anda konfigurasi di infrastruktur lokal atau di lingkungan cloud Anda. Ulangi --add-endpoint sebanyak yang diperlukan.

Anda dapat mengulangi langkah-langkah ini untuk membuat beberapa NEG hibrida jika diperlukan.

Mengonfigurasi load balancer

Konsol

gcloud

  1. Buat health check untuk backend.
       gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
           --region=REGION \
           --use-serving-port
       
    Pemeriksaan health check untuk backend NEG hybrid berasal dari proxy Envoy di subnet khusus proxy, sedangkan pemeriksaan untuk backend NEG zona berasal dari [rentang IP pemeriksaan pusat Google](/load-balancing/docs/health-check-concepts#ip-ranges).
  2. Buat layanan backend untuk backend berbasis Trusted Cloud. Anda menambahkan NEG zonal dan NEG konektivitas hybrid sebagai backend ke layanan backend ini.
      gcloud compute backend-services create BACKEND_SERVICE \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --protocol=HTTP \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --health-checks-region=REGION \
          --region=REGION
      
  3. Tambahkan NEG zona sebagai backend ke layanan backend.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=GCP_NEG_NAME \
        --network-endpoint-group-zone=GCP_NEG_ZONE
    
    Untuk mengetahui detail tentang cara mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parameter --max-rate-per-endpoint.
  4. Tambahkan NEG hibrida sebagai backend ke layanan backend.
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --region=REGION \
        --balancing-mode=RATE \
        --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \
        --network-endpoint-group=ON_PREM_NEG_NAME \
        --network-endpoint-group-zone=ON_PREM_NEG_ZONE
    
    Untuk mengetahui detail tentang cara mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parameter --max-rate-per-endpoint.
  5. Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend:
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service BACKEND_SERVICE \
        --region=REGION
    
  6. Opsional: Lakukan langkah ini jika Anda menggunakan HTTPS antara klien dan load balancer. Hal ini tidak diperlukan untuk load balancer HTTP.

    Anda dapat membuat sertifikat Compute Engine atau Certificate Manager. Gunakan salah satu metode berikut untuk membuat sertifikat menggunakan Pengelola Sertifikat:

    Setelah membuat sertifikat, lampirkan sertifikat langsung ke proxy target.

    Untuk membuat resource sertifikat SSL yang dikelola sendiri Compute Engine:
    gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
        --certificate CRT_FILE_PATH \
        --private-key KEY_FILE_PATH
    
  7. Buat proxy HTTP(S) target untuk mengarahkan permintaan ke peta URL Anda.

    Untuk load balancer HTTP, buat proxy target HTTP:
    gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --url-map=URL_MAP_NAME \
        --url-map-region=REGION \
        --region=REGION
    
    Untuk load balancer HTTPS, buat proxy target HTTPS. Proxy ini merupakan bagian dari load balancer yang menampung sertifikat SSL untuk Load Balancing HTTPS, sehingga Anda juga memuat sertifikat pada langkah ini.
    gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME \
        --url-map-region=REGION \
        --region=REGION
    
  8. Buat aturan penerusan untuk mengarahkan permintaan masuk ke proxy. Jangan gunakan subnet khusus proxy untuk membuat aturan penerusan.

    Untuk load balancer HTTP:
      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --ports=80 \
          --region=REGION \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION
    
    Untuk load balancer HTTPS:
      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=INTERNAL_MANAGED \
          --network=NETWORK \
          --subnet=LB_SUBNET_NAME \
          --address=LB_IP_ADDRESS \
          --ports=443 \
          --region=REGION \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-https-proxy-region=REGION
    

Menghubungkan domain ke load balancer

Setelah load balancer dibuat, catat alamat IP yang terkait dengan load balancer, misalnya, 30.90.80.100. Untuk mengarahkan domain ke load balancer, buat data A menggunakan layanan pendaftaran domain. Jika Anda menambahkan beberapa domain ke sertifikat SSL, Anda harus menambahkan data A untuk setiap domain, yang semuanya mengarah ke alamat IP load balancer. Misalnya, untuk membuat data A bagi www.example.com dan example.com, gunakan string berikut:

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Jika Anda menggunakan Cloud DNS sebagai penyedia DNS, lihat Menambahkan, mengubah, dan menghapus data.

Menguji load balancer

Untuk menguji load balancer, buat VM klien di region yang sama dengan load balancer. Kemudian, kirim traffic dari klien ke load balancer.

Membuat VM klien

Contoh ini membuat VM klien (vm-client) di region yang sama dengan NEG backend. Klien digunakan untuk memvalidasi konfigurasi load balancer dan menunjukkan perilaku yang diharapkan seperti yang dijelaskan di bagian pengujian.

Konsol

  1. Buka halaman VM instances di konsol Trusted Cloud .
    Buka VM instances
  2. Klik Create instance.
  3. Tetapkan Name ke vm-client.
  4. Tetapkan Zone ke CLIENT_VM_ZONE.
  5. Klik Advanced options dan lakukan perubahan berikut:
    • Klik Networking, lalu tambahkan allow-ssh ke Network tags.
    • Klik tombol edit di bagian Network interfaces dan lakukan perubahan berikut, lalu klik Done:
      • Jaringan: NETWORK
      • Subnet: LB_SUBNET_NAME
      • Primary internal IP: Efemeral (otomatis)
      • IP Eksternal: Sementara
  6. 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 CLIENT_VM_ZONE, dan menggunakan subnet yang sama dengan VM backend.

gcloud compute instances create vm-client \
    --zone=CLIENT_VM_ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=LB_SUBNET_NAME

Mengirim traffic ke load balancer

Setelah mengonfigurasi load balancer, Anda dapat mulai mengirimkan traffic ke alamat IP load balancer.

  1. Gunakan SSH untuk terhubung ke instance klien.

    gcloud compute ssh client-vm \
      --zone=CLIENT_VM_ZONE
    
  2. Dapatkan alamat IP load balancer. Gunakan perintah compute addresses describe untuk melihat alamat IP yang dialokasikan:

    gcloud compute addresses describe l7-ilb-ip-address \
      --region=us-west1
    
  3. Verifikasi bahwa load balancer menyalurkan nama host backend seperti yang diharapkan. Ganti IP_ADDRESS dengan alamat IP load balancer.

    Untuk pengujian HTTP, jalankan:

    curl IP_ADDRESS
    

    Untuk pengujian HTTPS, jalankan:

  curl -k -s 'https://DOMAIN_NAME:443' --connect-to DOMAIN_NAME:443:IP_ADDRESS:443
  

Ganti DOMAIN_NAME dengan nama domain aplikasi Anda, misalnya, test.example.com.

Flag -k menyebabkan curl melewati validasi sertifikat.

Pengujian endpoint non-Trusted Cloud bergantung pada layanan yang telah Anda ekspos melalui endpoint NEG hybrid.

Opsi konfigurasi tambahan

Bagian ini memperluas contoh konfigurasi untuk memberikan opsi konfigurasi alternatif dan tambahan. Semua tugas bersifat opsional. Anda dapat melakukannya dalam urutan apa pun.

Memperbarui waktu tunggu keep-alive HTTP klien

Load balancer yang dibuat pada langkah sebelumnya telah dikonfigurasi dengan nilai default untuk waktu tunggu keep-alive HTTP klien.

Untuk memperbarui waktu tunggu keep-alive HTTP klien, gunakan petunjuk berikut.

Konsol

  1. Di konsol Trusted Cloud , buka halaman Load balancing.

    Buka Load balancing.

  2. Klik nama load balancer yang ingin Anda ubah.
  3. Klik Edit.
  4. Klik Frontend configuration.
  5. Luaskan Fitur lanjutan. Untuk HTTP keepalive timeout, masukkan nilai waktu tunggu.
  6. Klik Perbarui.
  7. Untuk meninjau perubahan, klik Tinjau dan selesaikan, lalu klik Perbarui.

gcloud

Untuk load balancer HTTP, perbarui proxy HTTP target menggunakan perintah gcloud compute target-http-proxies update.

      gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
          --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
          --region=REGION
      

Untuk load balancer HTTPS, perbarui proxy HTTPS target menggunakan perintah gcloud compute target-https-proxies update.

      gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
          --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
          --region REGION
      

Ganti kode berikut:

  • TARGET_HTTP_PROXY_NAME: nama proxy HTTP target.
  • TARGET_HTTPS_PROXY_NAME: nama proxy HTTPS target.
  • HTTP_KEEP_ALIVE_TIMEOUT_SEC: nilai waktu tunggu HTTP keep-alive dari 5 hingga 600 detik.

Langkah berikutnya