Subnet khusus proxy untuk load balancer berbasis Envoy

Halaman ini menjelaskan cara menggunakan subnet khusus proxy yang digunakan oleh load balancer berbasis Envoy. Subnet khusus proxy menyediakan kumpulan alamat IP yang dicadangkan secara eksklusif untuk proxy Envoy yang digunakan oleh load balancer Google Cloud . Data ini tidak dapat digunakan untuk tujuan lain.

Proxy menghentikan koneksi masuk, lalu mengevaluasi tempat setiap permintaan harus diarahkan berdasarkan peta URL, afinitas sesi layanan backend, mode penyeimbangan setiap grup instance backend atau NEG, dan faktor lainnya.

  1. Klien membuat koneksi ke alamat IP dan port aturan penerusan load balancer.

  2. Setiap proxy memproses alamat IP dan port yang ditentukan oleh aturan penerusan load balancer yang sesuai. Salah satu proxy menerima dan menghentikan koneksi jaringan klien.

  3. Proxy ini membuat koneksi ke VM atau endpoint backend yang sesuai dalam NEG, seperti yang ditentukan oleh peta URL load balancer dan layanan backend.

Setiap proxy load balancer diberi alamat IP internal. Paket yang dikirim dari proxy ke VM backend atau endpoint memiliki alamat IP sumber dari subnet khusus proxy.

Subnet khusus proxy tidak dapat digunakan untuk tujuan lain. Alamat IP untuk aturan penerusan load balancer tidak berasal dari subnet khusus proxy. Selain itu, alamat IP VM dan endpoint backend tidak berasal dari subnet khusus proxy.

Load balancer yang didukung

Load balancer berbasis Envoy berikut memerlukan subnet khusus proxy:

  • Subnet khusus proxy dengan tujuan GLOBAL_MANAGED_PROXY:

    Di jaringan dan region tertentu, satu subnet khusus proxy dengan tujuan GLOBAL_MANAGED_PROXY dibagikan di antara semua Load Balancer Aplikasi internal lintas region di region tersebut. Pada satu waktu, hanya satu subnet dengan tujuan GLOBAL_MANAGED_PROXY yang dapat aktif di setiap region jaringan VPC.

Cara subnet khusus proxy sesuai dengan arsitektur load balancer

Diagram berikut menunjukkan Google Cloud resource yang diperlukan untuk Load Balancer Aplikasi internal regional.

Komponen bernomor Load Balancer Aplikasi internal regional.
Komponen bernomor Load Balancer Aplikasi internal regional (klik untuk memperbesar).

Seperti yang ditunjukkan pada diagram, deployment load balancer berbasis Envoy memerlukan setidaknya dua subnet:

  • VM backend dan endpoint backend load balancer menggunakan satu subnet yang rentang alamat IP utamanya adalah 10.1.2.0/24 (dalam contoh ini). Subnet ini bukan subnet khusus proxy. Anda dapat menggunakan beberapa subnet untuk VM dan endpoint backend jika subnet berada di region yang sama dengan load balancer. Untuk Load Balancer Aplikasi internal, alamat IP load balancer yang terkait dengan aturan penerusan juga dapat berada di subnet ini (tetapi tidak harus).
  • Subnet khusus proxy adalah 10.129.0.0/23 (dalam contoh ini).

Merencanakan ukuran subnet khusus proxy

Subnet khusus proxy harus menyediakan 64 alamat IP atau lebih. Hal ini sesuai dengan panjang awalan /26 atau lebih pendek. Sebaiknya mulai dengan subnet khusus proxy dengan awalan /23 (512 alamat khusus proxy) dan ubah ukurannya seiring perubahan kebutuhan traffic Anda.

Proxy dialokasikan di tingkat VPC, bukan tingkat load balancer. Anda harus membuat satu subnet khusus proxy di setiap region jaringan VPC tempat Anda menggunakan load balancer berbasis Envoy. Jika Anda men-deploy beberapa load balancer di region yang sama dan jaringan VPC yang sama, load balancer tersebut akan berbagi subnet khusus proxy yang sama untuk load balancing. Load balancer berbasis Envoy akan otomatis menskalakan jumlah proxy yang tersedia untuk menangani traffic berdasarkan kebutuhan traffic Anda.

