Menyiapkan Load Balancer Jaringan proxy internal regional dengan konektivitas hybrid

Load Balancer Jaringan proxy internal regional adalah load balancer Lapis 4 regional berbasis proxy yang memungkinkan Anda menjalankan dan menskalakan traffic layanan TCP di balik alamat IP internal yang hanya dapat diakses oleh klien di jaringan Virtual Private Cloud (VPC) yang sama atau klien yang terhubung ke jaringan VPC Anda. Jika ingin menyediakan layanan untuk klien di jaringan VPC lain, Anda dapat menggunakan Private Service Connect untuk memublikasikan layanan.

Halaman ini menjelaskan cara mengonfigurasi Load Balancer Jaringan proxy internal regional untuk melakukan load balancing traffic ke backend di infrastruktur lokal atau di lingkungan cloud lain yang terhubung menggunakan konektivitas hybrid. Mengonfigurasi konektivitas hybrid untuk menghubungkan jaringan Anda ke Google Cloud tidak termasuk dalam cakupan halaman ini.

Ringkasan

Dalam contoh ini, kita akan menggunakan load balancer untuk mendistribusikan traffic TCP di seluruh VM backend yang berada di lokasi lokal atau di lingkungan cloud lainnya.

Dalam contoh ini, Anda akan mengonfigurasi deployment berikut:

Contoh konfigurasi Load Balancer Jaringan proxy internal regional dengan backend NEG hybrid.
Contoh konfigurasi Load Balancer Jaringan proxy internal regional dengan backend NEG campuran (klik untuk memperbesar).

Load Balancer Jaringan proxy internal regional adalah load balancer regional. Semua komponen load balancer (grup instance backend, layanan backend, proxy target, dan aturan penerusan) harus berada di region yang sama.

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 traffic masuk di lingkungan lokal atau cloud lainnya untuk mengizinkan traffic dari subnet khusus proxy wilayah untuk menjangkau endpoint.
  • Mencantumkan rentang pemeriksaan health check Google dalam daftar yang diizinkan tidak diperlukan untuk NEG hibrida. Namun, jika Anda menggunakan kombinasi NEG campuran dan zonal dalam satu layanan backend, Anda harus mengizinkan rentang probe pemeriksaan kesehatan Google untuk NEG zonal.

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

  • Rentang subnet khusus proxy region.

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. Anda dapat memilih subnet apa pun dari jaringan ini untuk mencadangkan alamat IP load balancer dan membuat load balancer. Subnet ini disebut sebagai LB_SUBNET dalam prosedur ini.

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 menyediakan kumpulan alamat IP yang digunakan Google untuk menjalankan proxy Envoy atas nama Anda. Proxy menghentikan koneksi dari klien dan membuat koneksi baru ke backend.

Subnet khusus proxy digunakan oleh semua load balancer regional berbasis Envoy di region REGION pada jaringan VPC NETWORK.

Hanya boleh ada satu subnet khusus proxy yang aktif per region, per jaringan VPC. Anda dapat melewati langkah ini jika sudah ada subnet khusus proxy di region ini.

Konsol

Jika menggunakan konsol Google Cloud, Anda dapat menunggu dan membuat subnet khusus proxy nanti di halaman Load balancing.

Jika Anda ingin membuat subnet khusus proxy sekarang, gunakan langkah-langkah berikut:

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

    Buka jaringan VPC

  2. Buka jaringan yang digunakan untuk mengonfigurasi konektivitas campuran antar-lingkungan.

  3. Klik Tambahkan subnet.

  4. Masukkan Nama: PROXY_ONLY_SUBNET_NAME.

  5. Pilih Region: REGION.

  6. Tetapkan Tujuan ke Proxy yang Dikelola Berdasarkan Wilayah.

  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

Mencadangkan alamat IP load balancer

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

Untuk mencadangkan alamat IPv4 internal statis bagi load balancer, lihat Mencadangkan alamat IPv4 atau IPv6 internal statis yang baru.

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, ZONE yang digunakan untuk membuat NEG harus berada di region yang sama dengan tempat tunnel Cloud VPN atau lampiran VLAN Cloud Interconnect dikonfigurasi untuk konektivitas hybrid.

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

Konsol

Untuk membuat NEG dengan konektivitas hybrid:

  1. Di Konsol Google Cloud, buka halaman Network endpoint groups.

    Buka Network endpoint groups

  2. Klik Create network endpoint group.

  3. Masukkan Nama untuk NEG campuran. Disebut sebagai HYBRID_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

  7. Pilih Zona: HYBRID_NEG_ZONE

  8. Masukkan Port default.

  9. Klik Buat

Tambahkan endpoint ke NEG konektivitas hybrid:

  1. Di Konsol Google Cloud, buka halaman Network endpoint groups.

    Buka Network endpoint groups

  2. Klik Nama grup endpoint jaringan yang dibuat di langkah sebelumnya (HYBRID_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 HYBRID_NEG_NAME \
       --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
       --zone=HYBRID_NEG_ZONE \
       --network=NETWORK
    
  2. Tambahkan endpoint IP:Port on-premise ke NEG hybrid:

    gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \
        --zone=HYBRID_NEG_ZONE \
        --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
    

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

Memulai konfigurasi

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

    Buka Load balancing

  2. Klik Create load balancer.
  3. Untuk Type of load balancer, pilih Network Load Balancer (TCP/UDP/SSL), lalu klik Next.
  4. Untuk Proxy or passthrough, pilih Proxy load balancer, lalu klik Next.
  5. Untuk Public facing or internal, pilih Internal, lalu klik Next.
  6. Untuk Cross-region atau single region deployment, pilih Best for regional workloads, lalu klik Next.
  7. Klik Konfigurasikan.

Konfigurasi dasar

  1. Masukkan Nama untuk load balancer.
  2. Pilih Region: REGION.
  3. Pilih Jaringan: NETWORK.

Mereservasi subnet khusus proxy

Untuk memesan subnet khusus proxy:

  1. Klik Reserve subnet.
  2. Masukkan Nama: PROXY_ONLY_SUBNET_NAME.
  3. Masukkan rentang alamat IP: PROXY_ONLY_SUBNET_RANGE.
  4. Klik Tambahkan.

Konfigurasi backend

  1. Klik Backend configuration.
  2. Untuk Backend type, pilih Hybrid connectivity network endpoint group (Zonal).
  3. Untuk Protocol, pilih TCP.
  4. Di bagian New backend, pilih NEG campuran yang dibuat sebelumnya: HYBRID_NEG_NAME. Atau, Anda dapat mengklik Create a network endpoint group untuk membuat NEG hybrid sekarang. Untuk panduan tentang cara mengonfigurasi NEG, lihat Menyiapkan NEG hibrida.
  5. Pertahankan nilai default yang tersisa, lalu klik Done.
  6. Konfigurasikan health check:
    1. Di bagian Health check, pilih Create a health check.
    2. Masukkan Nama untuk health check.
    3. Untuk Protocol, pilih TCP.
    4. Untuk Port, masukkan 80.
  7. Pertahankan nilai default yang tersisa, lalu klik Save.
  8. Di konsol Google Cloud, pastikan ada tanda centang di samping Backend configuration. Jika belum, periksa kembali apakah Anda telah menyelesaikan semua langkah.

Konfigurasi frontend

  1. Klik Frontend configuration.
  2. Masukkan Nama untuk aturan penerusan.
  3. Untuk Subnetwork, pilih LB_SUBNET.
  4. Untuk Alamat IP, pilih LB_IP_ADDRESS.
  5. Untuk Nomor port, masukkan nomor port dari 1-65535. Aturan penerusan hanya meneruskan paket dengan port tujuan yang cocok.
  6. Aktifkan Protokol Proxy hanya jika berfungsi dengan layanan yang berjalan di endpoint cloud lokal atau cloud lainnya. Misalnya, protokol PROXY tidak berfungsi dengan software Apache HTTP Server. Untuk informasi selengkapnya, lihat Protokol proxy.
  7. Klik Done.
  8. Di konsol Google Cloud, pastikan ada tanda centang di samping Frontend configuration. Jika belum, periksa kembali apakah Anda telah menyelesaikan semua langkah sebelumnya.

Tinjau dan selesaikan

  1. Klik Review and finalize.
  2. Periksa kembali setelan Anda.
  3. Klik Create.

gcloud

  1. Buat health check regional untuk backend.

    gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    

    Pemeriksaan health check untuk backend NEG campuran berasal dari proxy Envoy di subnet khusus proxy.

  2. Buat layanan backend.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=TCP \
       --region=REGION \
       --health-checks=TCP_HEALTH_CHECK_NAME \
       --health-checks-region=REGION
    
  3. Tambahkan backend NEG campuran ke layanan backend.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
       --network-endpoint-group=HYBRID_NEG_NAME \
       --network-endpoint-group-zone=HYBRID_NEG_ZONE \
       --region=REGION \
       --balancing-mode=CONNECTION \
       --max-connections=MAX_CONNECTIONS
    

    Untuk MAX_CONNECTIONS, masukkan koneksi serentak maksimum yang harus ditangani backend.

  4. Buat proxy TCP target.

    gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \
       --backend-service=BACKEND_SERVICE_NAME \
       --region=REGION
    
  5. Membuat aturan penerusan.

    Buat aturan penerusan menggunakan perintah gcloud compute forwarding-rules create.

    Ganti FWD_RULE_PORT dengan satu nomor port dari 1-65535. Aturan penerusan hanya meneruskan paket dengan port tujuan yang cocok.

    gcloud compute forwarding-rules create FORWARDING_RULE \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --network=NETWORK \
       --subnet=LB_SUBNET \
       --address=LB_IP_ADDRESS \
       --ports=FWD_RULE_PORT \
       --region=REGION \
       --target-tcp-proxy=TARGET_TCP_PROXY_NAME \
       --target-tcp-proxy-region=REGION
    

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

Buat VM klien (client-vm) di region yang sama dengan load balancer.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik Create instance.

  3. Setel Nama ke client-vm.

  4. Setel Zona ke CLIENT_VM_ZONE.

  5. Klik Advanced options.

  6. Klik Networking dan konfigurasikan kolom berikut:

    1. Untuk Network tags, masukkan allow-ssh.
    2. Untuk Network interfaces, pilih dari daftar berikut:
      • Jaringan: NETWORK
      • Subnet: LB_SUBNET
  7. Klik Create.

gcloud

VM klien harus berada di jaringan dan region VPC yang sama dengan load balancer. Subnet atau zona tidak harus sama. Klien menggunakan subnet yang sama dengan VM backend.

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

Mengizinkan traffic SSH ke VM pengujian

Dalam contoh ini, Anda membuat aturan firewall berikut:

  • fw-allow-ssh: Aturan ingress yang mengizinkan 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 klien pengujian tempat tag tersebut harus diterapkan.

Konsol

  1. Di Konsol Google Cloud, buka halaman Firewall policies. Buka Kebijakan firewall
  2. Klik Create firewall rule untuk membuat aturan yang mengizinkan koneksi SSH yang masuk:
    1. Nama: fw-allow-ssh
    2. Jaringan: NETWORK
    3. Prioritas: 1000
    4. Direction of traffic: masuk
    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, lalu masukkan tcp:22.
    11. Klik Create.

gcloud

  1. Buat aturan firewall fw-allow-ssh untuk mengizinkan konektivitas SSH ke VM dengan tag jaringan allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=NETWORK \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

Mengirim traffic ke load balancer

Setelah mengonfigurasi load balancer, Anda dapat menguji pengiriman traffic ke alamat IP load balancer.

  1. Hubungkan melalui SSH ke instance klien.

    gcloud compute ssh client-vm \
      --zone=CLIENT_VM_ZONE
    
  2. Verifikasi bahwa load balancer menayangkan nama host backend seperti yang diharapkan.

    1. Gunakan perintah compute addresses describe untuk melihat alamat IP load balancer:

      gcloud compute addresses describe LB_IP_ADDRESS \
        --region=REGION
      

      Catat alamat IP-nya.

    2. Kirim traffic ke load balancer di alamat IP dan port yang ditentukan saat membuat aturan penerusan load balancer. Pengujian apakah backend NEG campuran merespons permintaan bergantung pada layanan yang berjalan di endpoint non-Google Cloud.

Opsional: Memublikasikan layanan menggunakan Private Service Connect

Load Balancer Jaringan proxy internal regional dengan konektivitas hybrid memungkinkan Anda membuat layanan yang dihosting di lingkungan cloud lokal atau cloud lainnya tersedia untuk klien di jaringan VPC Anda.

Jika ingin menyediakan layanan hybrid di jaringan VPC lain, Anda dapat menggunakan Private Service Connect untuk memublikasikan layanan. Dengan menempatkan lampiran layanan di depan Load Balancer Jaringan proxy internal regional, Anda dapat mengizinkan klien di jaringan VPC lain menjangkau layanan hybrid yang berjalan di lingkungan lokal atau cloud lainnya.

Menggunakan Private Service Connect untuk memublikasikan layanan hybrid.
Menggunakan Private Service Connect untuk memublikasikan layanan hybrid (klik untuk memperbesar).

Langkah selanjutnya