Ringkasan Load Balancer Aplikasi

Load Balancer Aplikasi adalah load balancer Lapisan 7 berbasis proxy yang dapat digunakan untuk menjalankan dan menskalakan layanan Anda. Load Balancer Aplikasi mendistribusikan traffic HTTP dan HTTPS ke backend yang dihosting di berbagai platform Google Cloud, seperti Compute Engine, Google Kubernetes Engine (GKE), Cloud Storage, dan Cloud Run, serta backend eksternal yang terhubung melalui internet atau dengan menggunakan konektivitas hybrid.

Load Balancer Aplikasi tersedia dalam mode deployment berikut:

Mode deployment Tingkat layanan jaringan Skema load balancing Alamat IP Porta {i>frontend<i} Link
Load Balancer Aplikasi Eksternal

Load menyeimbangkan traffic yang berasal dari klien di internet.

Eksternal global Paket Premium EXTERNAL_MANAGED IPv4
IPv6

Dapat merujuk dengan tepat satu port dari 1-65535.

Detail arsitektur
Eksternal regional Paket Premium atau Standar EXTERNAL_MANAGED IPv4
Klasik

Global dalam Paket Premium

Regional di Tingkat Standar

EKSTERNAL IPv4
IPv6 memerlukan Paket Premium
Load Balancer Aplikasi Internal

Load balancing traffic dalam jaringan VPC Anda atau jaringan yang terhubung ke jaringan VPC Anda.

Internal regional Paket Premium INTERNAL_MANAGED IPv4

Dapat merujuk dengan tepat satu port dari 1-65535.

Detail arsitektur

Internal lintas region*

Paket Premium INTERNAL_MANAGED IPv4

Skema load balancing adalah atribut pada aturan penerusan dan layanan backend dari load balancer, serta menunjukkan apakah load balancer dapat digunakan untuk traffic internal atau eksternal. Istilah *_MANAGED dalam skema load balancing menunjukkan bahwa load balancer diterapkan sebagai layanan terkelola baik di Google Front Ends (GFE) atau di proxy Envoy open source. Dalam skema load balancing yaitu *_MANAGED, permintaan akan dirutekan ke GFE atau ke proxy Envoy.

* Load balancer menggunakan resource global dan dapat di-deploy di satu atau beberapa region Google Cloud yang Anda pilih.

Load Balancer Aplikasi Eksternal

Load Balancer Aplikasi Eksternal diimplementasikan menggunakan Google Front Ends (GFE) atau proxy yang terkelola. Load Balancer Aplikasi eksternal global dan Load Balancer Aplikasi klasik menggunakan GFE yang didistribusikan secara global, yang beroperasi bersama menggunakan jaringan global dan bidang kontrol Google. GFE menawarkan load balancing multi-region dalam paket Premium, yang mengarahkan traffic ke backend responsif 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:

Diagram berikut menunjukkan contoh arsitektur Load Balancer Aplikasi eksternal.

Arsitektur Load Balancer Aplikasi Eksternal.
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 belakang alamat IP internal. Load Balancer Aplikasi Internal mendukung backend di satu region, tetapi dapat dikonfigurasi agar dapat diakses secara global oleh klien dari region Google Cloud mana pun.

Load balancer mendistribusikan traffic ke backend yang dihosting di Google Cloud, secara 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 anggota atau endpoint. 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.
  • Mengakses dari jaringan yang terhubung. Anda dapat membuat load balancer dapat diakses oleh klien dari jaringan di luar jaringan Virtual Private Cloud (VPC) Google Cloud sendiri. Jaringan lainnya 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.
  • Load Balancer Aplikasi internal regional didukung dengan App Hub, yang sedang sedang dalam pratinjau.
Arsitektur Load Balancer Aplikasi Internal.
Arsitektur Load Balancer Aplikasi Internal.

Untuk mengetahui ringkasan lengkap, lihat Ringkasan arsitektur untuk Load Balancer Aplikasi internal.

Kasus penggunaan

