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 tersebut 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.
Klien membuat koneksi ke alamat IP dan port aturan penerusan load balancer.
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.
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 tujuanGLOBAL_MANAGED_PROXY
yang dapat aktif di setiap region jaringan VPC.
Subnet khusus proxy dengan tujuan
REGIONAL_MANAGED_PROXY
:- Load Balancer Aplikasi eksternal regional
- Load Balancer Aplikasi internal regional
- Load Balancer Jaringan proxy eksternal regional
- Load Balancer Jaringan proxy internal regional
Di jaringan dan region tertentu, satu subnet khusus proxy tujuan
REGIONAL_MANAGED_PROXY
dibagikan di antara semua load balancer berbasis Envoy regional. Pada satu waktu, hanya satu subnet dengan tujuanREGIONAL_MANAGED_PROXY
yang dapat aktif di setiap region jaringan VPC.
Cara subnet khusus proxy sesuai dengan arsitektur load balancer
Diagram berikut menunjukkan resource Google Cloud yang diperlukan untuk Load Balancer Aplikasi internal regional.
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).
Rekomendasi 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.
Setiap proxy tambahan akan dikenai biaya per jam tambahan. Untuk mempelajari cara penagihan subnet khusus proxy, lihat Tagihan instance proxy dalam dokumentasi harga Cloud Load Balancing.
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
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka halaman Jaringan VPC - Klik nama jaringan VPC Bersama tempat Anda ingin menambahkan subnet khusus proxy.
- Klik Tambahkan subnet.
- Masukkan Nama.
- Pilih Region.
- 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
atauGLOBAL_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:
- Menyiapkan Load Balancer Aplikasi eksternal regional
- Menyiapkan Load Balancer Aplikasi internal regional
- Menyiapkan Load Balancer Jaringan proxy internal regional
- Menyiapkan Load Balancer Jaringan proxy eksternal regional
- Menyiapkan Load Balancer Aplikasi internal lintas region
- Menyiapkan Load Balancer Jaringan proxy internal lintas region
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 ditetapkan ke load balancer.
Anda tidak dapat memperluas subnet khusus proxy dengan cara yang sama seperti yang Anda lakukan untuk rentang alamat utama (dengan perintah expand-ip-range). Sebagai gantinya, Anda harus membuat subnet khusus proxy cadangan yang memenuhi kebutuhan Anda, lalu mempromosikannya ke peran aktif. Hal ini karena hanya satu subnet khusus proxy yang dapat aktif per region dan per jaringan VPC dan karena Anda hanya dapat memperluas rentang alamat IP utama subnet.
Mengalihkan subnet khusus proxy dari cadangan ke aktif tidak akan mengganggu koneksi baru:
- Subnet khusus proxy yang baru diaktifkan digunakan untuk koneksi baru.
- Subnet khusus proxy yang sebelumnya aktif (sekarang cadangan) tidak lagi digunakan untuk koneksi baru.
- Google Cloud mulai menghentikan koneksi yang ada dari proxy di subnet khusus proxy yang sebelumnya aktif (sekarang cadangan).
Anda hanya dapat membuat satu subnet khusus proxy aktif dan satu cadangan per region, per jaringan VPC.
Konsol
Buat subnet khusus proxy cadangan di region yang sama, dengan menentukan rentang alamat IP utama yang memenuhi kebutuhan Anda
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka halaman Jaringan VPC - Klik nama jaringan VPC Bersama tempat Anda ingin menambahkan subnet khusus proxy.
- Klik Tambahkan subnet.
- Masukkan Nama.
- Pilih Region.
- Tetapkan Tujuan ke salah satu opsi berikut:
- Untuk load balancer regional: Proxy yang Dikelola Regional
- Untuk load balancer lintas region: Proxy yang Dikelola Lintas Region
- Untuk Role, pilih Backup.
- Masukkan rentang alamat IP.
- Klik Tambahkan.
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buat atau ubah aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga menyertakan rentang alamat IP utama dari subnet khusus proxy cadangan.
Promosikan subnet khusus proxy cadangan ke peran aktif. Tindakan ini juga mendemosikan subnet khusus proxy yang sebelumnya aktif ke peran cadangan:
- Di konsol Google Cloud, buka halaman jaringan VPC.
Buka halaman Jaringan VPC - Klik nama jaringan VPC Bersama yang ingin Anda ubah.
- Di bagian Subnet khusus proxy yang dicadangkan untuk load balancing, cari subnet cadangan yang dibuat di langkah sebelumnya.
- Klik Aktifkan.
- Tentukan Waktu tunggu pengosongan opsional.
- Klik Aktifkan subnet.
- Di konsol Google Cloud, buka halaman jaringan VPC.
Setelah waktu tunggu penghentian koneksi habis, atau setelah Anda yakin bahwa koneksi ke VM atau endpoint backend tidak berasal dari proxy di subnet khusus proxy yang sebelumnya aktif (sekarang cadangan), Anda dapat melakukan hal berikut:
- Ubah aturan firewall izinkan masuk yang berlaku untuk VM atau endpoint backend Anda sehingga tidak menyertakan rentang alamat IP utama dari subnet khusus proxy yang sebelumnya aktif (sekarang cadangan).
- Hapus subnet khusus proxy yang sebelumnya aktif (sekarang cadangan) untuk merilis alamat IP yang digunakan oleh subnet untuk rentang alamat IP utamanya.
gcloud
Langkah-langkah berikut mengasumsikan bahwa Anda sudah memiliki subnet khusus proxy yang aktif.
Buat subnet khusus proxy cadangan di region yang sama, dengan menentukan rentang alamat IP utama yang memenuhi kebutuhan Anda, menggunakan perintah gcloud compute networks subnets create dengan flag
--role=BACKUP
.gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=BACKUP_PROXY_ONLY_SUBNET_RANGE
Ganti kode berikut:
BACKUP_PROXY_ONLY_SUBNET_NAME
: nama subnet khusus proxy cadangan yang baru dibuatSUBNET_PURPOSE
: tujuan subnet khusus proxy cadangan yang baru dibuatREGION
: region subnet khusus proxy cadangan yang baru dibuat. Region ini harus sama dengan region proxy-only aktif saat ini.REGION
: jaringan subnet khusus proxy cadangan yang baru dibuat. Jaringan ini harus sama dengan jaringan subnet khusus proxy yang aktif saat ini.BACKUP_PROXY_ONLY_SUBNET_RANGE
: rentang CIDR dari subnet khusus proxy cadangan yang baru dibuat
Buat atau ubah aturan firewall izin masuk yang berlaku untuk VM atau endpoint backend sehingga sekarang menyertakan rentang alamat IP utama dari subnet khusus proxy cadangan. Aturan firewall seharusnya sudah menerima koneksi dari subnet aktif.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
Ganti kode berikut:
PROXY_ONLY_SUBNET_FIREWALL_RULE
: nama aturan firewall yang mengizinkan traffic dari subnet khusus proxy untuk menjangkau instance atau endpoint backend AndaACTIVE_PROXY_ONLY_SUBNET_RANGE
: rentang CIDR dari subnet khusus proxy yang aktif saat ini
Perbarui subnet baru, tetapkan subnet tersebut sebagai subnet khusus proxy
ACTIVE
di region, lalu tunggu hingga subnet lama habis. Tindakan ini juga mendemosikan subnet khusus proxy yang sebelumnya aktif ke peran cadangan.Untuk langsung menghabiskan rentang alamat IP, tetapkan
--drain-timeout
ke0s
. Tindakan ini akan segera mengakhiri semua koneksi ke proxy yang telah menetapkan alamat di subnet yang sedang dikosongkan.gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Ganti kode berikut:
CONNECTION_DRAINING_TIMEOUT
: jumlah waktu, dalam detik, yang digunakan Google Cloud untuk memigrasikan koneksi yang ada dari proxy di subnet khusus proxy yang sebelumnya aktif
Pantau status pembuangan menggunakan perintah
list
ataudescribe
. Status subnet adalahDRAINING
saat sedang dikosongkan.gcloud compute networks subnets list
Tunggu hingga pengosongan selesai. Saat subnet khusus proxy lama habis, status subnet adalah
READY
.Perbarui aturan firewall subnet khusus proxy Anda agar hanya mengizinkan koneksi dari subnet baru.
gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
Setelah yakin bahwa koneksi ke VM atau endpoint backend Anda tidak berasal dari proxy di subnet khusus proxy yang sebelumnya aktif (sekarang cadangan), Anda dapat menghapus subnet lama.
gcloud compute networks subnets delete ACTIVE_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
danREGIONAL_MANAGED_PROXY
di jaringan dan region yang sama, dengan cara yang sama, Anda tidak dapat memiliki dua proxyREGIONAL_MANAGED_PROXY
atau dua proxyINTERNAL_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. Saat 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.Google Cloud tidak memperingatkan Anda jika subnet khusus proxy kehabisan alamat IP. Namun, Anda dapat mengonfigurasi Monitoring untuk memantau penggunaan alamat IP subnet khusus proxy. Anda dapat menentukan kebijakan pemberitahuan untuk menyiapkan pemberitahuan bagi metrik
loadbalancing.googleapis.com/subnet/proxy_only/addresses
.Subnet khusus proxy tidak mendukung Log Aliran VPC.
Langkah selanjutnya
- Menyiapkan Load Balancer Aplikasi eksternal regional dengan backend grup instance VM
- Menyiapkan Load Balancer Aplikasi eksternal regional di lingkungan VPC Bersama
- Menyiapkan Load Balancer Aplikasi internal regional dengan backend grup instance VM
- Menyiapkan Load Balancer Aplikasi internal regional atau Load Balancer Aplikasi internal lintas region di lingkungan VPC Bersama
- Menyiapkan Load Balancer Jaringan proxy internal regional dengan backend grup instance VM
- Menyiapkan Load Balancer Jaringan proxy eksternal regional dengan backend grup instance VM
- Menyiapkan Load Balancer Jaringan proxy internal lintas region dengan backend grup instance VM