Menyiapkan Load Balancer Jaringan proxy klasik (proxy SSL) dengan backend grup instance VM

Dokumen ini berisi petunjuk untuk menyiapkan Load Balancer Jaringan proxy klasik dengan proxy SSL target dan backend grup instance VM. Sebelum memulai, baca Ringkasan Load Balancer Jaringan proxy eksternal untuk mengetahui informasi 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: us-central1 dan us-east1. Anda akan mengonfigurasi hal berikut:

  1. Empat instance yang tersebar di dua region
  2. Grup instance untuk menyimpan instance
  3. Komponen backend, yang mencakup hal berikut:
    • Health check - digunakan untuk memantau kondisi instance
    • Layanan backend - memantau grup instance dan mencegahnya agar tidak melampaui penggunaan yang telah dikonfigurasikan
    • Backend - menampung grup instance
  4. Komponen frontend, yang meliputi:
    • Resource sertifikat SSL. Anda dapat menggunakan sertifikat yang dikelola sendiri dengan sertifikat SSL yang Anda berikan sendiri, atau sertifikat yang dikelola Google. Di sini, Google akan menerbitkan sertifikat yang valid untuk semua domain Anda. Untuk mengetahui informasi selengkapnya, lihat Jenis sertifikat SSL.
    • Proxy SSL itu sendiri beserta sertifikat SSL-nya
    • Alamat IPv4 statis eksternal dan aturan penerusan yang mengirimkan traffic pengguna ke proxy
    • Alamat IPv6 statis eksternal dan aturan penerusan yang mengirimkan traffic pengguna ke proxy
  5. Aturan firewall yang mengizinkan traffic dari load balancer dan health checker ke instance.
  6. Secara opsional, kebijakan SSL untuk mengontrol fitur SSL yang dinegosiasikan oleh load balancer proxy SSL Anda dengan klien.

Setelah itu, Anda akan menguji konfigurasi.

Izin

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

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

Untuk informasi selengkapnya, lihat panduan berikut:

Mengonfigurasi instance dan grup instance

Bagian ini menunjukkan cara membuat instance dan grup instance, lalu menambahkan instance tersebut ke grup instance. Sistem produksi biasanya akan menggunakan grup instance terkelola berdasarkan template instance, tetapi penyiapan ini lebih cepat untuk pengujian awal.

Membuat instance

Untuk tujuan pengujian, instal Apache pada empat instance, dua di masing-masing dari dua grup instance. Biasanya, Anda tidak akan menggunakan Load Balancer Jaringan proxy eksternal untuk traffic HTTP, tetapi Apache umumnya digunakan dan mudah disiapkan untuk pengujian.

Buat instance ini dengan tag ssl-lb, yang akan digunakan aturan firewall nanti.

Konsol

Membuat instance

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

    Buka instance VM

  2. Klik Create instance.

  3. Setel Nama ke ig-us-central1-1.

  4. Set Zona ke us-central1-b.

  5. Klik Advanced options.

  6. Klik Networking dan konfigurasikan kolom berikut:

    1. Untuk Tag jaringan, masukkan ssl-lb.
  7. Klik Management. Masukkan skrip berikut ke kolom Skrip startup.

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>ig-us-central1-1</h1></body></html>' | sudo tee /var/www/html/index.html
  8. Biarkan nilai default untuk kolom lainnya.

  9. Klik Create.

  10. Buat ig-us-central1-2 dengan setelan yang sama, kecuali dengan Skrip startup yang ditetapkan seperti berikut:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>ig-us-central1-2</h1></body></html>' | sudo tee /var/www/html/index.html
  11. Buat ig-us-east1-1 dengan setelan yang sama, kecuali dengan Zone yang ditetapkan ke us-east1-b dan Startup script yang ditetapkan seperti berikut:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>ig-us-east1-1</h1></body></html>' | sudo tee /var/www/html/index.html
  12. Buat ig-us-east1-2 dengan setelan yang sama, kecuali dengan Zone yang ditetapkan ke us-east1-b dan Startup script yang ditetapkan seperti berikut:

    sudo apt-get update
    sudo apt-get install apache2 -y
    sudo a2ensite default-ssl
    sudo a2enmod ssl
    sudo service apache2 restart
    echo '<!doctype html><html><body><h1>ig-us-east1-2</h1></body></html>' | sudo tee /var/www/html/index.html

