Menyiapkan Load Balancer Jaringan proxy eksternal global (proxy TCP) dengan backend grup instance VM

Load Balancer Jaringan proxy eksternal global Google Cloud memungkinkan Anda menggunakan satu alamat IP untuk semua pengguna di seluruh dunia. Load Balancer Jaringan proxy eksternal global otomatis merutekan traffic ke instance backend yang paling dekat dengan pengguna.

Halaman ini berisi petunjuk untuk menyiapkan Load Balancer Jaringan proxy eksternal global dengan proxy TCP target dan backend grup instance VM. Sebelum memulai, baca Ringkasan Load Balancer Jaringan proxy eksternal untuk mengetahui informasi mendetail tentang cara kerja load balancer ini.

Ringkasan penyiapan

Contoh ini menunjukkan cara menyiapkan Load Balancer Jaringan proxy eksternal untuk layanan yang ada di dua region: Region A dan Region B. Untuk tujuan contoh, layanan ini adalah kumpulan server Apache yang dikonfigurasi untuk merespons di port 110. Banyak browser tidak mengizinkan port 110, sehingga bagian pengujian menggunakan curl.

Dalam contoh ini, Anda akan mengonfigurasi hal berikut:

  1. Empat instance yang didistribusikan di antara dua region
  2. Grup instance, yang berisi instance
  3. Health check untuk memverifikasi kondisi instance
  4. Layanan backend, yang memantau instance dan mencegahnya melampaui penggunaan yang telah dikonfigurasi
  5. Proxy TCP target
  6. Alamat IPv4 statis eksternal dan aturan penerusan yang mengirim traffic pengguna ke proxy
  7. Alamat IPv6 statis eksternal dan aturan penerusan yang mengirim traffic pengguna ke proxy
  8. Aturan firewall yang memungkinkan traffic dari load balancer dan health checker menjangkau instance

Setelah load balancer dikonfigurasi, Anda akan menguji konfigurasi tersebut.

Izin

Untuk mengikuti panduan ini, Anda harus dapat membuat instance dan mengubah jaringan dalam project. Anda harus menjadi pemilik atau editor project, atau Anda harus memiliki semua peran IAM Compute Engine berikut:

Tugas Peran yang Diperlukan
Membuat komponen jaringan, subnet, dan load balancer Admin Jaringan
Menambahkan dan menghapus aturan firewall Security Admin
Membuat instance Compute Instance Admin

Untuk informasi selengkapnya, lihat panduan berikut:

Mengonfigurasi jaringan dan subnet

Untuk membuat contoh jaringan dan subnet, ikuti langkah-langkah berikut.

Konsol

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

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

    Buka VPC networks

  2. Klik Create VPC network.

  3. Masukkan Name untuk jaringan.

  4. 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.

  5. Untuk Subnet creation mode, pilih Custom.

  6. Di bagian New subnet, konfigurasikan kolom berikut:

    1. Di kolom Name, berikan nama untuk subnet.
    2. Di kolom Region, pilih region.
    3. Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
    4. Di kolom IP address range, masukkan rentang alamat IP. Ini adalah rentang IPv4 utama untuk subnet.

      Meskipun Anda dapat mengonfigurasi rentang alamat IPv4 untuk subnet, Anda tidak dapat memilih rentang alamat IPv6 untuk subnet. Google menyediakan blok CIDR IPv6 dengan ukuran tetap (/64).

    5. Untuk IPv6 access type, pilih External.

  7. Klik Done.

  8. Untuk menambahkan subnet di region yang berbeda, klik Add subnet dan ulangi langkah-langkah sebelumnya.

  9. Klik Create.

Untuk hanya mendukung traffic IPv4, gunakan langkah-langkah berikut:

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

    Buka VPC networks

  2. Klik Create VPC network.

  3. Di kolom Name, masukkan nama untuk jaringan.

  4. Untuk Subnet creation mode, pilih Custom.

  5. Di bagian New subnet, konfigurasikan hal berikut:

    1. Di kolom Name, berikan nama untuk subnet.
    2. Di kolom Region, pilih region.
    3. Untuk Jenis stack IP, pilih IPv4 (single-stack).
    4. Di kolom Rentang alamat IP, masukkan rentang IPv4 utama untuk subnet.
  6. Klik Done.

  7. Untuk menambahkan subnet di region yang berbeda, klik Add subnet dan ulangi langkah-langkah sebelumnya.

  8. Klik Create.

