Service Extensions memungkinkan Anda menggunakan ekstensi untuk menginstruksikan Load Balancer Aplikasi yang didukung agar menggunakan plugin atau mengirimkan callout dari jalur data load balancing ke layanan backend callout atau layanan Google. Halaman ini memberikan ringkasan tentang ekstensi Cloud Load Balancing.
Anda dapat mengonfigurasi Load Balancer Aplikasi untuk menggunakan jenis ekstensi berikut:
Ekstensi Edge membantu Anda memanipulasi header permintaan untuk memengaruhi pemilihan layanan backend dan konten yang disajikan Cloud CDN dari cache. Ekstensi ini dikonfigurasi untuk berjalan lebih awal dalam siklus proses pemrosesan permintaan untuk memengaruhi keputusan caching dan perutean, masing-masing, di edge.
Ekstensi rute membantu Anda memengaruhi pemilihan layanan backend. Ekstensi ini dikonfigurasi untuk berjalan lebih awal dalam siklus proses pemrosesan permintaan.
Ekstensi otorisasi membantu Anda mengirim permintaan otorisasi ke mesin otorisasi kustom Anda. Anda mengonfigurasi ini di akhir siklus pemrosesan tepat sebelum load balancer mengirim permintaan ke backend.
Ekstensi traffic membantu mendukung logika keamanan kustom tambahan dan kemampuan pengelolaan traffic. Anda mengonfigurasi ini setelah ekstensi otorisasi tetapi sebelum load balancer mengirim permintaan ke backend atau menerima respons dari backend.
Load Balancer Aplikasi yang didukung untuk ekstensi yang dikelola pengguna
Ekstensi Layanan mendukung ekstensi yang dikelola pengguna untuk Load Balancer Aplikasi berikut:
| Load Balancer Aplikasi | Ekstensi | |||||||
|---|---|---|---|---|---|---|---|---|
| Edge | Rute | Otorisasi | Traffic | |||||
| Plugin | Plugin | Info | Info | Plugin | Info | |||
| Load Balancer Aplikasi eksternal global | ✓ | ✓ | ✓ | ✓ | ||||
| Load Balancer Aplikasi eksternal regional | ✓ Pratinjau | ✓ | ✓ | ✓ Pratinjau | ✓ | |||
| Load Balancer Aplikasi internal regional | ✓ Pratinjau | ✓ | ✓ | ✓ Pratinjau | ✓ | |||
| Load Balancer Aplikasi internal lintas region | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Titik ekstensibilitas di jalur data load balancing
Ekstensi Layanan mendukung ekstensi di berbagai tahap jalur data load balancing.
Gambar 1 menunjukkan cara Service Extensions mendukung ekstensi pada tahap keamanan aplikasi dan pengelolaan traffic untuk Load Balancer Aplikasi eksternal global.
Gambar 2 menunjukkan cara Service Extensions mendukung ekstensi pada tahap perutean, keamanan aplikasi, dan pengelolaan traffic untuk jenis load balancer berikut: Load Balancer Aplikasi eksternal regional, Load Balancer Aplikasi internal regional, dan Load Balancer Aplikasi internal lintas-region.
Cara kerja ekstensi tepi
Ekstensi edge berjalan terlebih dahulu di jalur pemrosesan permintaan dan memungkinkan Anda menggunakan header permintaan untuk memengaruhi pemilihan layanan backend dan konten yang ditayangkan Cloud CDN dari cache.
Setelah memanggil ekstensi edge, load balancer akan melakukan hal berikut:
- Memilih layanan backend dengan mengevaluasi peta URL
- Menerapkan kebijakan keamanan Google Cloud Armor
- Melakukan pencarian cache dan menyajikan dari cache jika ada cache yang ditemukan
- Menerapkan kebijakan Cloud Armor untuk layanan backend yang dipilih
- Menerapkan kebijakan CORS
- Menerapkan kebijakan afinitas sesi stateful
- Menerapkan kebijakan Identity-Aware Proxy (IAP) untuk layanan backend yang dipilih
- Ekstensi otorisasi panggilan, jika ada yang dikonfigurasi di jalur pemrosesan layanan backend yang dipilih
- Melakukan injeksi kesalahan
- Memanggil ekstensi lalu lintas, jika ada
- Melakukan penulisan ulang URL
- Melakukan manipulasi header sesuai dengan peta URL dan menambahkan variabel header permintaan kustom
- Melakukan pengalihan atau perutean ke layanan backend yang dipilih sambil menerapkan kebijakan waktu tunggu dan percobaan ulang di peta URL dan setelan load balancing untuk layanan backend
- Melakukan duplikasi permintaan
Cara kerja ekstensi otorisasi
Di jalur permintaan, ekstensi otorisasi dipanggil setelah ekstensi rute dipanggil dan backend untuk permintaan telah dipilih. Ekstensi ini tidak dapat memengaruhi pemilihan layanan backend.
Ekstensi otorisasi hanya dapat memproses header permintaan, bukan isi permintaan atau bagian apa pun dari respons.
Cara kerja ekstensi rute
Ekstensi rute berjalan terlebih dahulu di jalur pemrosesan permintaan saat load balancer menerima header permintaan dan sebelum mengevaluasi peta URL.
Setelah load balancer memanggil ekstensi rute untuk permintaan, load balancer akan melakukan hal berikut:
- Memilih layanan backend dengan mengevaluasi peta URL
- Menerapkan kebijakan Cloud Armor untuk layanan backend yang dipilih
- Menerapkan kebijakan IAP untuk layanan backend yang dipilih
- Melakukan injeksi kesalahan
- Melakukan transformasi header permintaan dan menyelesaikan variabel header permintaan kustom
- Ekstensi traffic panggilan, jika ada di jalur pemrosesan layanan backend yang dipilih
- Melakukan penulisan ulang URL
- Melakukan pengalihan atau perutean ke layanan backend yang dipilih dan menerapkan kebijakan waktu tunggu dan percobaan ulang di peta URL dan setelan load balancing lainnya untuk layanan backend
Cara kerja ekstensi lalu lintas
Load balancer menjalankan ekstensi traffic terakhir di jalur pemrosesan permintaan dan pertama di jalur pemrosesan respons.
Ekstensi ini memungkinkan Anda mengubah header dan payload permintaan dan respons tanpa memengaruhi pilihan layanan backend. Anda juga dapat menggunakan ekstensi traffic untuk pencatatan log kustom dengan menentukan informasi yang ingin Anda catat, format, dan penyedia eksternal.
Sebelum load balancer memanggil ekstensi traffic di jalur permintaan untuk suatu permintaan, load balancer akan melakukan hal berikut:
- Melakukan injeksi kesalahan
- Memilih layanan backend untuk permintaan
- Menerapkan kebijakan Cloud Armor untuk layanan backend yang dipilih
- Menerapkan kebijakan IAP untuk layanan backend yang dipilih
- Menerapkan kebijakan penge-cache-an Cloud CDN untuk layanan backend yang dipilih jika menggunakan Load Balancer Aplikasi eksternal global
Setelah load balancer memanggil ekstensi traffic di jalur permintaan untuk suatu permintaan, load balancer akan melakukan hal berikut:
- Melakukan penulisan ulang URL
- Melakukan manipulasi header sesuai dengan peta URL dan menambahkan variabel header permintaan kustom
- Melakukan pengalihan atau perutean ke layanan backend yang dipilih sambil menerapkan kebijakan waktu tunggu dan percobaan ulang di peta URL dan setelan load balancing untuk layanan backend
- Melakukan duplikasi permintaan
Setelah load balancer memanggil ekstensi traffic di jalur respons untuk permintaan, load balancer akan melakukan hal berikut:
- Melakukan transformasi header respons dan menyelesaikan variabel header respons kustom
- Melakukan logging menggunakan Cloud Logging
- Melakukan caching Cloud CDN dalam kasus Load Balancer Aplikasi eksternal global
Batasan untuk ekstensi
- Aturan penerusan hanya dapat memiliki satu resource
LbEdgeExtension, satu resourceLbTrafficExtension, dan satu resourceLbRouteExtension. - Untuk info promo, layanan backend info promo harus berada dalam project yang sama dengan aturan penerusan.
- Referensi lintas project antara ekstensi dan aturan penerusan tidak didukung.