gcloud

  1. Buat ig-us-central1-1 di zona us-central1-b.

    gcloud compute instances create ig-us-central1-1 \
       --image-family debian-10 \
       --image-project debian-cloud \
       --tags ssl-lb \
       --zone us-central1-b \
       --metadata startup-script="#! /bin/bash
         sudo apt-get update
         sudo apt-get install apache2 -y
         sudo a2ensite default-ssl
         sudo a2enmod ssl
         sudo service apache2 restart
         echo '<!doctype html><html><body><h1>ig-us-central1-1</h1></body></html>' | sudo tee /var/www/html/index.html
         EOF"
    
  2. Buat ig-us-central1-2 di zona us-central1-b.

    gcloud compute instances create ig-us-central1-2 \
      --image-family=debian-10 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=us-central1-b \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>ig-us-central1-2</h1></body></html>' | sudo tee /var/www/html/index.html
         EOF"
    
  3. Buat ig-us-east1-1 di zona us-east1-b.

    gcloud compute instances create ig-us-east1-1 \
      --image-family=debian-10 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=us-east1-b \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>ig-us-east1-1</h1></body></html>' | sudo tee /var/www/html/index.html
        EOF"
    
  4. Buat ig-us-east1-2 di zona us-east1-b.

    gcloud compute instances create ig-us-east1-2 \
      --image-family=debian-10 \
      --image-project=debian-cloud \
      --tags=ssl-lb \
      --zone=us-east1-b \
      --metadata=startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo a2ensite default-ssl
        sudo a2enmod ssl
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>ig-us-east1-2</h1></body></html>' | sudo tee /var/www/html/index.html
        EOF"
    

Membuat grup instance untuk setiap zona dan menambahkan instance

Konsol

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

    Buka Instance groups

  2. Klik Create grup instance.

  3. Tetapkan Name ke us-ig1.

  4. Setel Zone ke us-central1-b.

  5. 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. Masukkan Nama port ssl-lb dan Nomor port 443.
  6. Di bagian Instance Definition, klik Select existing instances.

  7. Dari VM instances, pilih ig-us-central1-1 dan ig-us-central1-2.

  8. Biarkan setelan lain seperti apa adanya.

  9. Klik Create.

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

    • Name: us-ig2
    • Zona: us-east1-b
    • Nama port dari ssl-lb dan Nomor port 443
    • Instance: ig-us-east1-1 dan ig-us-east1-2.
  11. Pastikan Anda sekarang memiliki dua grup instance, masing-masing dengan dua instance.

gcloud

  1. Buat grup instance us-ig1.

    gcloud compute instance-groups unmanaged create us-ig1 --zone us-central1-b
    
  2. Tetapkan port bernama untuk grup instance.

    gcloud compute instance-groups set-named-ports us-ig1 \
        --named-ports=ssl-lb:443 \
        --zone=us-central1-b
    
  3. Menambahkan ig-us-central1-1 dan ig-us-central1-2 ke us-ig1

    gcloud compute instance-groups unmanaged add-instances us-ig1 \
        --instances=ig-us-central1-1,ig-us-central1-2 \
        --zone=us-central1-b
    
  4. Buat grup instance us-ig2.

    gcloud compute instance-groups unmanaged create us-ig2 --zone us-east1-b
    
  5. Tetapkan port bernama untuk grup instance.

    gcloud compute instance-groups set-named-ports us-ig2 \
        --named-ports=ssl-lb:443 \
        --zone=us-east1-b
    
  6. Menambahkan ig-us-east1-1 dan ig-us-east1-2 ke us-ig2

    gcloud compute instance-groups unmanaged add-instances us-ig2 \
        --instances=ig-us-east1-1,ig-us-east1-2 \
        --zone=us-east1-b
    

Sekarang Anda memiliki grup instance di masing-masing region, dengan dua instance.

Membuat aturan firewall untuk load balancer SSL

Konfigurasikan firewall untuk mengizinkan traffic dari load balancer dan health checker ke instance.