Bagian berikut ini 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 konvensional tiga tingkat. Contoh berikut menunjukkan cara men-deploy setiap tingkat, bergantung pada jenis traffic Anda:

  • Tingkat web. Frontend aplikasi disalurkan oleh Load Balancer Aplikasi eksternal dengan backend grup instance. Traffic masuk dari internet dan di-proxy-kan dari load balancer ke sekumpulan backend grup instance di berbagai region. Backend ini mengirim traffic HTTP(S) ke serangkaian Load Balancer Aplikasi internal.
  • Tingkat aplikasi. Middleware aplikasi di-deploy dan diskalakan dengan menggunakan Load Balancer Aplikasi internal dan backend grup instance. Load balancer mendistribusikan traffic ke grup instance middleware. Kemudian, grup instance middleware ini mengirim traffic ke Load Balancer Jaringan passthrough internal.
  • Tingkat database. Load Balancer Jaringan berfungsi sebagai frontend untuk tingkat database. Mereka mendistribusikan traffic ke backend penyimpanan data di berbagai region.
Perutean berbasis lapisan 7 dalam aplikasi web tiga tingkat.
Pemilihan rute berbasis lapisan 7 dalam aplikasi web tiga tingkat.

Akses global untuk Load Balancer Aplikasi internal regional

Jika Anda mengaktifkan akses global untuk Load Balancer Aplikasi internal regional, VM klien tingkat web dapat berada di region lain.

Contoh aplikasi multi-tingkat ini menunjukkan hal berikut:

  • Tingkat web yang tersedia secara global untuk internet yang melakukan load balancing pada traffic menggunakan Load Balancer Aplikasi eksternal.
  • Tingkat database dengan load balancing backend internal di region us-east1 yang diakses oleh tingkat web global.
  • VM klien yang merupakan bagian dari tingkat web di region europe-west1 yang mengakses tingkat database dengan load balancing internal yang terletak di us-east1.
Aplikasi web tiga tingkat dengan Load Balancer Aplikasi eksternal, akses global, dan
         Load Balancer Aplikasi internal.
Aplikasi web tiga tingkat dengan Load Balancer Aplikasi eksternal, akses global, dan Load Balancer Aplikasi internal (klik untuk memperbesar).

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 menjadi opsi yang disarankan untuk menyediakan kontrol yurisdiksi yang dibutuhkan workload ini.

Pengelolaan traffic lanjutan

Load Balancer Aplikasi mendukung fitur pengelolaan traffic lanjutan yang memberi Anda kontrol terperinci atas cara penanganan traffic. Kemampuan ini meliputi:

  • Anda dapat mengupdate cara traffic dikelola 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 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 Anda sebelumnya dan 5% ke versi baru layanan Anda. Setelah memvalidasi bahwa versi baru berfungsi seperti yang diharapkan, Anda dapat mengubah persentase secara bertahap hingga 100% traffic mencapai layanan versi baru. Pembagian 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 dengan menggunakan Load Balancer Aplikasi internal. Setiap jalur ditangani oleh backend berbeda.

Perutean berbasis jalur dengan Load Balancer Aplikasi internal.
Pemilihan rute berbasis jalur dengan Load Balancer Aplikasi internal.

Untuk mengetahui detail selengkapnya, lihat referensi berikut:

Ekstensibilitas dengan Ekstensi Layanan

Info Ekstensi Layanan memungkinkan Anda memasukkan logika kustom ke jalur data load balancing. Dengan ekstensi ini, Anda dapat menginstruksikan Load Balancer Aplikasi yang didukung untuk melakukan panggilan gRPC ke aplikasi atau layanan yang dikelola pengguna selama pemrosesan data.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan Ekstensi Layanan.

Memigrasikan layanan lama ke Google Cloud

Dengan memigrasikan layanan yang ada ke Google Cloud, Anda dapat mengosongkan kapasitas lokal dan mengurangi biaya serta beban pemeliharaan infrastruktur lokal. Anda dapat menyiapkan deployment hybrid untuk sementara agar Anda dapat merutekan traffic ke layanan lokal Anda saat ini dan endpoint layanan Google Cloud yang sesuai.

