Load balancing untuk API Gateway

Integrasi dukungan Load Balancer Aplikasi eksternal Global dan Load Balancer Aplikasi Klasik untuk API Gateway memungkinkan backend serverless Anda memanfaatkan semua fitur yang disediakan oleh Cloud Load Balancing. Dengan menggabungkan API Gateway dengan Load Balancer Aplikasi eksternal global atau Load Balancer Aplikasi klasik menggunakan Grup Endpoint Jaringan (NEG) serverless, Anda dapat:

  • Menghosting gateway dengan domain bermerek kustom
  • Mengonfigurasi TLS untuk gateway menggunakan sertifikat yang dikeluarkan oleh otoritas sertifikasi pilihan
  • Membuat titik entri umum untuk perutean gateway ke beberapa backend
  • Men-deploy gateway di beberapa region geografis untuk ketersediaan tinggi tanpa mengelola URL untuk setiap region
  • Melindungi gateway dengan Cloud Armor
  • Meningkatkan waktu respons gateway dengan memanfaatkan Cloud CDN

Menggunakan NEG tanpa server untuk API Gateway

Grup endpoint jaringan (NEG) menentukan grup endpoint backend untuk load balancer. NEG serverless adalah backend yang mengarah ke backend serverless yang dihosting Google seperti Cloud Run, App Engine, atau API Gateway. Backend NEG serverless untuk API Gateway dapat mewakili:

  • Instance API Gateway
  • Sekelompok gateway yang dikonfigurasi dengan konfigurasi API yang sama

Gambar berikut menunjukkan cara NEG serverless dapat digunakan dalam model Cloud Load Balancing:

diagram neg serverless sebagai backend untuk gateway multi-region

Seperti yang diilustrasikan dalam contoh sebelumnya, layanan backend dapat dikelola oleh beberapa NEG tanpa server. Setiap NEG tanpa server dapat berisi satu instance API Gateway atau menggunakan masker URL untuk mengarah ke beberapa gateway. Karena semua NEG yang bertindak sebagai layanan backend digunakan untuk load balancing, NEG tersebut harus mewakili deployment gateway yang setara secara fungsional. Misalnya, semua NEG harus memiliki konfigurasi API yang sama yang di-deploy ke setiap gateway di region yang berbeda. Jika layanan backend berisi beberapa NEG, load balancer akan menyeimbangkan traffic di antara NEG ini sekaligus meminimalkan latensi permintaan.

Batasan pada NEG tanpa server dan API Gateway

Beberapa batasan harus dipertimbangkan saat menggunakan NEG serverless untuk mengintegrasikan Cloud Load Balancing untuk API Gateway. Terutama:

  • NEG tanpa server tidak dapat memiliki Endpoint Jaringan, seperti alamat IP atau port, yang terpasang.
  • NEG tanpa server hanya dapat mengarah ke instance API Gateway yang berada di region yang sama dengan tempat NEG dibuat.
  • NEG tanpa server hanya dapat mengarah ke instance API Gateway yang dibuat dalam project yang sama dengan load balancer menggunakan backend NEG Tanpa Server.
  • API Gateway tidak mendukung setelan kontrol Ingress. Akibatnya, tidak ada cara untuk menonaktifkan akses ke API Gateway menggunakan URL gateway yang dibuat layanan dan memastikan bahwa semua traffic ditangani oleh load balancer.

Untuk mengetahui informasi selengkapnya tentang batasan yang berkaitan dengan NEG serverless dan layanan backend secara umum, lihat Batasan.

Batasan pada NEG serverless dalam konfigurasi layanan backend

Layanan backend menentukan cara Cloud Load Balancing mendistribusikan traffic. Konfigurasi layanan backend berisi kumpulan nilai, seperti protokol yang digunakan untuk terhubung ke backend, berbagai setelan distribusi dan sesi, health check, dan waktu tunggu. Untuk NEG serverless yang digunakan sebagai layanan backend untuk API Gateway, setelan ini memberikan kontrol terperinci atas perilaku load balancer Anda.

Definisi resource layanan backend memiliki implikasi berikut untuk desain load balancing Anda:

  • NEG tanpa server tidak dapat digunakan dengan jenis NEG lainnya dalam layanan backend yang sama. Misalnya, Anda tidak dapat merutekan ke cluster GKE dan instance API Gateway dari layanan backend yang sama.
  • Semua NEG serverless yang digabungkan dalam layanan backend harus menggunakan jenis backend yang sama. Artinya, NEG tanpa server API Gateway hanya dapat digabungkan dengan NEG tanpa server API Gateway lainnya, NEG tanpa server App Engine hanya dapat digabungkan dengan NEG tanpa server App Engine.
  • Layanan backend hanya boleh berisi satu NEG Tanpa Server per region.

Saat menentukan konfigurasi layanan backend yang merutekan ke NEG serverless, batasan kolom berikut berlaku:

  • balancingMode tidak dapat ditentukan
  • Kolom healthCheck harus kosong dan tidak dapat ditentukan
  • Port tidak dapat ditentukan
  • Hanya protokol HTTP dan HTTPS yang didukung.
  • Nilai yang ditentukan di kolom terkait utilization atau connection tidak didukung.

Kolom IAP, cdnPolicy, dan securityPolicy dalam konfigurasi layanan backend valid untuk NEG serverless. Kolom ini dapat digunakan untuk menyiapkan Identity-Aware Proxy, Cloud CDN, dan Cloud Armor masing-masing dengan layanan API Gateway Anda.

Apa langkah selanjutnya?