Konsol

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

    Buka Kebijakan firewall

  2. Klik Create firewall rule.

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

  4. Di bagian Network, pilih default.

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

  6. Setel Target tags ke ssl-lb.

  7. Tetapkan Filter sumber ke rentang IPv4.

  8. Setel Rentang IPv4 sumber ke 130.211.0.0/22 dan 35.191.0.0/16.

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

  10. Klik Create.

gcloud

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

Jika Anda menggunakan sertifikat yang dikelola Google, konfirmasi bahwa status resource sertifikat Anda AKTIF. Untuk informasi selengkapnya, lihat Status resource sertifikat SSL yang dikelola Google.

gcloud compute ssl-certificates list

Mengonfigurasi load balancer

Konsol

Memulai konfigurasi Anda

  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 (eksternal), lalu klik Next.
  6. Untuk Global or single region deployment, pilih Best for global Workload, lalu klik Next.
  7. Untuk Load balancer generasi, pilih classic proxy Network Load Balancer, lalu klik Next.
  8. Klik Konfigurasikan.

Konfigurasi dasar

Tetapkan Name ke my-ssl-lb.

Konfigurasi backend

  1. Klik Backend configuration.
  2. Di bagian Backend type, pilih Instance groups.
  3. Tetapkan Protocol ke SSL.
  4. Untuk Port bernama, masukkan ssl-lb.
  5. Terima nilai default untuk Waktu tunggu.
  6. Biarkan Backend type ditetapkan ke Instance groups.
  7. Konfigurasi backend pertama:
    1. Di bagian New backend, pilih grup instance us-ig1.
    2. Setel Transfer nomor ke 443.
    3. Pertahankan nilai default yang tersisa.
  8. Konfigurasi backend kedua:
    1. Klik Add backend.
    2. Pilih grup instance us-ig2.
    3. Setel Transfer nomor ke 443.
    4. Klik Done.
  9. Konfigurasi health check:
    1. Di bagian Health check, pilih Buat health check.
    2. Tetapkan Name health check ke my-ssl-health-check.
    3. Di bagian Protocol, pilih SSL.
    4. Pertahankan nilai default yang tersisa.
    5. Klik Simpan dan lanjutkan.
  10. Di Google Cloud Console, pastikan ada tanda centang di samping Backend configuration. Jika belum, periksa kembali apakah Anda sudah menyelesaikan semua langkah.