Jumlah proxy yang dialokasikan ke load balancer akan dihitung berdasarkan kapasitas terukur yang diperlukan untuk menangani traffic Anda selama jangka waktu 10 menit. Selama jangka waktu ini, kami melihat nilai yang lebih besar dari:

  • Jumlah proxy yang diperlukan untuk memenuhi kebutuhan bandwidth traffic Anda. Setiap instance proxy dapat menangani hingga 18 MB per detik. Kami memantau total bandwidth yang diperlukan dan membaginya dengan bandwidth yang dapat didukung oleh instance proxy.

  • Jumlah proxy yang diperlukan untuk menangani koneksi dan permintaan. Kami menghitung jumlah total setiap resource berikut dan membagi setiap nilai dengan jumlah yang dapat ditangani oleh instance proxy:

    • 600 (HTTP) atau 150 (HTTPS) koneksi baru per detik
    • 3.000 koneksi aktif
    • 1.400 permintaan per detik

      Satu instance proxy dapat menangani 1.400 permintaan per detik jika Cloud Logging dinonaktifkan. Jika Anda mengaktifkan Logging, instance proxy Anda dapat menangani lebih sedikit permintaan per detik. Misalnya: logging 100% permintaan akan mengurangi kapasitas penanganan permintaan proxy menjadi 700 permintaan per detik. Anda dapat mengonfigurasi Logging untuk mengambil sampel dengan persentase traffic yang lebih kecil. Dengan demikian, Anda dapat memenuhi kebutuhan kemampuan observasi sekaligus mengontrol biaya.

Setiap proxy tambahan akan dikenai biaya per jam tambahan. Untuk mempelajari cara penagihan subnet khusus proxy, lihat bagian Tagihan instance proxy dalam dokumentasi harga Cloud Load Balancing.

Load balancer berbasis Envoy dan proxy Envoy Secure Web Proxy

Saat mengonfigurasi load balancer berbasis Envoy dan Secure Web Proxy di VPC yang sama, penting untuk memperhatikan hal berikut:

  • Load balancer berbasis Envoy dan Secure Web Proxy menggunakan alamat IP dari subnet khusus proxy yang sama.

  • Untuk mengakomodasi persyaratan alamat IP untuk kedua layanan tersebut, pertimbangkan untuk menggunakan subnet khusus proxy yang lebih besar, seperti subnet /22. Hal ini membantu memastikan ruang alamat yang memadai untuk kedua konfigurasi.

  • Sebaiknya pantau kapasitas proxy untuk melacak penggunaan alamat IP. Hal ini membantu mencegah kehabisan subnet khusus proxy, yang dapat mengganggu layanan.

Membuat subnet khusus proxy

Anda harus membuat subnet khusus proxy untuk load balancer berbasis Envoy, terlepas dari apakah jaringan Anda menggunakan mode otomatis atau kustom. Membuat subnet khusus proxy pada dasarnya adalah prosedur yang sama dengan membuat subnet apa pun, kecuali dengan penambahan beberapa flag.

Untuk subnet khusus proxy, --purpose harus ditetapkan ke REGIONAL_MANAGED_PROXY atau GLOBAL_MANAGED_PROXY, bergantung pada load balancer Anda.

Anda tidak dapat menggunakan kembali subnet yang ada sebagai subnet khusus proxy; Anda harus membuat subnet baru di setiap region yang memiliki load balancer berbasis Envoy. Hal ini sebagian karena perintah subnets update tidak mengizinkan perubahan kolom --purpose subnet.

Anda harus membuat subnet khusus proxy untuk digunakan oleh proxy load balancer, sebelum membuat aturan penerusan untuk load balancer regional. Jika Anda mencoba mengonfigurasi load balancer tanpa terlebih dahulu membuat subnet khusus proxy untuk region, proses pembuatan load balancer akan gagal.

Konsol

  1. Di Google Cloud konsol, buka halaman VPC networks.
    Buka halaman Jaringan VPC
  2. Klik nama jaringan VPC Bersama tempat Anda ingin menambahkan subnet khusus proxy.
  3. Klik Tambahkan subnet.
  4. Masukkan Nama.
  5. Pilih Region.
  6. Tetapkan Tujuan ke salah satu opsi berikut:
    • Untuk load balancer regional: Proxy yang Dikelola Berdasarkan Wilayah
    • Untuk load balancer lintas region: Proxy yang Dikelola Lintas Region
    • Masukkan rentang alamat IP.
    • Klik Tambahkan.

gcloud

Perintah gcloud compute networks subnets create membuat subnet khusus proxy.

gcloud compute networks subnets create SUBNET_NAME \
    --purpose=SUBNET_PURPOSE \
    --role=ACTIVE \
    --region=REGION \
    --network=VPC_NETWORK_NAME \
    --range=CIDR_RANGE

Kolom didefinisikan sebagai berikut:

  • SUBNET_NAME adalah nama subnet khusus proxy.
  • SUBNET_PURPOSE adalah tujuan subnet. Tetapkan ini ke REGIONAL_MANAGED_PROXY atau GLOBAL_MANAGED_PROXY, bergantung pada load balancer Anda.
  • REGION adalah region subnet khusus proxy.
  • VPC_NETWORK_NAME adalah nama jaringan VPC yang berisi subnet.
  • CIDR_RANGE adalah rentang alamat IP utama subnet. Anda harus menggunakan subnet mask dengan ukuran maksimal 26 agar ada minimal 64 alamat IP yang tersedia untuk proxy di region tersebut. Panjang subnet mask yang direkomendasikan adalah /23.

Untuk contoh konfigurasi lengkap, lihat Mengonfigurasi subnet khusus proxy.

Anda harus mengonfigurasi aturan firewall untuk backend agar dapat menerima koneksi dari subnet khusus proxy. Untuk contoh konfigurasi lengkap, termasuk penyiapan aturan firewall, lihat hal berikut:

Ketersediaan proxy

Terkadang, region Google Cloud tidak memiliki kapasitas proxy yang memadai untuk load balancer baru. Jika hal ini terjadi, konsol Google Cloud akan memberikan pesan peringatan ketersediaan proxy saat Anda membuat load balancer. Untuk menyelesaikan masalah ini, Anda dapat melakukan salah satu tindakan berikut:

  • Pilih region lain untuk load balancer Anda. Hal ini dapat menjadi opsi yang praktis jika Anda memiliki backend di region lain.
  • Pilih jaringan VPC yang sudah memiliki subnet khusus proxy yang dialokasikan.
  • Tunggu hingga masalah kapasitas teratasi.

Mengubah ukuran atau rentang alamat subnet khusus proxy

Saat jumlah traffic yang ditangani oleh load balancer meningkat, Anda mungkin perlu meningkatkan ukuran subnet khusus proxy untuk memungkinkan lebih banyak proxy Envoy untuk mendukung load balancer.

Anda tidak dapat memperluas rentang alamat IPv4 utama dari subnet khusus proxy dengan cara yang sama seperti memperluas rentang alamat IPv4 utama dari subnet reguler (dengan perintah expand-ip-range). Sebagai gantinya, Anda harus mengganti subnet khusus proxy dengan subnet baru. Proses penggantian berfungsi seperti ini:

  • Buat subnet khusus proxy baru, di region dan jaringan VPC yang sama dengan subnet khusus proxy (asli) yang ada. Saat membuat subnet khusus proxy baru ini, tetapkan role-nya ke BACKUP. (Untuk setiap tujuan subnet khusus proxy, Google Cloud mengizinkan satu subnet khusus proxy ACTIVE dan satu subnet khusus proxy BACKUP berada di region dan jaringan VPC tertentu.)

  • Sesuaikan aturan firewall izinkan masuk, yang berlaku untuk backend Anda, sehingga aturan tersebut mengizinkan koneksi dari rentang alamat IPv4 utama dari subnet khusus proxy asli dan baru.

  • Tetapkan peran subnet khusus proxy baru ke ACTIVE dan tentukan periode pengosongan koneksi untuk mengizinkan koneksi antara backend Anda dan proxy Envoy di subnet khusus proxy asli untuk dihentikan. (Google Cloud otomatis menetapkan peran subnet khusus proxy asli ke BACKUP saat Anda menetapkan peran subnet khusus proxy baru ke ACTIVE.)

  • Pantau status subnet khusus proxy asli (lihat tab gcloud untuk informasi selengkapnya tentang pemantauan). Setelah statusnya READY, subnet tidak lagi digunakan, asalkan perannya adalah BACKUP. Pada tahap ini, Anda dapat menyesuaikan aturan firewall izin masuk untuk mengizinkan koneksi hanya dari rentang alamat IPv4 utama dari subnet khusus proxy baru, dan Anda dapat menghapus subnet khusus proxy asli.

Konsol

  1. Buat subnet khusus proxy baru di region dan jaringan VPC yang sama, dengan menentukan rentang alamat IPv4 utama yang memenuhi kebutuhan Anda. Tetapkan peran subnet khusus proxy baru ke cadangan.

    1. Di Google Cloud konsol, buka halaman VPC networks.
      Buka halaman Jaringan VPC
    2. Klik nama jaringan VPC Bersama tempat Anda ingin menambahkan subnet khusus proxy.
    3. Klik Tambahkan subnet.
    4. Masukkan Nama.
    5. Pilih Region.
    6. Tetapkan Tujuan ke salah satu opsi berikut:
      • Untuk load balancer regional: Proxy yang Dikelola Berdasarkan Wilayah
      • Untuk load balancer lintas region: Proxy yang Dikelola Lintas Region
      • Untuk Role, pilih Backup.
      • Masukkan rentang alamat IP.
      • Klik Tambahkan.
  2. Perbarui aturan firewall izin masuk yang berlaku untuk VM backend atau endpoint Anda sehingga menyertakan rentang alamat IPv4 utama dari kedua subnet khusus proxy asli dan baru.

  3. Tetapkan peran subnet khusus proxy baru ke aktif, dan tentukan waktu tunggu pengosongan untuk mengizinkan koneksi antara backend dan subnet khusus proxy asli dihentikan. Google Cloud secara otomatis menetapkan peran subnet khusus proxy asli ke cadangan saat Anda menetapkan peran subnet khusus proxy baru ke aktif.

    1. Di Google Cloud konsol, buka halaman VPC networks.
      Buka halaman Jaringan VPC
    2. Klik nama jaringan VPC Bersama yang ingin Anda ubah.
    3. Di bagian Subnet khusus proxy yang dicadangkan untuk load balancing, cari subnet cadangan yang dibuat di langkah sebelumnya.
    4. Klik Activate.
    5. Tentukan Waktu tunggu pengosongan opsional.
    6. Klik Aktifkan subnet.
  4. Setelah waktu tunggu habis, atau setelah Anda yakin bahwa koneksi ke VM atau endpoint backend tidak berasal dari proxy di subnet khusus proxy asli, Anda dapat melakukan hal berikut:

    • Perbarui aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga aturan tersebut menyertakan rentang alamat IPv4 utama dari subnet khusus proxy baru.
    • Hapus subnet khusus proxy asli.

gcloud

Langkah-langkah berikut menunjukkan cara menukar subnet khusus proxy yang ada dengan subnet khusus proxy baru. Dalam semua langkah berikut:

  • ORIGINAL_PROXY_ONLY_SUBNET_NAME: nama subnet khusus proxy yang ada
  • ORIGINAL_PROXY_ONLY_SUBNET_RANGE: rentang alamat IPv4 utama dari subnet khusus proxy yang ada dalam format CIDR. Ini adalah rentang alamat yang Anda pilih sebelumnya.
  • NEW_PROXY_ONLY_SUBNET_NAME: nama subnet khusus proxy baru
  • NEW_PROXY_ONLY_SUBNET_RANGE: rentang alamat IPv4 utama dari subnet khusus proxy baru dalam format CIDR. Pilih rentang alamat IPv4 untuk memenuhi kebutuhan Anda.
  • PROXY_ONLY_SUBNET_FIREWALL_RULE: nama aturan firewall VPC izinkan masuk yang mengizinkan koneksi dari subnet khusus proxy
  • REGION: region yang berisi subnet khusus proxy asli dan baru
  • VPC_NETWORK_NAME: nama jaringan VPC jaringan yang berisi subnet khusus proxy asli dan baru
  1. Buat subnet khusus proxy baru di region dan jaringan VPC yang sama menggunakan perintah gcloud compute networks subnets create dengan flag --role=BACKUP.

    gcloud compute networks subnets create NEW_PROXY_ONLY_SUBNET_NAME \
       --purpose=SUBNET_PURPOSE \
       --role=BACKUP \
       --region=REGION \
       --network=VPC_NETWORK_NAME \
       --range=NEW_PROXY_ONLY_SUBNET_RANGE
    

    Ganti kode berikut:

    • SUBNET_PURPOSE: REGIONAL_MANAGED_PROXY atau GLOBAL_MANAGED_PROXY, bergantung pada load balancer yang perlu menggunakan subnet khusus proxy. Untuk mengetahui informasi selengkapnya, lihat Load balancer yang didukung.
  2. Perbarui aturan firewall izin masuk yang berlaku untuk VM backend atau endpoint Anda sehingga menyertakan rentang alamat IPv4 utama dari kedua subnet khusus proxy asli dan baru.

    gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges=ORIGINAL_PROXY_ONLY_SUBNET_RANGE,NEW_PROXY_ONLY_SUBNET_RANGE
    
  3. Tetapkan peran subnet khusus proxy baru ke ACTIVE, dan tentukan waktu tunggu pengosongan (--drain-timeout) untuk mengizinkan koneksi antara backend dan subnet khusus proxy asli dihentikan.Google Cloud otomatis menetapkan peran subnet khusus proxy asli ke BACKUP saat Anda menetapkan peran subnet khusus proxy baru ke ACTIVE.

    Untuk segera memutuskan koneksi antara backend dan proxy Envoy di subnet khusus proxy asli, tetapkan --drain-timeout ke 0s.

    gcloud compute networks subnets update NEW_PROXY_ONLY_SUBNET_NAME \
       --region=REGION \
       --role=ACTIVE \
       --drain-timeout=CONNECTION_DRAINING_TIMEOUT
    

    Ganti kode berikut:

    • CONNECTION_DRAINING_TIMEOUT: jumlah waktu, dalam detik, untuk menghentikan koneksi yang ada antara backend dan proxy Envoy di subnet khusus proxy asli.
  4. Pantau status subnet khusus proxy asli menggunakan perintah gcloud compute networks subnets describe.

    gcloud compute networks subnets describe ORIGINAL_PROXY_ONLY_SUBNET_NAME \
       --region=REGION
    

    Tunggu hingga pengosongan selesai. Selama pembersihan, status subnet khusus proxy asli adalah DRAINING. Anda mungkin harus menjalankan perintah describe beberapa kali sebelum status subnet khusus proxy asli berubah menjadi READY.

  5. Setelah subnet khusus proxy asli menjadi READY dengan peran BACKUP, subnet tidak lagi digunakan. Perbarui aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga menyertakan rentang alamat IPv4 utama dari subnet khusus proxy baru saja.

    gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges=NEW_PROXY_ONLY_SUBNET_RANGE
    
  6. Hapus subnet khusus proxy asli.

    gcloud compute networks subnets delete ORIGINAL_PROXY_ONLY_SUBNET_NAME \
      --region=REGION
    

Memigrasikan tujuan subnet khusus proxy

Jika sebelumnya Anda membuat subnet khusus proxy dengan --purpose=INTERNAL_HTTPS_LOAD_BALANCER, Anda harus memigrasikan tujuan subnet ke REGIONAL_MANAGED_PROXY sebelum dapat membuat load balancer berbasis Envoy lainnya di region yang sama pada jaringan VPC.

Konsol

Jika menggunakan konsol Google Cloud untuk membuat load balancer, Anda akan diminta untuk memigrasikan tujuan subnet khusus proxy yang dibuat sebelumnya dari --purpose=INTERNAL_HTTPS_LOAD_BALANCER ke REGIONAL_MANAGED_PROXY saat membuat load balancer.

gcloud

Untuk mengubah tujuan subnet khusus proxy yang ada dari --purpose=INTERNAL_HTTPS_LOAD_BALANCER menjadi REGIONAL_MANAGED_PROXY, gunakan perintah berikut:

gcloud compute networks subnets update PROXY_ONLY_SUBNET \
    --purpose=REGIONAL_MANAGED_PROXY \
    --region=REGION

Memigrasikan tujuan subnet khusus proxy dari --purpose=INTERNAL_HTTPS_LOAD_BALANCER ke REGIONAL_MANAGED_PROXY tidak akan menyebabkan downtime. Perubahan akan diterapkan seketika.

Menghapus subnet khusus proxy

Menghapus subnet khusus proxy akan melepaskan rentang alamat IP utamanya sehingga Anda dapat menggunakan rentang tersebut untuk tujuan lain. Google Cloud menerapkan aturan berikut saat menerima permintaan untuk menghapus subnet khusus proxy:

  • Subnet khusus proxy yang aktif tidak dapat dihapus jika ada minimal satu load balancer regional di region dan jaringan VPC yang sama.

  • Subnet khusus proxy aktif tidak dapat dihapus jika ada subnet khusus proxy cadangan di region dan jaringan VPC yang sama.

    Jika Anda mencoba menghapus subnet khusus proxy yang aktif sebelum menghapus cadangan, pesan error berikut akan muncul: "Penggunaan resource tidak valid: Tidak dapat menghapus subnet AKTIF karena ada subnet CADANGAN".

Secara praktis, aturan ini memiliki efek berikut:

  • Jika tidak ada load balancer regional yang ditentukan di region dan jaringan VPC tertentu, Anda dapat menghapus subnet khusus proxy di region tersebut. Jika ada subnet khusus proxy cadangan, Anda harus menghapusnya terlebih dahulu sebelum dapat menghapus subnet khusus proxy yang aktif.

  • Jika memiliki minimal satu load balancer regional yang ditentukan di region dan jaringan VPC tertentu, Anda tidak dapat menghapus subnet khusus proxy yang aktif. Namun, Anda dapat mempromosikan subnet khusus proxy cadangan ke peran aktif, yang secara otomatis mendemosikan subnet khusus proxy yang sebelumnya aktif ke peran cadangan. Setelah koneksi dikosongkan, Anda dapat menghapus subnet khusus proxy cadangan (sebelumnya aktif).

Lihat menghapus subnet dalam dokumentasi jaringan VPC untuk mengetahui informasi selengkapnya.

Batasan

Batasan berikut berlaku untuk subnet khusus proxy:

  • Anda tidak dapat memiliki subnet INTERNAL_HTTPS_LOAD_BALANCER dan REGIONAL_MANAGED_PROXY di jaringan dan region yang sama, dengan cara yang sama, Anda tidak dapat memiliki dua proxy REGIONAL_MANAGED_PROXY atau dua proxy INTERNAL_HTTPS_LOAD_BALANCER.

  • Anda hanya dapat membuat satu subnet khusus proxy aktif dan satu subnet khusus proxy cadangan di setiap region di setiap jaringan VPC.

  • Anda tidak dapat membuat subnet khusus proxy cadangan kecuali jika telah membuat subnet khusus proxy yang aktif di region dan jaringan tersebut.

  • Anda dapat mengubah peran subnet khusus proxy dari cadangan menjadi aktif dengan mengupdate subnet. Jika Anda melakukannya, Google Cloud akan otomatis mengubah subnet khusus proxy yang sebelumnya aktif menjadi cadangan. Anda tidak dapat menetapkan peran subnet khusus proxy untuk dicadangkan secara eksplisit dengan memperbaruinya.

  • Selama periode pengosongan koneksi subnet khusus proxy (--drain-timeout), Anda tidak dapat mengubah peran subnet khusus proxy dari cadangan menjadi aktif.

  • Subnet khusus proxy tidak mendukung Log Aliran VPC.

Langkah berikutnya