Menyiapkan Load Balancer Aplikasi eksternal regional dengan konektivitas hybrid

Halaman ini menggambarkan cara men-deploy Load Balancer Aplikasi eksternal regional untuk melakukan load balancing pada traffic ke endpoint jaringan yang ada di infrastruktur lokal atau di cloud publik lainnya, serta dapat dijangkau menggunakan konektivitas hybrid.

Setelah menyelesaikan tugas ini, Anda dapat 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 mencakup penyiapan konektivitas hibrid.

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

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 Konektivitas Jaringan 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-tugas yang dijelaskan dalam panduan ini.
  • Di lingkungan lokal Anda atau lingkungan cloud non-Google Cloud lainnya

    • Izin untuk mengonfigurasi endpoint jaringan yang memungkinkan layanan di lingkungan lokal Anda atau lingkungan cloud lainnya dapat dijangkau dari Google Cloud menggunakan kombinasi IP:Port. Untuk mengetahui informasi selengkapnya, hubungi administrator jaringan lingkungan Anda.
    • Izin untuk membuat aturan firewall di lingkungan lokal Anda atau lingkungan cloud lainnya agar pemeriksaan health check Google dapat mencapai 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 merupakan Pemilik atau Editor project, atau Anda harus memiliki peran IAM Compute Engine berikut.

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

Membangun konektivitas hybrid

Lingkungan Google Cloud dan lingkungan 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 ketersediaan tinggi.

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

Jaringan VPC yang digunakan 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 Anda. Ketika 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 hybrid:

  • Konfigurasi endpoint jaringan untuk mengekspos layanan lokal ke Google Cloud (IP:Port).
  • Konfigurasikan aturan firewall di lingkungan lokal Anda atau lingkungan cloud lainnya.
  • Konfigurasi Cloud Router untuk memberitahukan 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 Anda atau lingkungan cloud lain 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 hybrid yang dibuat di Google Cloud nanti 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 Anda atau lingkungan cloud lainnya:

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

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

  • Rentang subnet khusus proxy region.

Menyiapkan lingkungan Google Cloud

Untuk langkah berikut, pastikan Anda menggunakan jaringan VPC yang sama (disebut NETWORK dalam prosedur ini) yang digunakan untuk mengonfigurasi konektivitas hybrid antar-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.

Mengonfigurasi subnet khusus proxy

Subnet khusus proxy ini digunakan untuk semua Load Balancer Aplikasi eksternal regional di region REGION.

Konsol

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.
    Buka jaringan VPC
  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antar-lingkungan.
  3. Klik Tambahkan subnet.
  4. Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
  5. Pilih Region: REGION.
  6. Tetapkan Destination 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 zona load balancer, frontend, dan alamat IP internal.

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

Cloud Console

  1. Di Konsol Google Cloud, buka halaman jaringan VPC.
    Buka jaringan VPC
  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas hybrid antar-lingkungan.
  3. Di bagian Subnet:
    • Setel Subnet creation mode ke Custom.
    • Di bagian Subnet baru, masukkan informasi berikut:
      • Name: LB_SUBNET_NAME
      • Region: REGION
      • Rentang alamat IP: LB_SUBNET_RANGE
    • Klik Done.
  4. Klik Create.

gcloud

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

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

Mencadangkan alamat IP load balancer

Cadangkan alamat IP eksternal untuk load balancer. Prosedur ini membuat alamat IP load balancer di Paket Standar. Load Balancer Aplikasi eksternal regional mendukung Tingkat Layanan Jaringan Premium dan Standar. Namun, pembuatan load balancer ini di Paket Premium tidak didukung di Konsol Google Cloud. Gunakan gcloud atau REST API sebagai gantinya.

Cloud Console

  1. Di konsol Google Cloud, buka halaman Reserve a static address.

    Buka Cadangkan alamat statis

  2. Masukkan Nama: LB_IP_ADDRESS.

  3. Untuk Tingkat Layanan Jaringan, pilih Standar.

  4. Untuk IP version, pilih IPv4.

  5. Untuk Type, pilih Regional.

  6. Pilih REGION untuk membuat alamat.

  7. Biarkan opsi Attach to ditetapkan ke None. Setelah Anda membuat load balancer, alamat IP ini akan dilampirkan ke aturan penerusan load balancer.

  8. Klik Reserve untuk mereservasi alamat IP.