Konfigurasi frontend

  1. Klik Frontend configuration.
  2. Tambahkan aturan penerusan pertama:
    1. Masukkan Nama my-ssl-lb-forwarding-rule.
    2. Di bagian Protocol, pilih SSL.
    3. Di bagian Alamat IP, pilih Buat alamat IP:
      1. Masukkan Nama ssl-lb-static-ipv4.
      2. Klik Reserve.
    4. Di bagian Sertifikat, pilih Buat sertifikat baru.
    5. Masukkan Nama my-ssl-cert.
    6. Jika Anda memilih Upload sertifikat saya, selesaikan langkah-langkah berikut:
      1. Tempel sertifikat Anda atau klik Upload untuk membuka file sertifikat.
      2. Tempel kunci pribadi Anda atau klik Upload untuk membuka file kunci pribadi Anda.
    7. Jika Anda memilih Buat sertifikat yang dikelola Google, masukkan Domain.
      1. Untuk memasukkan domain tambahan, klik Tambahkan Domain.
      2. Klik Create.
    8. Untuk menambahkan resource sertifikat selain resource sertifikat SSL utama, klik Additional certificate. Kemudian, pilih sertifikat lain dari menu Certificates, atau klik Create a new certificate dan ikuti petunjuk di atas.
      1. (Opsional) Untuk membuat kebijakan SSL:
      2. Di bagian Kebijakan SSL, pilih Buat kebijakan.
      3. Masukkan Nama my-ssl-policy.
      4. Untuk Versi TLS Minimum, pilih TLS 1.0.
      5. Untuk Profil, pilih Modern. Enabled features dan Disabled features ditampilkan.
      6. Klik Save.
    9. (Opsional) Aktifkan Protokol proxy jika diinginkan.
    10. Klik Done.
  3. Tambahkan aturan penerusan kedua:
    1. Klik Add frontend IP and port.
    2. Masukkan Nama my-ssl-lb-ipv6-forwarding-rule.
    3. Tetapkam Versi IP ke IPv6.
    4. Pada bagian Alamat IP, klik Buat alamat IP.
      1. Masukkan nama ssl-lb-static-ipv6.
      2. Klik Reserve.
    5. Di bagian Certificate, pilih my-ssl-cert.
    6. Untuk menambahkan resource sertifikat selain resource sertifikat SSL utama, pilih sertifikat dari daftar Sertifikat atau klik Buat sertifikat baru.
    7. (Opsional) Gunakan kebijakan SSL atau aktifkan Protokol proxy jika diinginkan.
    8. Klik Done.
    9. Pastikan ada tanda centang hijau di samping Frontend configuration di Google Cloud Console. Jika belum, periksa kembali apakah Anda sudah menyelesaikan semua langkah di atas.
    10. Klik Done.
  4. 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 ssl my-ssl-health-check --port=443
       
  2. Buat layanan backend.
       gcloud compute backend-services create my-ssl-lb \
           --load-balancing-scheme EXTERNAL \
           --global-health-checks \
           --protocol=SSL \
           --port-name=ssl-lb \
           --health-checks=my-ssl-health-check \
           --timeout=5m \
           --global
       

    Atau, Anda dapat mengonfigurasi komunikasi yang tidak dienkripsi dari load balancer ke instance dengan menggunakan --protocol=TCP.

  3. Tambahkan grup instance ke layanan backend Anda.
       gcloud compute backend-services add-backend my-ssl-lb \
           --instance-group=us-ig1 \
           --instance-group-zone=us-central1-b \
           --balancing-mode=UTILIZATION \
           --max-utilization=0.8 \
           --global
       
       gcloud compute backend-services add-backend my-ssl-lb \
           --instance-group=us-ig2 \
           --instance-group-zone=us-east1-b \
           --balancing-mode=UTILIZATION \
           --max-utilization=0.8 \
           --global
       
  4. Konfigurasikan resource sertifikat SSL Anda.

    Jika menggunakan sertifikat yang dikelola sendiri, Anda harus sudah memiliki setidaknya satu sertifikat SSL untuk diupload. Jika tidak, lihat Ringkasan sertifikat SSL. Jika menggunakan beberapa sertifikat SSL, Anda harus membuatnya satu per satu.

    Jika Anda menggunakan sertifikat SSL yang dikelola sendiri dan tidak memiliki kunci pribadi dan sertifikat yang ditandatangani, Anda dapat membuat dan menggunakan sertifikat yang ditandatangani sendiri untuk tujuan pengujian.

    Untuk membuat resource sertifikat SSL yang dikelola sendiri:

       gcloud compute ssl-certificates create my-ssl-cert \
           --certificate=CRT_FILE_PATH \
           --private-key=KEY_FILE_PATH
       

    Untuk membuat resource sertifikat SSL yang dikelola Google:

       gcloud compute ssl-certificates create www-ssl-cert \
           --domains=DOMAIN_1,DOMAIN_2
       
  5. Mengonfigurasi proxy SSL target.

    Load Balancer Jaringan proxy eksternal mendukung pembuatan proxy SSL target yang memiliki satu hingga lima belas sertifikat SSL. Sebelum menjalankan perintah ini, Anda harus membuat resource sertifikat SSL untuk setiap sertifikat.

    Jika ingin mengaktifkan header proxy, tetapkan ke PROXY_V1, bukan none. Jika ingin, Anda dapat memasang kebijakan SSL ke proxy target. Pertama, buat kebijakan.

       gcloud compute ssl-policies create my-ssl-policy \
           --profile=MODERN \
           --min-tls-version=1.0
       

    Kemudian, kebijakan ini dilampirkan ke proxy target.

       gcloud compute target-ssl-proxies create my-ssl-lb-target-proxy \
           --backend-service=my-ssl-lb \
           --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \
           --ssl-policy=my-ssl-policy \
           --proxy-header=NONE
       
  6. Mencadangkan alamat IP statis global.

    Pelanggan Anda menggunakan alamat IP ini untuk mengakses layanan load balancing Anda.

       gcloud compute addresses create ssl-lb-static-ipv4 \
           --ip-version=IPV4 \
           --global
       
       gcloud compute addresses create ssl-lb-static-ipv6 \
           --ip-version=IPV6 \
           --global
       
  7. Mengonfigurasi aturan penerusan global.

    Membuat aturan penerusan global yang terkait dengan proxy target. Ganti LB_STATIC_IP dan LB_STATIC_IPV6 dengan alamat IP yang Anda buat di Mencadangkan alamat IP statis global.

       gcloud compute forwarding-rules create my-ssl-lb-forwarding-rule \
           --load-balancing-scheme EXTERNAL \
           --global \
           --target-ssl-proxy=my-ssl-lb-target-proxy \
           --address=LB_STATIC_IP \
           --ports=443
       
       gcloud compute forwarding-rules create my-ssl-lb-ipv6-forwarding-rule \
           --load-balancing-scheme EXTERNAL \
           --global \
           --target-ssl-proxy=my-ssl-lb-target-proxy \
           --address=LB_STATIC_IPV6 \
           --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

Di browser web, hubungkan ke alamat IP statis Anda menggunakan HTTPS. Dalam penyiapan pengujian ini, instance menggunakan sertifikat yang ditandatangani sendiri. Oleh karena itu, Anda akan melihat peringatan di browser saat pertama kali mengakses halaman. Klik peringatan untuk melihat halaman yang sebenarnya. Ganti IP_ADDRESS dengan alamat IPv4 atau IPv6 yang Anda buat sebelumnya.

https://IP_ADDRESS

Anda akan melihat salah satu host dari region terdekat dengan Anda. Muat ulang halaman ini hingga Anda melihat instance lain di region tersebut. Untuk melihat instance dari region lain, hentikan instance di region terdekat.

Atau, Anda dapat menggunakan curl dari command line komputer lokal Anda. Jika menggunakan sertifikat yang ditandatangani sendiri pada proxy SSL, Anda juga harus menentukan -k. Opsi curl -k memungkinkan curl agar berfungsi meskipun Anda memiliki sertifikat yang ditandatangani sendiri atau tidak memiliki sertifikat sama sekali. Jika memiliki sertifikat normal, Anda dapat menghapus parameter tersebut. Anda hanya boleh menggunakan parameter -k untuk menguji situs Anda sendiri. Dalam keadaan normal, sertifikat yang valid merupakan tindakan keamanan yang penting dan peringatan sertifikat tidak boleh diabaikan.

Ganti IP_ADDRESS dengan alamat IPv4 atau IPv6 yang Anda buat sebelumnya.

curl -k https://IP_ADDRESS

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 menyimpan informasi koneksi klien

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

Untuk menyimpan dan mengirim informasi koneksi asli ke instance Anda, aktifkan protokol PROXY versi 1. Protokol ini mengirimkan 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 health check. Jika Anda memeriksa konten kondisi dan penayangan di port yang sama, tetapkan --proxy-header health check agar cocok dengan setelan load balancer.

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

Pada contoh sebelumnya, IP klien adalah 192.0.2.1, IP load balancing adalah 198.51.100.1, port klien adalah 15221, dan port tujuannya adalah 110.

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

PROXY UNKNOWN\r\n

Mengupdate 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 bidang Protokol proxy ke Aktif.
  5. Klik Update untuk menyimpan perubahan.

gcloud

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

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

Mengonfigurasi afinitas sesi

Prosedur ini menunjukkan cara memperbarui layanan backend untuk contoh load balancer proxy SSL, sehingga layanan backend menggunakan afinitas IP klien.

Saat 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. Click Backends.

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

  4. Di halaman Backend service details, klik Advanced configuration.

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

  6. Klik Perbarui.

gcloud

Gunakan perintah gcloud berikut untuk memperbarui layanan backend my-ssl-lb, dengan menentukan afinitas sesi IP klien:

gcloud compute backend-services update my-ssl-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-ssl-lb
{
  "sessionAffinity": "CLIENT_IP"
}

Aktifkan pengosongan koneksi

Anda dapat mengaktifkan pengosongan koneksi pada layanan backend untuk memastikan gangguan yang minimal bagi pengguna saat instance yang menyalurkan traffic dihentikan, dihapus secara manual, atau dihapus oleh penskalaan otomatis. Untuk mempelajari lebih lanjut pengosongan koneksi, lihat dokumentasi Mengaktifkan Pengosongan Koneksi.

Langkah selanjutnya