gcloud

  1. Buat jaringan VPC mode kustom:

    gcloud compute networks create NETWORK \
        [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
        --switch-to-custom-subnet-mode
    
  2. Dalam jaringan, buat subnet untuk backend.

    Untuk traffic IPv4 dan IPv6, gunakan perintah berikut untuk memperbarui subnet:

    gcloud compute networks subnets create SUBNET \
       --stack-type=IPV4_IPv6 \
       --ipv6-access-type=EXTERNAL \
       --network=NETWORK \
       --region=REGION_A
    
    gcloud compute networks subnets create SUBNET_B \
       --stack-type=IPV4_IPv6 \
       --ipv6-access-type=EXTERNAL \
       --network=NETWORK \
       --region=REGION_B
    

    Untuk traffic IPv4 saja, gunakan perintah berikut:

    gcloud compute networks subnets create SUBNET \
       --network=NETWORK \
       --stack-type=IPV4_ONLY \
       --range=10.1.2.0/24 \
       --region=REGION_A
    
    gcloud compute networks subnets create SUBNET_B \
       --stack-type=IPV4_ONLY \
       --ipv6-access-type=EXTERNAL \
       --network=NETWORK \
       --region=REGION_B
    

Ganti kode berikut:

  • NETWORK: nama untuk jaringan VPC

  • 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

  • SUBNET: nama untuk subnet

  • REGION_A atau REGION_B: nama wilayah

Mengonfigurasi backend grup instance

Bagian ini menunjukkan cara membuat grup instance dasar, menambahkan instance ke grup tersebut, lalu menambahkan instance tersebut ke layanan backend dengan health check. Sistem produksi biasanya menggunakan grup instance terkelola berdasarkan template instance, tetapi konfigurasi ini lebih cepat untuk pengujian awal.

Mengonfigurasi instance

Untuk tujuan pengujian, instal Apache di empat instance, dua di setiap dua grup instance. Biasanya, Load Balancer Jaringan proxy eksternal tidak digunakan untuk traffic HTTP, tetapi software Apache biasanya digunakan untuk pengujian.

Dalam contoh ini, instance dibuat dengan tag tcp-lb. Tag ini digunakan nanti oleh aturan firewall.

Konsol

Membuat instance

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

    Buka instance VM

  2. Klik Create instance.

  3. Setel Nama ke vm-a1.

  4. Tetapkan Wilayah ke REGION_A.

  5. Tetapkan Zona ke ZONE_A.

  6. Klik Advanced options.

  7. Klik Networking dan konfigurasikan kolom berikut:

    • Untuk Network tags, masukkan tcp-lb,allow-health-check-ipv6.

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

    1. Di bagian Network interfaces, klik Edit, lalu lakukan perubahan berikut:
      • Jaringan: NETWORK
      • Subnet: SUBNET
      • IP stack type: IPv4 and IPv6 (dual-stack)
    2. Klik Done
  8. Klik Management. Masukkan skrip berikut ke dalam kolom Skrip startup.

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
  9. Klik Create.

  10. Buat vm-a2 dengan setelan yang sama, kecuali dengan skrip berikut di kolom Startup script:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html

  11. Buat vm-b1 dengan setelan yang sama, kecuali dengan Region ditetapkan ke REGION_B dan Zone ditetapkan ke ZONE_B. Masukkan skrip berikut di kolom Startup script:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html

  12. Buat vm-b2 dengan setelan yang sama, kecuali dengan Region ditetapkan ke REGION_B dan Zone ditetapkan ke ZONE_B. Masukkan skrip berikut di kolom Startup script:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html

gcloud

  1. Membuat vm-a1 di zona ZONE_A

    gcloud compute instances create vm-a1 \
       --image-family debian-12 \
       --image-project debian-cloud \
       --tags tcp-lb \
       --zone ZONE_A \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | tee /var/www/html/index.html
         EOF"
    
  2. Membuat vm-a2 di zona ZONE_A

    gcloud compute instances create vm-a2 \
       --image-family debian-12 \
       --image-project debian-cloud \
       --tags tcp-lb \
       --zone ZONE_A \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | tee /var/www/html/index.html
         EOF"
    
  3. Membuat vm-b1 di zona ZONE_B

    gcloud compute instances create vm-b1 \
       --image-family debian-12 \
       --image-project debian-cloud \
       --tags tcp-lb \
       --zone ZONE_B \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | tee /var/www/html/index.html
         EOF"
    
  4. Membuat vm-b2 di zona ZONE_B

    gcloud compute instances create vm-b2 \
       --image-family debian-12 \
       --image-project debian-cloud \
       --tags tcp-lb \
       --zone ZONE_B \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo sed -i '/Listen 80/c\Listen 110' /etc/apache2/ports.conf
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | tee /var/www/html/index.html
         EOF"
    

Membuat grup instance

Di bagian ini, Anda akan membuat grup instance di setiap zona dan menambahkan instance.

Konsol

  1. Di Konsol Google Cloud, buka halaman Instance groups.

    Buka Instance groups

  2. Klik Create instance group.

  3. Klik New unmanaged instance group.

  4. Tetapkan Name ke instance-group-a.

  5. Tetapkan Zona ke ZONE_A.

  6. Di bagian Pemetaan port, klik Tambahkan port. Load balancer mengirimkan traffic ke grup instance melalui port bernama. Buat port bernama untuk memetakan traffic masuk ke nomor port tertentu.

    1. Tetapkan Nama port ke tcp110.
    2. Setel Transfer nomor ke 110.
  7. Di bagian VM instances, pilih vm-a1 dan vm-a2.

  8. Biarkan setelan lainnya sebagaimana adanya.

  9. Klik Create.

  10. Ulangi langkah-langkahnya, tetapi tetapkan nilai berikut:

    • Nama: instance-group-b
    • Region: REGION_B
    • Zona: ZONE_B
    • Nama port: tcp110
    • Nomor port: 110
    • Instance: vm-b1 dan vm-b2.

gcloud

  1. Buat grup instance instance-group-a.

    gcloud compute instance-groups unmanaged create instance-group-a \
       --zone ZONE_A
    
  2. Buat port bernama untuk grup instance.

    gcloud compute instance-groups set-named-ports instance-group-a \
       --named-ports tcp110:110 \
       --zone ZONE_A
    
  3. Menambahkan vm-a1 dan vm-a2 ke instance-group-a.

    gcloud compute instance-groups unmanaged add-instances instance-group-a \
       --instances vm-a1,vm-a2 \
       --zone ZONE_A
    
  4. Buat grup instance us-ig2.

    gcloud compute instance-groups unmanaged create instance-group-b \
       --zone ZONE_B
    
  5. Buat port bernama untuk grup instance.

    gcloud compute instance-groups set-named-ports instance-group-b \
       --named-ports tcp110:110 \
       --zone ZONE_B
    
  6. Tambahkan vm-b1 dan vm-b2 ke instance-group-b

    gcloud compute instance-groups unmanaged add-instances instance-group-b \
       --instances vm-b1,vm-b2 \
       --zone ZONE_B
    

Sekarang Anda memiliki satu grup instance per region. Setiap grup instance memiliki dua instance VM.

Membuat aturan firewall untuk Load Balancer Jaringan proxy eksternal

Konfigurasikan firewall untuk mengizinkan traffic dari load balancer dan health checker ke instance. Dalam hal ini, kita akan membuka port TCP 110. Pemeriksaan kesehatan akan menggunakan port yang sama. Karena traffic antara load balancer dan instance Anda menggunakan IPv4, hanya rentang IPv4 yang perlu dibuka.

Konsol

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

    Buka Firewall policies

  2. Klik Create firewall rule.

  3. Di kolom Name, masukkan allow-tcp-lb-and-health.

  4. Pilih jaringan.

  5. Di bagian Target, pilih Tag target yang ditentukan.

  6. Setel Target tags ke tcp-lb.

  7. Tetapkan Source filter ke IPv4 ranges.

  8. Tetapkan Source IPv4 ranges ke 130.211.0.0/22,35.191.0.0/16.

  9. Di bagian Protocols and ports, tetapkan Specified protocols and ports ke tcp:110.

  10. Klik Create.

gcloud

gcloud compute firewall-rules create allow-tcp-lb-and-health \
   --source-ranges 130.211.0.0/22,35.191.0.0/16 \
   --target-tags tcp-lb \
   --allow tcp:110

Membuat aturan firewall health check IPv6

Pastikan Anda memiliki aturan ingress yang berlaku untuk instance yang di-load balance dan mengizinkan traffic dari sistem health check Google Cloud (2600:2d00:1:b029::/64). Contoh ini menggunakan tag target allow-health-check-ipv6 untuk mengidentifikasi instance VM tempat aturan tersebut berlaku.

Tanpa aturan firewall ini, aturan tolak ingress default akan memblokir traffic IPv6 masuk ke instance backend.

Konsol

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

    Buka Kebijakan firewall

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

    • Nama: fw-allow-lb-access-ipv6
    • Pilih jaringan.
    • Prioritas: 1000
    • Direction of traffic: ingress
    • Targets: Tag target yang ditentukan
    • Tag target: allow-health-check-ipv6
    • Filter sumber: Rentang IPv6
    • Rentang IPv6 sumber: 2600:2d00:1:b029::/64,2600:2d00:1:1::/64
    • Protocols and ports: Allow all
  3. Klik Create.

gcloud

Buat aturan firewall fw-allow-lb-access-ipv6 untuk mengizinkan komunikasi dengan subnet:

gcloud compute firewall-rules create fw-allow-lb-access-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=all

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 Public facing (external), lalu klik Next.
  6. Untuk Global or single region deployment, pilih Best for global workloads, lalu klik Next.
  7. Untuk Load balancer generation, pilih Global external proxy Network Load Balancer, lalu klik Next.
  8. Klik Konfigurasikan.

Konfigurasi dasar

Tetapkan Name ke my-tcp-lb.

Konfigurasi backend

  1. Klik Backend configuration.
  2. Di bagian Backend type, pilih Instance groups.
  3. Di bagian Protocol, pilih TCP.
  4. Dalam daftar Kebijakan pemilihan alamat IP, pilih Pilih IPv6.
  5. Konfigurasikan backend pertama:
    1. Di bagian New backend, pilih instance group instance-group-a.
    2. Pertahankan nilai default yang tersisa.
  6. Konfigurasikan backend kedua:

      Untuk mendukung traffic IPv4 dan IPv6:

      • Untuk IP stack type, pilih IPv4 and IPv6 (dual-stack).
    1. Klik Add backend.
    2. Pilih grup instance instance-group-b.
    3. Di bagian Nomor port, hapus 80 dan tambahkan 110.
  7. Konfigurasikan health check:
    1. Di bagian Health check, pilih Create health check.
    2. Tetapkan Name health check ke my-tcp-health-check.
    3. Di bagian Protocol, pilih TCP.
    4. Tetapkan Port ke 110.
    5. Pertahankan nilai default yang tersisa.
    6. Klik Simpan dan lanjutkan.
  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. Tambahkan aturan penerusan pertama:
    1. Masukkan Nama my-tcp-lb-forwarding-rule.
    2. Di bagian Protocol, pilih TCP.
    3. Di bagian IP address, pilih Create IP address:
      1. Masukkan Nama tcp-lb-static-ip.
      2. Klik Reserve.
    4. Tetapkan Port ke 110.
    5. Dalam contoh ini, jangan aktifkan Proxy Protocol karena tidak berfungsi dengan software Apache HTTP Server. Untuk informasi selengkapnya, lihat Protokol proxy.
    6. Klik Done.
  3. Di konsol Google Cloud, pastikan ada tanda centang di samping Frontend configuration. Jika tidak, periksa kembali apakah Anda telah menyelesaikan semua langkah sebelumnya.

Tinjau dan selesaikan

  1. Klik Review and finalize.
  2. Tinjau setelan konfigurasi load balancer Anda.
  3. Opsional: Klik Equivalent code untuk melihat permintaan REST API yang akan digunakan untuk membuat load balancer.
  4. Klik Create.

gcloud

  1. Membuat health check.
        gcloud compute health-checks create tcp my-tcp-health-check --port 110
        
  2. Buat layanan backend.
        gcloud beta compute backend-services create my-tcp-lb \
            --load-balancing-scheme EXTERNAL_MANAGED \
            --global-health-checks \
            --global \
            --protocol TCP \
            --ip-address-selection-policy=PREFER_IPV6 \
            --health-checks my-tcp-health-check \
            --timeout 5m \
            --port-name tcp110
        

    Atau, Anda dapat mengonfigurasi komunikasi terenkripsi dari load balancer ke instance dengan --protocol SSL.

  3. Tambahkan grup instance ke layanan backend Anda.

        gcloud beta compute backend-services add-backend my-tcp-lb \
            --global \
            --instance-group instance-group-a \
            --instance-group-zone ZONE_A \
            --balancing-mode UTILIZATION \
            --max-utilization 0.8
        
        gcloud beta compute backend-services add-backend my-tcp-lb \
            --global \
            --instance-group instance-group-b \
            --instance-group-zone ZONE_B \
            --balancing-mode UTILIZATION \
            --max-utilization 0.8
        
  4. Mengonfigurasi proxy TCP target. Jika Anda ingin mengaktifkan header proxy, tetapkan ke PROXY_V1, bukan NONE.
        gcloud beta compute target-tcp-proxies create my-tcp-lb-target-proxy \
            --backend-service my-tcp-lb \
            --proxy-header NONE
        
  5. Mencadangkan alamat IPv4 dan IPv6 statis global.

    Pelanggan Anda dapat menggunakan alamat IP ini untuk menjangkau layanan load balance Anda.

        gcloud compute addresses create tcp-lb-static-ipv4 \
            --ip-version=IPV4 \
            --global
        
        gcloud compute addresses create tcp-lb-static-ipv6 \
            --ip-version=IPV6 \
            --global
        
  6. Konfigurasikan aturan penerusan global untuk kedua alamat tersebut.
        gcloud beta compute forwarding-rules create my-tcp-lb-ipv4-forwarding-rule \
            --load-balancing-scheme EXTERNAL_MANAGED \
            --global \
            --target-tcp-proxy my-tcp-lb-target-proxy \
            --address tcp-lb-static-ipv4 \
            --ports 110
        

Menguji load balancer

  1. Dapatkan alamat IP load balancer.

    Untuk mendapatkan alamat IPv4, jalankan perintah berikut:

    gcloud compute addresses describe tcp-lb-static-ipv4
    

    Untuk mendapatkan alamat IPv6, jalankan perintah berikut:

    gcloud compute addresses describe tcp-lb-static-ipv6
    
  2. Kirim traffic ke load balancer dengan menjalankan perintah berikut. Ganti LB_IP_ADDRESS dengan alamat IPv4 atau IPv6 load balancer Anda.

    curl -m1 LB_IP_ADDRESS:110
    

    Misalnya, jika alamat IPv6 yang ditetapkan adalah [2001:db8:1:1:1:1:1:1/96]:110, perintahnya akan terlihat seperti:

    curl -m1 http://[2001:db8:1:1:1:1:1:1]:110
    

Jika Anda tidak dapat menjangkau load balancer, coba langkah-langkah yang dijelaskan di bagian Memecahkan masalah penyiapan.

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.

Protokol PROXY untuk mempertahankan informasi koneksi klien

Network Load Balancer proxy mengakhiri koneksi TCP dari klien dan membuat koneksi baru ke instance. Secara default, informasi port dan IP klien asli tidak dipertahankan.

Untuk mempertahankan dan mengirim informasi koneksi asli ke instance Anda, aktifkan protokol PROXY versi 1. Protokol ini mengirim header tambahan yang berisi alamat IP sumber, alamat IP tujuan, dan nomor port ke instance sebagai bagian dari permintaan.

Pastikan instance backend Load Balancer Jaringan proxy menjalankan server yang mendukung header protokol PROXY. Jika server tidak dikonfigurasi untuk mendukung header protokol PROXY, instance backend akan menampilkan respons kosong.

Jika menetapkan protokol PROXY untuk traffic pengguna, Anda juga dapat menetapkannya untuk pemeriksaan kesehatan. Jika Anda memeriksa status dan menayangkan konten di port yang sama, tetapkan --proxy-header health check agar cocok dengan setelan load balancer Anda.

Header protokol PROXY biasanya berupa satu baris teks yang dapat dibaca pengguna dalam format berikut:

PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n

Contoh berikut menunjukkan protokol PROXY:

PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n

Dalam contoh sebelumnya, IP klien adalah 192.0.2.1, IP load balancing adalah 198.51.100.1, port klien adalah 15221, dan port tujuan adalah 110.

Jika IP klien tidak diketahui, load balancer akan membuat header protokol PROXY dalam format berikut:

PROXY UNKNOWN\r\n

Memperbarui header protokol PROXY untuk proxy target

Contoh penyiapan load balancer di halaman ini menunjukkan cara mengaktifkan header protokol PROXY saat membuat Load Balancer Jaringan proxy. Gunakan langkah-langkah ini untuk mengubah header protokol PROXY untuk proxy target yang ada.

Konsol

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

    Buka Load balancing

  2. Klik Edit untuk load balancer Anda.
  3. Klik Frontend configuration.
  4. Ubah nilai kolom Proxy protocol menjadi On.
  5. Klik Update untuk menyimpan perubahan.

gcloud

Dalam perintah berikut, edit kolom --proxy-header dan tetapkan ke NONE atau PROXY_V1, bergantung pada persyaratan Anda.

gcloud compute target-tcp-proxies update TARGET_PROXY_NAME \
    --proxy-header=[NONE | PROXY_V1]

Mengonfigurasi afinitas sesi

Contoh konfigurasi membuat layanan backend tanpa afinitas sesi.

Prosedur ini menunjukkan cara mengupdate layanan backend untuk contoh load balancer sehingga layanan backend menggunakan afinitas IP klien atau afinitas cookie yang dihasilkan.

Jika afinitas IP klien diaktifkan, load balancer akan mengarahkan permintaan klien tertentu ke VM backend yang sama berdasarkan hash yang dibuat dari alamat IP klien dan alamat IP load balancer (alamat IP eksternal dari aturan penerusan eksternal).

Konsol

Untuk mengaktifkan afinitas sesi IP klien:

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

    Buka Load balancing

  2. Klik Backend.

  3. Klik my-tcp-lb (nama layanan backend yang Anda buat untuk contoh ini), lalu klik Edit.

  4. Di halaman Detail layanan backend, klik Konfigurasi lanjutan.

  5. Di bagian Afinitas sesi, pilih IP Klien dari menu.

  6. Klik Perbarui.

gcloud

Gunakan perintah Google Cloud CLI berikut untuk mengupdate layanan backend my-tcp-lb, yang menentukan afinitas sesi IP klien:

gcloud compute backend-services update my-tcp-lb \
    --global \
    --session-affinity=CLIENT_IP

API

Untuk menetapkan afinitas sesi IP klien, buat permintaan PATCH ke metode backendServices/patch.

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-tcp-lb
{
  "sessionAffinity": "CLIENT_IP"
}

Mengaktifkan pengosongan koneksi

Anda dapat mengaktifkan pengosongan koneksi di layanan backend untuk memastikan gangguan minimum kepada pengguna saat instance yang menayangkan traffic dihentikan, dihapus secara manual, atau dihapus oleh pengoptimal ukuran. Untuk mempelajari lebih lanjut pengosongan koneksi, baca dokumentasi Mengaktifkan pengosongan koneksi.

Langkah selanjutnya