gcloud

  1. Cadangkan alamat IP eksternal statis regional seperti berikut.

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    
  2. Gunakan perintah compute addresses describe untuk melihat hasilnya:

    gcloud compute addresses describe LB_IP_ADDRESS  \
       --region=REGION
    

Membuat aturan firewall untuk NEG zona

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

  • fw-allow-health-check: Aturan firewall masuk, yang berlaku untuk instance yang sedang di-load balanced, 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. Mengizinkan rentang pemeriksaan health check Google tidak diperlukan untuk NEG campuran. Namun, jika menggunakan kombinasi NEG campuran dan zona dalam satu layanan backend, Anda harus mengizinkan rentang pemeriksaan health check Google untuk NEG zona.
  • fw-allow-proxy-only-subnet: Aturan firewall masuk yang memungkinkan koneksi dari subnet khusus proxy untuk menjangkau backend. Contoh ini menggunakan tag target allow-proxy-only-subnet untuk mengidentifikasi VM backend yang harus diterapkan.

Konsol

  1. Pada konsol Google Cloud, buka halaman Kebijakan Firewall.
    Buka kebijakan Firewall
  2. Klik Create firewall rule untuk membuat aturan guna mengizinkan traffic dari pemeriksaan health check:
    1. Masukkan Nama fw-allow-health-check.
    2. Di bagian Jaringan, pilih NETWORK.
    3. Di bagian Target, pilih Tag target yang ditentukan.
    4. Isi kolom Tag target dengan allow-health-check.
    5. Tetapkan Filter sumber ke rentang IPv4.
    6. Setel Rentang IPv4 sumber 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 Create.
  3. Klik Create firewall rule lagi untuk membuat aturan guna mengizinkan koneksi masuk dari subnet khusus proxy:
    1. Name: fw-allow-ssh
    2. Jaringan: NETWORK
    3. Prioritas: 1000
    4. Arah traffic: masuk
    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 Create.

gcloud

  1. Buat aturan fw-allow-health-check-and-proxy untuk memungkinkan health check Google Cloud mencapai instance backend pada 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 izinkan masuk untuk subnet khusus proxy agar load balancer dapat berkomunikasi dengan instance backend pada 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 Google Cloud, sebaiknya konfigurasikan beberapa NEG zona di region yang sama tempat Anda mengonfigurasi konektivitas hybrid.

Untuk contoh ini, kami menyiapkan NEG zona (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, lalu pilih Zone mana pun. Tindakan ini akan disebut sebagai GCP_NEG_ZONE dalam prosedur ini.
  5. Di bagian Boot disk, pastikan sistem operasi Debian dan versi 10 (buster) dipilih untuk opsi boot disk. Klik Choose untuk mengubah gambar jika perlu.
  6. Klik Advanced options dan buat perubahan berikut:

    • Klik Networking, lalu tambahkan Tag jaringan berikut: allow-ssh,allow-health-check, dan allow-proxy-only-subnet.
    • Klik Edit di bagian Network interfaces dan lakukan perubahan berikut, lalu klik Done:
      • Jaringan: NETWORK
      • Subnet: LB_SUBNET_NAME
    • Klik Management. Di kolom Startup script, salin dan tempel konten skrip berikut. Konten 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 Create.

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

  • VM_NAME dari vm-a1 dan GCP_NEG_ZONE zona 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-10 \
        --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'
    

Membuat NEG zona

Konsol

Untuk membuat grup endpoint jaringan zona:

  1. Buka halaman Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka halaman Grup Endpoint Jaringan
  2. Klik Create network endpoint group.
  3. Masukkan Nama untuk NEG zona. 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 Zone: GCP_NEG_ZONE
  8. Masukkan Port default: 80.
  9. Klik Create.

Tambahkan endpoint ke NEG zona:

  1. Buka halaman Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka Grup endpoint jaringan
  2. Klik Nama grup endpoint jaringan yang dibuat pada langkah sebelumnya (GCP_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Network endpoint in this group, klik Add network endpoint. Anda akan melihat halaman Add network endpoint.
  4. Pilih instance VM untuk menambahkan alamat IP internalnya sebagai endpoint jaringan. Di bagian Network interface, nama, zona, dan subnet VM ditampilkan.
  5. Masukkan Alamat IP endpoint jaringan baru.
  6. Pilih Port type.
    1. Jika Anda memilih Default, endpoint akan menggunakan port default 80 untuk semua endpoint dalam grup endpoint jaringan. Ini sudah memadai untuk contoh kita karena server Apache menayangkan permintaan pada port 80.
    2. Jika Anda memilih Custom, masukkan Nomor port untuk endpoint yang akan digunakan.
  7. Untuk menambahkan endpoint lainnya, klik Tambahkan endpoint jaringan dan ulangi 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 di langkah ini, 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 konektivitas hybrid

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

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

Untuk 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 Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka Grup endpoint jaringan
  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 connection network endpoint group (Zonal).
  5. Pilih Jaringan: NETWORK
  6. Pilih Subnet: LB_SUBNET_NAME
  7. Pilih Zone: ON_PREM_NEG_ZONE
  8. Masukkan Port default.
  9. Klik Buat

Tambahkan endpoint ke NEG konektivitas campuran:

  1. Buka halaman Grup Endpoint Jaringan di Konsol Google Cloud.
    Buka halaman Grup Endpoint Jaringan
  2. Klik Nama grup endpoint jaringan yang dibuat pada langkah sebelumnya (ON_PREM_NEG_NAME). Anda akan melihat halaman Detail grup endpoint jaringan.
  3. Di bagian Network endpoint in this group, klik Add network endpoint. Anda akan melihat halaman Add network endpoint.
  4. Masukkan Alamat IP endpoint jaringan baru.
  5. Pilih Port type.
    1. Jika Anda memilih Default, endpoint akan menggunakan port default untuk semua endpoint dalam grup endpoint jaringan.
    2. Jika memilih Custom, Anda dapat memasukkan Nomor port yang berbeda untuk digunakan oleh endpoint.
  6. Untuk menambahkan endpoint lainnya, klik Tambahkan endpoint jaringan dan ulangi langkah sebelumnya.
  7. Setelah menambahkan semua endpoint non-Google Cloud, klik Create.

gcloud

  1. Buat NEG konektivitas hybrid 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 campuran 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. Anda dapat menambahkan NEG zona dan NEG konektivitas hybrid sebagai backend ke layanan backend ini.
      gcloud compute backend-services create BACKEND_SERVICE \
          --load-balancing-scheme=EXTERNAL_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 cara mengonfigurasi mode balancing, baca dokumentasi gcloud CLI untuk parameter --max-rate-per-endpoint.
  4. Tambahkan NEG hybrid 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 cara mengonfigurasi mode balancing, baca 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. Langkah 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 Certificate Manager:

    • Sertifikat regional yang dikelola sendiri. Untuk mengetahui informasi tentang cara membuat dan menggunakan sertifikat yang dikelola sendiri secara regional, lihat men-deploy sertifikat yang dikelola sendiri secara regional. Peta sertifikat tidak didukung.

    • Sertifikat regional yang dikelola Google. Peta sertifikat tidak didukung.

      Jenis sertifikat regional yang dikelola Google berikut didukung oleh Certificate Manager:

    • Setelah Anda membuat sertifikat, lampirkan sertifikat tersebut langsung ke proxy target.

      Untuk membuat resource sertifikat SSL Compute Engine yang dikelola sendiri:
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Buat proxy HTTP(S) target untuk merutekan 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 adalah bagian dari load balancer yang menyimpan 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
      
    • 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=EXTERNAL_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=EXTERNAL_MANAGED \
            --network=NETWORK \
            --subnet=LB_SUBNET_NAME \
            --address=LB_IP_ADDRESS \
            --ports=443 \
            --region=REGION \
            --target-http-proxy=TARGET_HTTPS_PROXY_NAME \
            --target-http-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

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

  1. Buka halaman Load balancing di Konsol Google Cloud.
    Buka Load balancing
  2. Klik load balancer yang baru saja dibuat.
  3. Catat alamat IP load balancer internal.
  4. Mengirim 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 ditampilkan melalui endpoint.

      curl -k https://IP_ADDRESS
      

      Jika tidak berhasil dan Anda menggunakan sertifikat yang dikelola Google, konfirmasikan bahwa status resource sertifikat Anda AKTIF. Untuk mengetahui 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.

Langkah selanjutnya