Load Balancer Aplikasi adalah load balancer Lapisan 7 berbasis proxy yang memungkinkan Anda menjalankan dan menskalakan layanan. Load Balancer Aplikasi mendistribusikan traffic HTTP dan HTTPS ke backend yang dihosting di berbagai Google Cloud platform, seperti Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage, dan Cloud Run, serta backend eksternal yang terhubung melalui internet atau menggunakan konektivitas hybrid.
Load Balancer Aplikasi tersedia dalam mode deployment berikut:
Load Balancer Aplikasi eksternal: Melakukan load balancing pada traffic yang berasal dari klien di internet. Untuk mengetahui detail arsitekturnya, lihat arsitektur Load Balancer Aplikasi eksternal.
Mode deployment Tingkat layanan jaringan Skema load balancing Alamat IP Port frontend Eksternal global Paket Premium EXTERNAL_MANAGED IPv4
IPv6Dapat mereferensikan tepat satu port dari 1-65535.
Eksternal regional Paket Premium atau Standar EXTERNAL_MANAGED IPv4 Klasik Global di Paket Premium
Regional di Paket Standar
EXTERNAL* IPv4
IPv6 (memerlukan Paket Premium)* Anda dapat melampirkan layanan backendEXTERNAL_MANAGEDkeEXTERNALaturan penerusan. Namun, layanan backendEXTERNALtidak dapat dilampirkan ke aturan penerusanEXTERNAL_MANAGED. Untuk memanfaatkan fitur baru yang tersedia hanya dengan Load Balancer Aplikasi eksternal global, sebaiknya migrasikan resourceEXTERNALyang ada keEXTERNAL_MANAGEDmenggunakan proses migrasi yang dijelaskan di Memigrasikan resource dari Load Balancer Aplikasi eksternal klasik ke global.Load Balancer Aplikasi internal: Melakukan load balancing pada traffic dalam jaringan VPC atau jaringan yang terhubung ke jaringan VPC Anda. Untuk mengetahui detail arsitekturnya, lihat arsitektur Load Balancer Aplikasi internal.
Mode deployment Tingkat layanan jaringan Skema load balancing Alamat IP Port frontend Internal regional Paket Premium INTERNAL_MANAGED IPv4 Dapat mereferensikan tepat satu port dari 1-65535.
Internal lintas region*
Paket Premium INTERNAL_MANAGED IPv4 * Load balancer menggunakan resource global dan dapat di-deploy di satu atau beberapa Google Cloud region yang Anda pilih.
Skema load balancing adalah atribut di aturan penerusan dan layanan backend load balancer dan menunjukkan apakah load balancer dapat digunakan untuk traffic internal atau eksternal. Istilah _MANAGED dalam skema load balancing
menunjukkan bahwa load balancer diimplementasikan sebagai layanan terkelola di
Google
Front End (GFE) atau di proxy Envoy open source. Dalam skema load balancing
dengan _MANAGED, permintaan dirutekan ke GFE atau ke
proxy Envoy.
Load Balancer Aplikasi Eksternal
Load Balancer Aplikasi Eksternal diimplementasikan menggunakan Google Front End (GFE) atau proxy terkelola. Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi klasik menggunakan GFE yang didistribusikan secara global, beroperasi bersama menggunakan jaringan global dan bidang kontrol Google. GFE menawarkan load balancing multi-region di paket Premium, mengarahkan traffic ke backend sehat terdekat yang memiliki kapasitas dan menghentikan traffic HTTP(S) sedekat mungkin dengan pengguna Anda. Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi eksternal regional menggunakan software proxy Envoy open source untuk mengaktifkan kemampuan pengelolaan traffic lanjutan.
Load balancer ini dapat di-deploy dalam salah satu mode berikut: global, regional, atau klasik.
Load Balancer Aplikasi Eksternal mendukung kemampuan berikut:
- Pengelolaan traffic lanjutan seperti pencerminan traffic, pemisahan traffic berbasis bobot, dan transformasi header berbasis permintaan/respons. Untuk mengetahui detailnya, lihat Ringkasan pengelolaan traffic.
- Traffic load balancing ke backend yang dihosting di berbagai Google Cloud platform seperti Compute Engine, Google Kubernetes Engine (GKE), Cloud Run, dan lainnya. Dukungan backend bergantung pada mode deployment load balancer. Untuk mengetahui detailnya, lihat Ringkasan Load Balancer Aplikasi Eksternal overview.
- Respons yang di-cache dengan Cloud CDN.
- Perlindungan dari DDoS atau serangan web lainnya menggunakan Google Cloud Armor.
- Load balancing ke GKE menggunakan Ingress atau Gateway (diorkestrasi sepenuhnya) atau NEG mandiri.
- Pengorganisasian Load Balancer Aplikasi global, regional, dan lintas region serta Load Balancer Jaringan proxy di aplikasi App Hub untuk memahami interaksi load balancer dan mendukung fungsi bisnis.
Diagram berikut menunjukkan contoh arsitektur Load Balancer Aplikasi eksternal.
Untuk ringkasan lengkap, lihat Ringkasan arsitektur untuk Load Balancer Aplikasi Eksternal.
Load Balancer Aplikasi Internal
Load Balancer Aplikasi internal adalah load balancer Lapisan 7 regional berbasis proxy Envoy yang memungkinkan Anda menjalankan dan menskalakan traffic aplikasi HTTP di balik alamat IP internal. Load Balancer Aplikasi internal mendukung backend di satu region, tetapi dapat dikonfigurasi agar dapat diakses secara global oleh klien dari region mana pun. Google Cloud
Load balancer mendistribusikan traffic ke backend yang dihosting di Google Cloud, lokal, atau di lingkungan cloud lainnya. Load Balancer Aplikasi internal juga mendukung fitur berikut:
- Kebijakan lokalitas. Dalam grup instance backend atau grup endpoint jaringan, Anda dapat mengonfigurasi cara permintaan didistribusikan ke instance atau endpoint anggota. Untuk mengetahui detailnya, lihat Pengelolaan traffic.
- Akses global. Jika akses global diaktifkan, klien dari region mana pun dapat mengakses load balancer. Untuk mengetahui detailnya, lihat Mengaktifkan akses global.
- Akses dari jaringan yang terhubung. Anda dapat membuat load balancer dapat diakses oleh klien dari jaringan di luar Google Cloud jaringan Virtual Private Cloud (VPC) miliknya. Jaringan lain harus terhubung ke jaringan VPC load balancer menggunakan Peering Jaringan VPC, Cloud VPN, atau Cloud Interconnect. Untuk mengetahui detailnya, lihat Mengakses jaringan yang terhubung.
- Kompatibilitas dengan GKE menggunakan Ingress (diorkestrasi sepenuhnya). Untuk mengetahui detailnya, lihat Mengonfigurasi Ingress untuk Load Balancer Aplikasi internal.
- Pengorganisasian Load Balancer Aplikasi internal global dan Load Balancer Aplikasi internal regional di aplikasi App Hub untuk memahami interaksi load balancer dan mendukung fungsi bisnis.
Untuk ringkasan lengkap, lihat Ringkasan arsitektur untuk Load Balancer Aplikasi internal.
Integrasi dengan Cloud NGFW
Anda dapat menggunakan aturan dalam kebijakan firewall Cloud NGFW untuk mengontrol akses ke proxy Envoy yang digunakan oleh Load Balancer Aplikasi internal regional dan Load Balancer Aplikasi internal lintas region. Cloud NGFW Essentials dan Cloud NGFW Standard mendukung fitur ini.Untuk mengetahui informasi selengkapnya, lihat Menggunakan kebijakan firewall jaringan regional untuk melindungi Load Balancer Aplikasi internal dan Load Balancer Jaringan proxy internal.
Kasus penggunaan
Bagian berikut menggambarkan beberapa kasus penggunaan umum untuk Load Balancer Aplikasi.
Layanan web tiga tingkat
Anda dapat men-deploy kombinasi Load Balancer Aplikasi dan Load Balancer Jaringan untuk mendukung layanan web tiga tingkat konvensional. Contoh berikut menunjukkan cara men-deploy setiap tingkat, bergantung pada jenis traffic Anda:
- Tingkat web. Frontend aplikasi ditayangkan oleh Load Balancer Aplikasi eksternal dengan backend grup instance. Traffic masuk dari internet dan di-proxy dari load balancer ke sekumpulan backend grup instance di berbagai region. Backend ini mengirimkan traffic HTTP(S) ke sekumpulan Load Balancer Aplikasi internal.
- Tingkat aplikasi. Middleware aplikasi di-deploy dan diskalakan menggunakan Load Balancer Aplikasi internal dan backend grup instance. Load balancer mendistribusikan traffic ke grup instance middleware. Grup instance middleware ini kemudian mengirimkan traffic ke Load Balancer Jaringan passthrough internal.
- Tingkat database. Load Balancer Jaringan berfungsi sebagai frontend untuk tingkat database. Load balancer mendistribusikan traffic ke backend penyimpanan data di berbagai region.
Akses global untuk Load Balancer Aplikasi internal regional
Jika Anda mengaktifkan akses global untuk Load Balancer Aplikasi internal regional, VM klien tingkat web Anda dapat berada di region lain.
Contoh aplikasi multitier ini menunjukkan hal berikut:
- Tingkat web yang tersedia secara global dan terhubung ke internet yang melakukan load balancing pada traffic menggunakan Load Balancer Aplikasi eksternal.
- Tingkat database load-balanced backend internal di region
us-east1yang diakses oleh tingkat web global. - VM klien yang merupakan bagian dari tingkat web di region
europe-west1yang mengakses tingkat database load-balanced internal yang berlokasi dius-east1.
Workload dengan kepatuhan yurisdiksi
Beberapa workload dengan persyaratan peraturan atau kepatuhan mengharuskan konfigurasi jaringan dan penghentian traffic berada di region tertentu. Untuk workload ini, Load Balancer Aplikasi eksternal regional sering kali merupakan opsi yang lebih disukai untuk menyediakan kontrol yurisdiksi yang diperlukan oleh workload ini.
Pengelolaan traffic lanjutan
Load Balancer Aplikasi mendukung fitur pengelolaan traffic lanjutan yang memberi Anda kontrol terperinci atas cara penanganan traffic. Kemampuan ini mencakup hal berikut:
- Anda dapat memperbarui cara pengelolaan traffic tanpa perlu mengubah kode aplikasi.
- Anda dapat merutekan traffic secara cerdas berdasarkan parameter HTTP(S), seperti host, jalur, header, dan parameter permintaan lainnya. Misalnya, Anda dapat menggunakan bucket Cloud Storage untuk menangani konten video statis apa pun, dan Anda dapat menggunakan grup instance atau NEG untuk menangani semua permintaan lainnya.
- Anda dapat mengurangi risiko saat men-deploy versi baru aplikasi menggunakan pemisahan traffic berbasis bobot. Misalnya, Anda dapat mengirim 95% traffic ke versi layanan sebelumnya dan 5% ke versi layanan baru. Setelah memvalidasi bahwa versi baru berfungsi seperti yang diharapkan, Anda dapat secara bertahap menggeser persentase hingga 100% traffic mencapai versi layanan baru. Pemisahan traffic biasanya digunakan untuk men-deploy versi baru, pengujian A/B, migrasi layanan, memodernisasi layanan lama, dan proses serupa.
Berikut adalah contoh perutean berbasis jalur yang diimplementasikan menggunakan Load Balancer Aplikasi internal. Setiap jalur ditangani oleh backend yang berbeda.
Untuk mengetahui detail selengkapnya, lihat referensi berikut:
- Ringkasan pengelolaan traffic untuk Load Balancer Aplikasi eksternal global
- Ringkasan pengelolaan traffic untuk Load Balancer Aplikasi eksternal regional
Ekstensibilitas dengan Service Extensions
Integrasi dengan Service Extensions memungkinkan Anda menyuntikkan logika kustom ke jalur load balancing Load Balancer Aplikasi yang didukung.
Untuk mengetahui informasi selengkapnya, lihat Ringkasan Service Extensions.
Memigrasikan layanan lama ke Google Cloud
Memigrasikan layanan yang ada ke Google Cloud memungkinkan Anda mengosongkan kapasitas lokal dan mengurangi biaya serta beban pemeliharaan infrastruktur lokal. Anda dapat menyiapkan deployment hybrid untuk sementara yang memungkinkan Anda merutekan traffic ke layanan lokal saat ini dan endpoint layanan yang sesuai Google Cloud .
Diagram berikut menunjukkan penyiapan ini dengan Load Balancer Aplikasi internal. Jika menggunakan load balancer internal, Anda dapat mengonfigurasi load balancer untuk menggunakan pemisahan traffic berbasis bobot guna memisahkan traffic di antara kedua layanan. Google Cloud Pemisahan traffic memungkinkan Anda memulai dengan mengirim 0% traffic ke Google Cloud layanan dan 100% ke layanan lokal. Kemudian, Anda dapat secara bertahap meningkatkan proporsi traffic yang dikirim ke Google Cloud layanan. Pada akhirnya, Anda mengirim 100% traffic ke Google Cloud layanan, dan Anda dapat menghentikan layanan lokal.
Load balancing untuk aplikasi GKE
Ada tiga cara untuk men-deploy Load Balancer Aplikasi untuk cluster GKE:
- Pengontrol Gateway GKE. Hanya didukung oleh Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal regional. Untuk mengetahui petunjuk penyiapan, lihat Men-deploy gateway.
- Pengontrol Ingress GKE controller. Anda dapat menggunakan pengontrol Ingress GKE bawaan, yang men-deploy Google Cloud load balancer atas nama pengguna GKE. Ini sama dengan arsitektur load balancing mandiri, kecuali siklus prosesnya sepenuhnya otomatis dan dikontrol oleh GKE. Didukung oleh Load Balancer Aplikasi eksternal dan internal. Untuk mengetahui petunjuk penyiapan, lihat referensi berikut:
- NEG zona mandiri. NEG mandiri di-deploy dan dikelola melalui pengontrol NEG GKE, tetapi semua resource load balancing (aturan penerusan, health check, dan sebagainya) di-deploy secara manual. Resource ini didukung oleh Load Balancer Aplikasi eksternal dan internal.
Load balancing untuk aplikasi Cloud Run, Cloud Run Functions, dan App Engine
Anda dapat menggunakan Load Balancer Aplikasi sebagai frontend untuk aplikasi serverless Anda Google Cloud . Hal ini memungkinkan Anda mengonfigurasi aplikasi serverless untuk menayangkan permintaan dari alamat IP khusus yang tidak digunakan bersama dengan layanan lain.
Untuk menyiapkan hal ini, Anda menggunakan NEG serverless sebagai backend load balancer. Diagram berikut menunjukkan cara aplikasi serverless diintegrasikan dengan Load Balancer Aplikasi.
Eksternal global
Diagram ini menunjukkan cara NEG serverless sesuai dengan arsitektur Load Balancer Aplikasi eksternal global.
Eksternal regional
Diagram ini menunjukkan cara NEG serverless sesuai dengan arsitektur Load Balancer Aplikasi eksternal regional. Load balancer ini hanya mendukung backend Cloud Run.
Internal regional
Diagram ini menunjukkan cara NEG serverless sesuai dengan model Load Balancer Aplikasi internal regional. Load balancer ini hanya mendukung backend Cloud Run.
Internal lintas region
Diagram ini menunjukkan cara NEG serverless sesuai dengan model Load Balancer Aplikasi internal lintas region. Load balancer ini hanya mendukung backend Cloud Run.
Dokumentasi terkait:
- Ringkasan NEG serverless
- Menyiapkan Load Balancer Aplikasi eksternal global dengan backend Cloud Run, Cloud Run Functions, atau App Engine
- Menyiapkan Load Balancer Aplikasi eksternal regional dengan backend Cloud Run
- Menyiapkan Load Balancer Aplikasi internal regional dengan backend Cloud Run
- Menyiapkan Load Balancer Aplikasi internal lintas region dengan Cloud Run
Load balancing ke backend di luar Google Cloud
Load Balancer Aplikasi mendukung traffic load balancing ke endpoint yang melampaui batas Google Cloud, seperti pusat data lokal dan lingkungan cloud lainnya. Backend eksternal biasanya dapat diakses dengan salah satu cara berikut:
Dapat diakses melalui internet publik. Untuk endpoint ini, Anda menggunakan NEG internet sebagai backend load balancer. NEG internet dikonfigurasi untuk mengarah ke satu endpoint FQDN:Port atau IP:Port di backend eksternal. NEG internet dapat bersifat global atau regional.
Diagram berikut menunjukkan cara terhubung ke backend eksternal yang dapat diakses melalui internet publik menggunakan NEG internet global.
Load Balancer Aplikasi eksternal global dengan backend eksternal. Untuk mengetahui detail selengkapnya, lihat Ringkasan NEG internet.
Dapat diakses menggunakan konektivitas hybrid (Cloud Interconnect atau Cloud VPN). Untuk endpoint ini, Anda menggunakan NEG hybrid sebagai backend load balancer. NEG hybrid dikonfigurasi untuk mengarah ke endpoint IP:Port di backend eksternal.
Diagram berikut menunjukkan cara terhubung ke backend eksternal yang dapat diakses menggunakan Cloud Interconnect atau Cloud VPN.
Eksternal
Konektivitas hybrid dengan Load Balancer Aplikasi eksternal global. Internal
Konektivitas hybrid dengan Load Balancer Aplikasi internal. Untuk mengetahui detail selengkapnya, lihat Ringkasan NEG hybrid overview.
Integrasi dengan Private Service Connect
Private Service Connect memungkinkan penggunaan layanan secara pribadi di seluruh jaringan VPC yang dimiliki oleh grup, tim, project, atau organisasi yang berbeda. Anda dapat menggunakan Private Service Connect untuk mengakses Google API dan layanan atau layanan terkelola di jaringan VPC lain.
Anda dapat menggunakan Load Balancer Aplikasi eksternal global untuk mengakses layanan yang dipublikasikan menggunakan Private Service Connect. Untuk mengetahui informasi selengkapnya, lihat Tentang backend Private Service Connect.
Anda dapat menggunakan Load Balancer Aplikasi internal untuk mengirim permintaan ke Google API dan layanan regional yang didukung. Untuk mengetahui informasi selengkapnya, lihat Mengakses Google API melalui backend.
Ketersediaan tinggi dan failover lintas region
Failover lintas region hanya tersedia dengan Load Balancer Aplikasi eksternal global, Load Balancer Aplikasi klasik, dan Load Balancer Aplikasi internal lintas region. Load balancer ini memungkinkan Anda meningkatkan ketersediaan layanan saat membuat layanan backend global dengan backend di beberapa region. Jika backend di region tertentu tidak berfungsi, traffic akan melakukan failover ke region lain dengan lancar.
Untuk mempelajari lebih lanjut cara kerja failover, lihat topik berikut:
- Load Balancer Aplikasi eksternal global: Cara permintaan didistribusikan
- Load Balancer Aplikasi internal lintas region: Ketersediaan tinggi dan failover lintas region