Diagram berikut menunjukkan penyiapan ini dengan Load Balancer Aplikasi internal. Jika menggunakan load balancer internal, Anda dapat mengonfigurasi load balancer Google Cloud untuk menggunakan pembagian traffic berbasis bobot guna membagi traffic di kedua layanan. Pembagian traffic memungkinkan Anda memulai dengan mengirimkan 0% traffic ke layanan Google Cloud dan 100% ke layanan lokal. Anda kemudian dapat secara bertahap meningkatkan proporsi traffic yang dikirim ke layanan Google Cloud. Pada akhirnya, Anda mengirimkan 100% traffic ke layanan Google Cloud, dan Anda dapat menghentikan layanan lokal.

Memigrasikan layanan lama ke Google Cloud.
Memigrasikan layanan lama ke Google Cloud.

Load balancing untuk aplikasi GKE

Ada tiga cara untuk men-deploy Load Balancer Aplikasi untuk cluster GKE:

Load balancing untuk aplikasi Cloud Run, Cloud Functions, dan App Engine

Anda dapat menggunakan Load Balancer Aplikasi sebagai frontend untuk aplikasi serverless Google Cloud. Dengan begitu, Anda dapat mengonfigurasi aplikasi serverless untuk melayani permintaan dari alamat IP khusus yang tidak dibagikan ke layanan lain.

Untuk menyiapkannya, gunakan NEG serverless sebagai backend load balancer. Diagram berikut menunjukkan cara aplikasi serverless diintegrasikan dengan Load Balancer Aplikasi.

Eksternal global

Diagram ini menunjukkan kesesuaian NEG serverless dengan arsitektur Load Balancer Aplikasi eksternal global.

Arsitektur Load Balancer Aplikasi eksternal global untuk aplikasi serverless.
Arsitektur Load Balancer Aplikasi eksternal global untuk aplikasi serverless.

Eksternal regional

Diagram ini menunjukkan kesesuaian NEG serverless dengan arsitektur Load Balancer Aplikasi eksternal regional. Load balancer ini hanya mendukung backend Cloud Run.

Arsitektur Load Balancer Aplikasi eksternal regional untuk aplikasi serverless.
Arsitektur Load Balancer Aplikasi eksternal regional untuk aplikasi serverless.

Internal regional

Diagram ini menunjukkan kesesuaian NEG serverless dengan model Load Balancer Aplikasi internal regional. Load balancer ini hanya mendukung backend Cloud Run.

Arsitektur Load Balancer Aplikasi internal regional untuk aplikasi serverless.
Arsitektur Load Balancer Aplikasi internal regional untuk aplikasi serverless.

Internal lintas region

Diagram ini menunjukkan kesesuaian NEG serverless dengan model Load Balancer Aplikasi internal lintas region. Load balancer ini hanya mendukung backend Cloud Run.

Arsitektur Load Balancer Aplikasi internal lintas region untuk aplikasi serverless.
Arsitektur Load Balancer Aplikasi internal lintas region untuk aplikasi serverless (klik untuk memperbesar).

Dokumentasi terkait:

Load balancing ke backend di luar Google Cloud

Load Balancer Aplikasi mendukung traffic load balancing ke endpoint yang melampaui 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.
    Load Balancer Aplikasi eksternal global dengan backend eksternal.

    Untuk mengetahui detail selengkapnya, lihat ringkasan NEG Internet.

  • Dapat diakses dengan 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.
    Konektivitas hybrid dengan Load Balancer Aplikasi eksternal global.

    Internal

    Konektivitas hybrid dengan Load Balancer Aplikasi internal.
    Konektivitas hybrid dengan Load Balancer Aplikasi internal.

    Untuk mengetahui detail selengkapnya, lihat Ringkasan NEG Hybrid.

Integrasi dengan Private Service Connect

Private Service Connect memungkinkan penggunaan layanan secara pribadi di seluruh jaringan VPC yang termasuk dalam grup, tim, project, atau organisasi yang berbeda. Anda dapat menggunakan Private Service Connect untuk mengakses Google API dan layanan Google 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 informasi selengkapnya, lihat Tentang backend Private Service Connect.

Anda dapat menggunakan Load Balancer Aplikasi internal untuk mengirim permintaan ke Google API dan layanan Google regional yang didukung. Untuk 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 Anda membuat layanan backend global dengan backend di beberapa region. Jika backend di region tertentu tidak aktif, traffic akan beralih ke region lain dengan baik.

Untuk mempelajari lebih lanjut cara kerja failover, lihat topik berikut: