Menyiapkan Load Balancer Aplikasi eksternal global dengan konektivitas hybrid

Halaman ini mengilustrasikan cara men-deploy Load Balancer Aplikasi eksternal global untuk melakukan load balancing traffic ke endpoint jaringan yang berada di lokal atau di cloud publik lainnya dan dapat dijangkau melalui konektivitas hybrid.

Setelah menyelesaikan tugas ini, Anda dapat secara opsional mempelajari cara mengaktifkan layanan tambahan (seperti Cloud CDN dan Google Cloud Armor) serta fitur pengelolaan traffic lanjutan.

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 contoh deployment berikut:

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

Anda harus mengonfigurasi konektivitas hybrid sebelum mencoba menyiapkan deployment load balancing hybrid. Dokumen ini tidak menyertakan penyiapan konektivitas hibrid.

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

Izin

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

  • Di Google Cloud

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

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

Selain itu, untuk menyelesaikan petunjuk di halaman ini, Anda perlu membuat NEG konektivitas hybrid, load balancer, dan NEG zona (serta endpoint-nya) untuk berfungsi sebagai backend berbasis Google Cloud untuk load balancer.

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

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

Membuat konektivitas hybrid

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

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

Jaringan VPC yang Anda gunakan untuk mengonfigurasi Cloud Interconnect atau Cloud VPN adalah jaringan yang sama dengan yang Anda gunakan untuk mengonfigurasi deployment load balancing hybrid. Pastikan rentang CIDR subnet jaringan VPC Anda tidak bertentangan dengan rentang CIDR jarak jauh. Jika alamat IP tumpang-tindih, rute subnet akan diprioritaskan daripada konektivitas jarak jauh.

Untuk mengetahui petunjuknya, lihat dokumentasi berikut:

Menyiapkan lingkungan Anda yang berada di luar Google Cloud

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

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

Menyiapkan endpoint jaringan

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

Jika ada beberapa jalur ke endpoint IP, pemilihan rute akan mengikuti perilaku yang dijelaskan dalam ringkasan Cloud Router.

Menyiapkan aturan firewall

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

  • Buat aturan firewall izinkan masuk untuk mengizinkan traffic dari pemeriksaan health check Google ke endpoint Anda. Rentang alamat IP sumber yang diizinkan adalah 35.191.0.0/16 dan 130.211.0.0/22. Untuk mengetahui informasi selengkapnya, lihat Memeriksa aturan firewall dan rentang IP.

Konfigurasikan Cloud Router untuk mengumumkan rentang IP kustom berikut ke lingkungan lokal atau lingkungan cloud lainnya:

  • Rentang yang digunakan oleh pemeriksaan health check Google: 35.191.0.0/16 dan 130.211.0.0/22.

Menyiapkan lingkungan Google Cloud

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

Membuat subnet untuk backend

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

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

Konsol

Untuk mendukung traffic IPv4 dan IPv6, gunakan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka jaringan VPC

  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.

    • Klik Edit.
    • Untuk Subnet creation mode, pilih Custom.
    • Klik Simpan.
  3. Opsional: Jika Anda ingin mengonfigurasi rentang alamat IPv6 internal pada subnet di jaringan ini, selesaikan langkah-langkah berikut:

    1. Untuk VPC network ULA internal IPv6 range, pilih Enabled.
    2. Untuk Allocate internal IPv6 range, Pilih Automatically atau Manually.

      Jika Anda memilih Manually, masukkan rentang /48 dari dalam rentang fd20::/20. Jika rentang tersebut sedang digunakan, Anda akan diminta untuk memberikan rentang yang berbeda.

  4. Di tab Subnets, klik Add subnet.

  5. Di panel Tambahkan subnet, konfigurasikan kolom berikut:

    1. Di kolom Name, berikan nama untuk subnet.
    2. Di kolom Region, pilih region.
    3. Di kolom IP address range, masukkan rentang alamat IP.
    4. Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
    5. Untuk kolom IPv6 access type, pilih External.
    6. Klik Tambahkan.

Untuk mendukung traffic IPv4, gunakan langkah-langkah berikut:

  1. Di konsol Google Cloud, buka halaman jaringan VPC.

    Buka jaringan VPC

  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid di antara lingkungan.

    • Klik Edit.
    • Untuk Subnet creation mode, pilih Custom.
    • Klik Simpan.
  3. Di tab Subnets, klik Add subnet.

  4. Di panel Tambahkan subnet, masukkan informasi berikut:

    • Di kolom Name, berikan nama untuk subnet.
    • Di kolom Region, pilih region.
    • Di kolom IP address range, masukkan rentang alamat IP.
    • Untuk kolom IP stack type, pilih IPv4 (single-stack).
    • Klik Tambahkan.

gcloud

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

Untuk traffic IPv4 dan IPv6, gunakan perintah berikut:

gcloud compute networks update NETWORK \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \
    --network=NETWORK \
    --range=LB_SUBNET_RANGE \
    --region=REGION \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=EXTERNAL

Untuk traffic IPv4, gunakan perintah berikut:

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

Ganti kode berikut:

  • NETWORK: nama untuk jaringan VPC.

  • LB_SUBNET_NAME: nama untuk subnet.

  • REGION: nama region.

  • ULA_IPV6_RANGE: awalan /48 dari dalam rentang fd20::/20 yang digunakan oleh Google untuk rentang subnet IPv6 internal. Jika Anda tidak menggunakan flag --internal-ipv6-range, Google akan memilih awalan /48 untuk jaringan tersebut.

Buat aturan firewall

Dalam contoh ini, Anda membuat aturan firewall berikut:

  • fw-allow-health-check: Aturan ingress, yang berlaku untuk instance Google Cloud yang di-load balance, yang mengizinkan traffic dari load balancer dan sistem health check Google 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.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies.

    Buka Kebijakan firewall

  2. Klik Create firewall rule:

    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. Centang kotak di samping TCP dan ketik 80 untuk nomor port.
  3. Klik Create.

  4. Untuk mengizinkan traffic subnet IPv6, klik Create firewall rule lagi dan masukkan informasi berikut:

    1. Nama: fw-allow-lb-access-ipv6
    2. Jaringan: NETWORK
    3. Prioritas: 1000
    4. Direction of traffic: ingress
    5. Targets: Tag target yang ditentukan
    6. Kolom Target tags, masukkan allow-health-check-ipv6
    7. Filter sumber: Rentang IPv6
    8. Rentang IPv6 sumber: 2600:2d00:1:b029::/64,2600:2d00:1:1::/64
    9. Protocols and ports: Allow all
  5. Klik Create.

gcloud

  1. Buat aturan fw-allow-health-check-and-proxy untuk mengizinkan load balancer dan health check Google Cloud berkomunikasi dengan instance backend di port TCP 80.

    Ganti NETWORK dengan nama jaringan VPC yang digunakan untuk mengonfigurasi konektivitas hybrid.

    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 fw-allow-health-check-ipv6 untuk mengizinkan health check IPv6 Google Cloud.

    gcloud compute firewall-rules create fw-allow-health-check-ipv6 \
       --network=NETWORK \
       --action=allow \
       --direction=ingress \
       --target-tags=allow-health-check-ipv6 \
       --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \
       --rules=tcp,udp,icmp
    

Menyiapkan NEG zona

Untuk backend berbasis Google Cloud, sebaiknya konfigurasikan beberapa NEG zonaonal di region yang sama dengan tempat Anda mengonfigurasi konektivitas hibrida.

NEG zona dengan satu atau beberapa endpoint jenis GCE_VM_IP_PORT mendukung dual-stack.

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 Google Cloud.
    Buka instance VM

  2. Klik Create instance.

  3. Tetapkan Name ke vm-a1.

  4. Untuk Region, pilih REGION.

  5. Untuk Zone, pilih GCP_NEG_ZONE.

  6. Di bagian Boot disk, pastikan Debian GNU/Linux 12 (bookworm) dipilih untuk opsi boot disk. Klik Pilih untuk mengubah gambar jika perlu.

  7. Klik Advanced options, lalu buat perubahan berikut:

    • Klik Networking dan tambahkan Network tags berikut: allow-health-check.
    • Klik Edit di bagian Network interfaces, lalu buat perubahan berikut, lalu klik Done:
      • Jaringan: NETWORK
      • Subnet: LB_SUBNET_NAME
      • IP stack type: IPv4 and IPv6 (dual-stack)
    • Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Isi skrip identik untuk empat 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
      
  8. Klik Create.

  9. 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. Konten skrip identik untuk kedua VM.

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

    Untuk mendukung traffic IPv4 dan IPv6, jalankan perintah berikut:

    gcloud compute instances create VM_NAME \
        --zone=GCP_NEG_ZONE \
        --image-family=debian-10 \
        --image-project=debian-cloud \
        --tags=allow-health-check,allow-health-check-ipv6 \
        --ipv6-network-tier=PREMIUM \
        --stack-type=IPv4_IPv6 \
        --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'
    

Membuat NEG zona

Konsol

Untuk membuat grup endpoint jaringan zonal:

  1. Buka halaman Network Endpoint Groups di konsol Google 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 Network: NETWORK
  6. Pilih Subnet: LB_SUBNET_NAME
  7. Pilih Zona: GCP_NEG_ZONE
  8. Masukkan Port default: 80.
  9. Klik Create.

Tambahkan endpoint ke NEG zona:

  1. Buka halaman Network Endpoint Groups di konsol Google Cloud.
    Buka Network endpoint groups
  2. Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (GCP_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. 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 akan ditampilkan.
  5. Di kolom IPv4 address, masukkan alamat IPv4 endpoint jaringan baru.
  6. Di kolom IPv6 address, masukkan alamat IPv6 endpoint jaringan baru.
  7. Pilih Jenis port.
    1. Jika Anda memilih Default, endpoint akan menggunakan port default 80 untuk semua endpoint dalam grup endpoint jaringan. Hal ini cukup untuk contoh kita karena server Apache melayani permintaan di port 80.
    2. Jika Anda memilih Kustom, masukkan Nomor port untuk endpoint yang akan digunakan.
  8. Untuk menambahkan endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
  9. Setelah Anda menambahkan semua endpoint, klik Buat.

gcloud

  1. Buat NEG zonal (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 stack ganda ke GCP_NEG_NAME.

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

Menyiapkan NEG konektivitas hybrid

Saat membuat NEG, gunakan ZONE yang meminimalkan jarak geografis antara Google Cloud dan lingkungan cloud lokal atau lingkungan cloud lainnya. Misalnya, jika Anda menghosting layanan di lingkungan lokal di Frankfurt, Jerman, Anda dapat menentukan zona Google Cloud europe-west3-a 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 VLAN Cloud Interconnect konektivitas hybrid 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 Google Cloud.
    Buka Network endpoint groups
  2. Klik Create network endpoint group.
  3. Masukkan Nama untuk NEG campuran. 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 konektivitas hybrid:

  1. Buka halaman Network Endpoint Groups di konsol Google Cloud.
    Buka halaman Network Endpoint Groups
  2. Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (ON_PREM_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Endpoint jaringan dalam grup ini, klik Tambahkan endpoint jaringan. 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 endpoint lainnya, klik Add network endpoint dan ulangi langkah-langkah sebelumnya.
  7. Setelah Anda menambahkan semua endpoint non-Google Cloud, klik Buat.

gcloud

  1. Buat NEG konektivitas campuran 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 ke on-prem-neg:

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

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

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

Mengonfigurasi load balancer

Konsol

gcloud

  1. Buat alamat IP eksternal statis global yang akan digunakan klien eksternal untuk mengirim traffic.
      gcloud compute addresses create LB_IP_ADDRESS_NAME \
          --network-tier=PREMIUM \
          --global
      
  2. Buat health check untuk backend.
      gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
          --use-serving-port
      
  3. Buat layanan backend. Anda menambahkan NEG zona dan NEG konektivitas hybrid sebagai backend ke layanan backend ini.
  4.   gcloud beta compute backend-services create BACKEND_SERVICE \
          --health-checks=HTTP_HEALTH_CHECK_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --ip-address-selection-policy=PREFER_IPV6 \
          --global
      
  5. Tambahkan NEG zona sebagai backend ke layanan backend:
      gcloud beta compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --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 mengonfigurasi mode penyeimbangan, lihat dokumentasi gcloud CLI untuk parameter --max-rate-per-endpoint.
  6. Tambahkan NEG campuran sebagai backend ke layanan backend:
      gcloud compute backend-services add-backend BACKEND_SERVICE \
          --global \
          --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
      
  7. Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend.
      gcloud beta compute url-maps create URL_MAP_NAME \
          --default-service BACKEND_SERVICE
      
  8. Lakukan langkah ini hanya jika Anda ingin membuat load balancer HTTPS. Hal ini tidak diperlukan untuk load balancer HTTP.
    Untuk membuat load balancer HTTPS, Anda harus memiliki resource sertifikat SSL untuk digunakan di proxy target HTTPS. Anda dapat membuat resource sertifikat SSL menggunakan sertifikat SSL yang dikelola Google atau sertifikat SSL yang dikelola sendiri. Sebaiknya gunakan sertifikat yang dikelola Google karena Google Cloud memperoleh, mengelola, dan memperpanjang sertifikat ini secara otomatis.

    Untuk membuat sertifikat yang dikelola Google, Anda harus memiliki domain. Jika tidak memiliki domain, Anda dapat menggunakan sertifikat SSL yang ditandatangani sendiri untuk pengujian.

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

    Untuk load balancer HTTP, buat proxy target HTTP:
    gcloud beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --url-map=URL_MAP_NAME
    
    Untuk load balancer HTTPS, buat proxy target HTTPS. Proxy ini merupakan bagian dari load balancer yang menyimpan sertifikat SSL untuk Load Balancing HTTPS, sehingga Anda juga memuat sertifikat pada langkah ini.
    gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME
    

    Ganti kode berikut:

    • TARGET_HTTP_PROXY_NAME: nama proxy HTTP target.
    • TARGET_HTTPS_PROXY_NAME: nama proxy HTTPS target.
    • HTTP_KEEP_ALIVE_TIMEOUT_SEC: kolom opsional yang digunakan untuk menentukan waktu tunggu keepalive HTTP klien. Nilai waktu tunggu harus antara 5 hingga 1.200 detik. Nilai default-nya adalah 610 detik.
    • SSL_CERTIFICATE_NAME: nama sertifikat SSL.
    • URL_MAP_NAME: nama peta URL.
  10. Buat aturan penerusan untuk mengarahkan permintaan masuk ke proxy.

    Untuk load balancer HTTP:
    gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-http-proxy=TARGET_HTTP_PROXY_NAME \
        --global \
        --ports=80
    
    Untuk load balancer HTTPS:
    gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --network-tier=PREMIUM \
        --address=LB_IP_ADDRESS_NAME \
        --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
        --global \
        --ports=443
    

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

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

  1. Buka halaman Load balancing di Konsol Google Cloud.
    Buka halaman Load balancing

  2. Klik load balancer yang baru saja dibuat.

  3. Catat alamat IP load balancer internal.

  4. Kirim traffic ke load balancer.

    • Jika membuat load balancer HTTP, Anda dapat menguji load balancer menggunakan browser web dengan membuka http://IP_ADDRESS. Ganti IP_ADDRESS dengan alamat IP load balancer. Anda akan diarahkan ke layanan yang telah diekspos melalui endpoint.

    • Jika membuat load balancer HTTPS, Anda dapat menguji load balancer menggunakan curl sebagai berikut. Ganti IP_ADDRESS dengan alamat IP load balancer. Anda akan diarahkan ke layanan yang telah Anda ekspos melalui endpoint.

      curl -k https://IP_ADDRESS
      

      Jika tidak berhasil dan Anda menggunakan sertifikat yang dikelola Google, confirmasikan bahwa status resource sertifikat Anda AKTIF. Untuk informasi selengkapnya, lihat Status resource sertifikat SSL yang dikelola Google. Kemudian, uji domain yang mengarah ke alamat IP load balancer. Misalnya:

      curl -s https://test.example.com
      
  5. Pengujian endpoint non-Google Cloud bergantung pada layanan yang telah Anda ekspos melalui endpoint NEG hybrid.

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 keepalive HTTP klien

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

Untuk memperbarui waktu tunggu keepalive HTTP klien, gunakan petunjuk berikut.

Konsol

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

    Buka Load balancing.

  2. Klik nama load balancer yang ingin diubah.
  3. Klik Edit.
  4. Klik Frontend configuration.
  5. Luaskan Fitur lanjutan. Untuk Timeout keepalive HTTP, 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 \
        --global
    

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

    gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
        --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
        --global
    

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 keepalive HTTP dari 5 hingga 600 detik.

Langkah selanjutnya