Load Balancer Jaringan passthrough internal adalah load balancer regional yang dibangun di stack virtualisasi jaringan Andromeda.
Load Balancer Jaringan passthrough internal mendistribusikan traffic di antara instance virtual machine (VM) internal di region yang sama dalam jaringan Virtual Private Cloud (VPC). Load balancer ini memungkinkan Anda menjalankan dan menskalakan layanan di balik alamat IP internal yang hanya dapat diakses oleh sistem di jaringan VPC yang sama atau sistem yang terhubung ke jaringan VPC Anda.
Gunakan Load Balancer Jaringan passthrough internal dalam situasi berikut:
- Anda memerlukan load balancer Lapisan 4 pass-through berperforma tinggi untuk protokol TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, dan GRE.
- Jika menyalurkan traffic melalui TLS (SSL), Anda dapat menghentikan traffic SSL di backend, bukan di load balancer. Load Balancer Jaringan passthrough internal tidak dapat menghentikan traffic SSL.
- Anda harus meneruskan paket asli tanpa proxy. Misalnya, jika Anda perlu mempertahankan alamat IP sumber klien.
- Anda memiliki konfigurasi yang sudah ada yang menggunakan load balancer pass-through, dan Anda ingin memigrasikannya tanpa perubahan.
Load Balancer Jaringan passthrough internal menangani banyak kasus penggunaan. Untuk beberapa contoh umum, lihat Ringkasan Load Balancer Jaringan passthrough.
Cara kerja Load Balancer Jaringan passthrough internal
Load Balancer Jaringan passthrough internal memiliki frontend (aturan penerusan) dan backend (layanan
backend). Anda dapat menggunakan grup instance atau GCE_VM_IPNEG zonasi
sebagai backend di layanan backend. Contoh ini menunjukkan backend grup instance.
Tidak seperti load balancer proxy, Load Balancer Jaringan passthrough internal tidak menghentikan koneksi dari klien, lalu membuka koneksi baru ke backend. Sebagai gantinya, Load Balancer Jaringan passthrough internal mengarahkan koneksi langsung dari klien ke backend yang memenuhi syarat, tanpa proxy antara klien dan backend. Respons dari setiap backend yang dipilih dikirimkan menggunakan pengembalian server langsung. Untuk mengetahui informasi selengkapnya, lihat Distribusi traffic untuk Network Load Balancer passthrough internal dan Alamat IP untuk paket permintaan dan respons.
Load balancer memantau kondisi backend menggunakan pemeriksaan health check. Untuk mengetahui informasi selengkapnya, lihat bagian Health check.
Lingkungan tamu Linux, lingkungan tamu Windows, atau proses yang setara mengonfigurasi setiap VM backend dengan alamat IP load balancer. Google Cloud Untuk VM yang dibuat dari image Google Cloud , agen Guest (sebelumnya, Windows Guest Environment atau Linux Guest Environment) akan menginstal rute lokal untuk alamat IP load balancer. Instance Google Kubernetes Engine yang berbasis Container-Optimized OS menerapkan hal ini dengan menggunakan iptables sebagai gantinya.
Jaringan virtualGoogle Cloud mengelola penayangan dan penskalaan traffic sebagaimana mestinya.
Protokol, skema, dan cakupan
Setiap Load Balancer Jaringan passthrough internal mendukung hal berikut:
- Satu layanan backend dengan skema load balancing
INTERNALdan protokol yang didukung. Untuk mengetahui informasi selengkapnya, lihat layanan backend. - VM backend ditentukan sebagai salah satu dari berikut ini:
- Grup instance terkelola dan tidak terkelola yang berada di satu region dan jaringan VPC.
- Backend grup endpoint jaringan (NEG) zonal dengan endpoint jenis
GCE_VM_IPyang berada di region dan jaringan VPC yang sama. Endpoint di NEG harus berupa alamat IP internal utama di subnet dan zona yang sama dengan yang digunakan oleh NEG.
- Dukungan untuk traffic IPv4 dan IPv6 saat menggunakan backend grup instance.
Grup endpoint jaringan (NEG) zona dengan endpoint
GCE_VM_IPhanya mendukung traffic IPv4. - Satu atau beberapa aturan penerusan, yang masing-masing menggunakan protokol
TCP,UDP, atauL3_DEFAULTyang cocok dengan protokol layanan backend. - Setiap aturan penerusan dengan alamat IP uniknya sendiri atau beberapa aturan penerusan yang berbagi alamat IP umum.
- Setiap aturan penerusan dengan maksimal lima port atau semua port.
- Jika akses global diaktifkan, klien di region mana pun.
- Jika akses global dinonaktifkan, klien di region yang sama dengan load balancer.
Load Balancer Jaringan passthrough internal tidak mendukung hal berikut:
- VM backend di beberapa region.
- Menyeimbangkan traffic yang berasal dari internet, kecuali jika Anda menggunakannya dengan load balancer eksternal.
- Paket IPv6 dengan header yang terfragmentasi.
Akses klien
Secara default, load balancer hanya mendukung klien yang berada di region yang sama dengan load balancer. Klien dapat berada di jaringan yang sama dengan load balancer atau di jaringan VPC yang terhubung menggunakan Peering Jaringan VPC. Anda dapat mengaktifkan akses global untuk mengizinkan klien dari region mana pun mengakses Load Balancer Jaringan passthrough internal Anda.
Tabel berikut merangkum akses klien.
| Akses global dinonaktifkan | Akses global diaktifkan |
|---|---|
| Klien harus berada di region yang sama dengan load balancer. Backend juga harus berada di jaringan VPC yang sama dengan load balancer atau di jaringan VPC yang terhubung ke jaringan VPC load balancer menggunakan Peering Jaringan VPC. | Klien dapat berada di wilayah mana pun. Backend tersebut tetap harus berada di jaringan VPC yang sama dengan load balancer atau di jaringan VPC yang terhubung ke jaringan VPC load balancer menggunakan Peering Jaringan VPC. |
| Klien lokal dapat mengakses load balancer melalui tunnel Cloud VPN atau lampiran VLAN. Tunnel atau lampiran ini harus berada di region yang sama dengan load balancer. | Klien lokal dapat mengakses load balancer melalui tunnel Cloud VPN atau lampiran VLAN. Tunnel atau lampiran ini dapat berada di region mana pun. |
Alamat IP untuk paket permintaan dan respons
Saat VM backend menerima paket yang di-load balance dari klien, sumber dan tujuan paket adalah sebagai berikut:
- Sumber: IPv4, IPv6 internal klien, atau alamat IPv4 dari salah satu rentang IPv4 alias klien.
- Tujuan: alamat IP aturan penerusan load balancer. Aturan penerusan menggunakan satu alamat IPv4 internal atau rentang IPv6 internal.
Meskipun lingkungan tamu secara otomatis mengonfigurasi rute lokal sehingga sistem operasi VM menerima traffic yang ditujukan ke alamat IP load balancer, sistem operasi tidak dapat mengirimkan paket ini ke aplikasi Anda jika aplikasi dikonfigurasi untuk hanya memproses alamat IP internal yang ditetapkan VM.
Untuk memastikan bahwa sistem operasi mengirimkan paket ke aplikasi Anda, konfigurasi aplikasi yang berjalan di VM backend untuk melakukan hal berikut:
- Memproses (mengikat ke) alamat IP aturan penerusan load balancer atau alamat IP apa pun (
0.0.0.0atau::)
- Jika protokol aturan penerusan load balancer mendukung port, dengarkan (ikat ke) port yang disertakan dalam aturan penerusan load balancer
Paket kembali dikirim langsung dari VM backend load balancer ke klien. Alamat IP sumber paket yang dikembalikan bergantung pada protokol:
- TCP dan SCTP berorientasi koneksi sehingga VM backend harus membalas dengan paket yang alamat IP sumbernya cocok dengan alamat IP tujuan paket yang meminta sehingga klien dapat mengaitkan paket respons dengan koneksi TCP yang sesuai.
- UDP, ICMP, ICMPv6, ESP, AH, dan GRE tidak memiliki koneksi. VM backend dapat mengirim paket respons yang alamat IP sumbernya cocok dengan alamat IP aturan penerusan atau cocok dengan alamat IP yang ditetapkan untuk VM. Secara praktis, sebagian besar klien mengharapkan respons berasal dari alamat IP yang sama dengan alamat IP yang digunakan untuk mengirim paket.
Tabel berikut merangkum alamat IP sumber dan tujuan untuk paket respons:
| Jenis traffic | Sumber | Tujuan |
|---|---|---|
| TCP, SCTP | Tujuan paket yang meminta | Sumber paket yang meminta |
| UDP, ICMP, ICMPv6, ESP, AH, dan GRE | Untuk sebagian besar kasus penggunaan, tujuan paket permintaan1 | Sumber paket yang meminta |
1 Anda dapat menetapkan sumber paket respons ke alamat IPv4 internal utama NIC VM atau rentang alamat IP alias. Jika VM mengaktifkan penerusan IP, sumber alamat IP arbitrer juga dapat digunakan. Tidak menggunakan alamat IP aturan penerusan sebagai sumber adalah skenario lanjutan karena klien menerima paket respons dari alamat IP internal yang tidak cocok dengan alamat IP yang dikirimkan paket permintaan.
Arsitektur
Load Balancer Jaringan passthrough internal dengan beberapa backend mendistribusikan koneksi di antara semua backend tersebut. Untuk mengetahui informasi tentang metode distribusi dan opsi konfigurasinya, lihat distribusi traffic.
Anda dapat menggunakan grup instance atau NEG zonal, tetapi tidak keduanya secara bersamaan, sebagai backend untuk Load Balancer Jaringan passthrough internal:
- Jika memilih grup instance, Anda dapat menggunakan grup instance tidak terkelola, grup instance terkelola menurut zona, grup instance terkelola regional, atau kombinasi jenis grup instance.
- Jika memilih NEG zona, Anda harus menggunakan NEG zona
GCE_VM_IP.
Ketersediaan tinggi menjelaskan cara mendesain load balancer internal yang tidak bergantung pada satu zona.
Instance yang berpartisipasi sebagai VM backend untuk Load Balancer Jaringan passthrough internal harus menjalankan lingkungan tamu Linux atau Windows yang sesuai atau proses lain yang menyediakan fungsi yang setara. Lingkungan tamu ini harus dapat
menghubungi server metadata (metadata.google.internal, 169.254.169.254) untuk
membaca metadata instance sehingga dapat membuat rute lokal untuk menerima traffic
yang dikirim ke alamat IP internal load balancer.
Diagram ini menunjukkan distribusi traffic di antara VM yang berada di dua grup instance terpisah. Traffic yang dikirim dari instance klien ke alamat IP load balancer (10.10.10.9) didistribusikan di antara VM backend dalam salah satu grup instance. Respons yang dikirim dari VM backend penayangan mana pun dikirim langsung ke VM klien.
Anda dapat menggunakan Load Balancer Jaringan passthrough internal dengan jaringan VPC mode kustom atau mode otomatis. Anda juga dapat membuat Load Balancer Jaringan passthrough internal dengan jaringan lama yang ada.
Load Balancer Jaringan passthrough internal tidak mendukung hal berikut:
- VM backend di beberapa region
- Menyeimbangkan traffic yang berasal dari internet, kecuali jika Anda menggunakannya dengan load balancer eksternal
- Paket IPv6 dengan header yang terfragmentasi
Alamat IP internal
Load Balancer Jaringan passthrough internal mendukung subnet khusus IPv4, dual-stack, dan khusus IPv6. Untuk mengetahui informasi selengkapnya tentang masing-masing jenis subnet, lihat Jenis subnet.
Load Balancer Jaringan passthrough internal memerlukan minimal satu aturan penerusan. Aturan penerusan mereferensikan alamat IP internal:
- Untuk traffic IPv4, aturan penerusan mereferensikan alamat IPv4 dari rentang subnet IPv4 utama.
Untuk traffic IPv6, aturan penerusan mereferensikan rentang alamat IPv6 internal
/96dari rentang alamat IPv6 internal/64subnet. Subnet harus berupa subnet dual-stack atau single-stack khusus IPv6 dengan rentang alamat IPv6 internal (ipv6-access-typeditetapkan keINTERNAL). Rentang alamat IPv6 dapat berupa alamat statis yang dicadangkan atau alamat sementara.Untuk mengetahui informasi selengkapnya tentang dukungan IPv6, lihat dokumentasi VPC tentang rentang subnet IPv6 dan alamat IPv6.
Konfigurasi firewall
Load Balancer Jaringan passthrough internal memerlukan konfigurasi berikut untuk kebijakan firewall hierarkis dan aturan firewall VPC:
- Izinkan ingress dari rentang sumber pemeriksaan kesehatan IPv4 atau IPv6.
- Mengizinkan ingress dari rentang sumber alamat IPv4 atau IPv6 klien.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi aturan firewall.
Aturan penerusan
Aturan penerusan menentukan protokol dan port tempat load balancer menerima traffic. Karena Load Balancer Jaringan passthrough internal bukan proxy, Load Balancer ini meneruskan traffic ke backend dengan protokol dan port yang sama.
Load Balancer Jaringan passthrough internal memerlukan minimal satu aturan penerusan internal. Anda dapat menentukan beberapa aturan penerusan untuk load balancer yang sama.
Jika Anda ingin load balancer menangani traffic IPv4 dan IPv6, buat dua aturan penerusan: satu aturan untuk traffic IPv4 yang mengarah ke backend IPv4 (atau dual-stack), dan satu aturan untuk traffic IPv6 yang hanya mengarah ke backend dual-stack. Anda dapat membuat aturan penerusan IPv4 dan IPv6 yang merujuk ke layanan backend yang sama, tetapi layanan backend harus merujuk ke backend stack ganda.
Aturan penerusan harus mereferensikan subnet tertentu di jaringan dan region VPC yang sama dengan komponen backend load balancer. Persyaratan ini memiliki implikasi berikut:
- Subnet yang Anda tentukan untuk aturan penerusan tidak harus sama dengan subnet yang digunakan oleh VM backend; namun, subnet harus berada di region yang sama dengan aturan penerusan.
- Untuk traffic IPv4, aturan penerusan internal mereferensikan alamat IPv4 internal regional dari rentang alamat IPv4 utama subnet yang Anda pilih. Alamat IPv4 dapat ditetapkan dengan menentukan alamat IPv4 internal yang dicadangkan, menentukan alamat IPv4 sementara kustom, atau mengizinkan Google Cloud menetapkan alamat IPv4 sementara secara otomatis.
Untuk traffic IPv6, aturan penerusan mereferensikan rentang alamat IPv6
/96dari rentang alamat IPv6 internal/64subnet. Subnet harus berupa subnet dual-stack denganipv6-access-typeyang disetel keINTERNAL. Rentang alamat IPv6/96dapat ditetapkan dengan menentukan alamat IPv6 internal yang dicadangkan, menentukan alamat IPv6 sementara kustom, atau mengizinkan Google Cloud menetapkan alamat IPv6 sementara secara otomatis.Untuk menentukan alamat IPv6 sementara kustom, Anda harus menggunakan gcloud CLI atau API. Konsol Google Cloud tidak mendukung penentuan alamat IPv6 ephemeral kustom untuk aturan penerusan.
Protokol aturan penerusan
Load Balancer Jaringan passthrough internal mendukung opsi protokol IPv4 berikut untuk setiap aturan penerusan: TCP, UDP, atau L3_DEFAULT.
Load Balancer Jaringan passthrough internal mendukung opsi protokol IPv6 berikut untuk setiap aturan penerusan: TCP atau UDP.
Opsi L3_DEFAULT memungkinkan Anda
melakukan load balancing
protokol TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, dan GRE.
Selain mendukung protokol selain TCP dan UDP, opsi
L3_DEFAULT memungkinkan
satu aturan penerusan meneruskan traffic untuk
beberapa protokol secara bersamaan. Misalnya, selain membuat permintaan HTTP, Anda juga dapat melakukan ping ke alamat IP load balancer.
Aturan penerusan yang menggunakan protokol TCP atau UDP dapat mereferensikan layanan backend dengan menggunakan protokol yang sama dengan aturan penerusan atau layanan backend yang menggunakan protokol UNSPECIFIED.
Jika menggunakan protokol L3_DEFAULT, Anda harus mengonfigurasi aturan penerusan untuk menerima traffic di semua port. Untuk mengonfigurasi semua port, tetapkan
--ports=ALL menggunakan
Google Cloud CLI, atau tetapkan allPorts ke
True menggunakan API.
Tabel berikut merangkum cara menggunakan setelan ini untuk berbagai protokol:
| Traffic yang akan di-load balance | Protokol aturan penerusan | Protokol layanan backend |
|---|---|---|
| TCP (IPv4 atau IPv6) | TCP |
TCP or UNSPECIFIED |
| UDP (IPv4 atau IPv6) | UDP |
UDP or UNSPECIFIED |
| TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH, dan GRE | L3_DEFAULT |
UNSPECIFIED |
Aturan penerusan dan akses global
Aturan penerusan Load Balancer Jaringan passthrough internal bersifat regional, meskipun akses global diaktifkan. Setelah Anda mengaktifkan akses global, flag allowGlobalAccess aturan penerusan internal regional akan disetel ke true.
Aturan penerusan dan spesifikasi port
Saat membuat aturan penerusan internal, Anda harus memilih salah satu spesifikasi port berikut:
- Tentukan minimal satu dan hingga lima port, berdasarkan nomor.
- Tentukan
ALLuntuk meneruskan traffic di semua port.
Aturan penerusan internal yang mendukung semua port TCP atau semua port UDP memungkinkan VM backend menjalankan beberapa aplikasi, masing-masing di portnya sendiri. Traffic yang dikirim ke port tertentu akan dikirimkan ke aplikasi yang sesuai, dan semua aplikasi menggunakan alamat IP yang sama.
Jika Anda perlu meneruskan traffic di lebih dari lima port tertentu, gabungkan
aturan firewall dengan aturan penerusan. Saat membuat
aturan penerusan, tentukan semua port, lalu buat aturan firewall allow masuk
yang hanya mengizinkan traffic ke port yang diinginkan. Terapkan aturan firewall ke VM backend.
Anda tidak dapat mengubah aturan penerusan setelah membuatnya. Jika Anda perlu mengubah port yang ditentukan atau alamat IP internal untuk aturan penerusan internal, Anda harus menghapus dan membuatnya ulang.
Beberapa aturan penerusan untuk satu layanan backend
Anda dapat mengonfigurasi beberapa aturan penerusan internal yang semuanya mereferensikan layanan backend internal yang sama. Load Balancer Jaringan passthrough internal memerlukan minimal satu aturan penerusan internal.
Mengonfigurasi beberapa aturan penerusan untuk layanan backend yang sama memungkinkan Anda melakukan hal berikut:
Tetapkan beberapa alamat IP ke load balancer. Anda dapat membuat beberapa aturan penerusan, yang masing-masing menggunakan alamat IP unik. Setiap aturan penerusan dapat menentukan semua port atau serangkaian hingga lima port.
Tetapkan kumpulan port tertentu, menggunakan alamat IP yang sama, ke load balancer. Anda dapat membuat beberapa aturan penerusan yang berbagi alamat IP yang sama, dengan setiap aturan penerusan menggunakan hingga lima port tertentu. Cara ini merupakan alternatif untuk mengonfigurasi satu aturan penerusan yang menentukan semua port.
Untuk mengetahui informasi selengkapnya tentang skenario yang melibatkan dua aturan penerusan internal atau lebih yang berbagi alamat IP internal yang sama, lihat Beberapa aturan penerusan dengan alamat IP yang sama.
Saat menggunakan beberapa aturan penerusan internal, pastikan Anda mengonfigurasi software yang berjalan di VM backend untuk mengikat semua alamat IP aturan penerusan atau ke alamat apa pun (0.0.0.0/0 untuk IPv4 atau ::/0 untuk IPv6). Alamat IP tujuan untuk paket yang dikirim melalui load balancer adalah alamat IP internal yang terkait dengan aturan penerusan internal yang sesuai. Untuk mengetahui informasi selengkapnya, lihat Paket permintaan dan respons TCP dan UDP.
Layanan backend
Setiap Load Balancer Jaringan passthrough internal memiliki satu layanan backend internal regional yang menentukan parameter dan perilaku backend. Nama layanan backend adalah nama Load Balancer Jaringan passthrough internal yang ditampilkan di konsol Google Cloud .
Setiap layanan backend menentukan parameter backend berikut:
Protocol. Layanan backend mendukung traffic IPv4 dan IPv6. Jika protokol memiliki konsep port (seperti
TCPatauUDP), layanan backend akan mengirimkan paket ke VM backend di port tujuan yang sama dengan port tujuan traffic dikirim.Layanan backend mendukung opsi protokol IPv4 berikut:
TCP,UDP, atauUNSPECIFIED.Layanan backend mendukung opsi protokol IPv6 berikut:
TCPatauUDP. Protokol layanan backend harus berkoordinasi dengan protokol aturan penerusan.Untuk tabel dengan kemungkinan kombinasi protokol layanan backend dan aturan penerusan, lihat Spesifikasi protokol aturan penerusan.
Distribusi traffic. Layanan backend memungkinkan traffic didistribusikan sesuai dengan