Cloud-native API Gateway memungkinkan Anda menambahkan kebijakan dan mengonfigurasi plugin untuk API dan operasinya guna meningkatkan keamanan, kinerja, serta kemudahan pemeliharaan.
Perubahan kebijakan langsung berlaku tanpa perlu menerbitkan ulang API.
Secara default, gateway menerapkan konfigurasi plugin tingkat API pada tingkat operasi.
Meskipun kebijakan tingkat API tidak dapat dihapus pada tingkat operasi, kebijakan tingkat operasi dapat menggantikannya.
Prosedur
Anda dapat menambahkan kebijakan API melalui dua cara: dari luar instans atau dari dalam instans.
API di luar instans
Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi kiri, klik API dan pilih wilayah dari bilah menu atas.
Klik API yang dituju, lalu pilih instans yang diinginkan dari daftar drop-down.
API di dalam instans
Masuk ke Konsol Cloud-native API Gateway. Di panel navigasi kiri, klik Instance dan pilih wilayah dari bilah menu atas.
Pada halaman Instance, klik ID instans gateway yang dituju. Di panel navigasi kiri, klik API, lalu klik API yang dituju.
Anda dapat mengonfigurasi kebijakan dan plugin pada tingkat API atau tingkat operasi:
Tingkat API: Klik tab API Policy Configuration untuk mengonfigurasi kebijakan dan plugin untuk semua operasi pada tingkat API, lalu klik Enable Policy/Plug-in.
Tingkat operasi: Pada tab Operations, klik operasi yang dituju. Klik tab Policy Configuration, lalu klik Enable Policy/Plug-in.
Pada panel Enable Policy/Plug-in, pilih kebijakan atau plugin yang akan dikonfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasi kebijakan dan Konfigurasi plugin.
Kebijakan
Kebijakan pembatasan kecepatan
Cloud-native API Gateway mendukung kebijakan pembatasan kecepatan pada tingkat API dan operasi. Kebijakan ini mencegah permintaan inbound membebani layanan backend Anda serta membantu menghindari kegagalan berantai. Dalam skenario konkurensi tinggi, pembatasan kecepatan melindungi ketersediaan layanan backend dengan memblokir sebagian permintaan, sehingga memungkinkan Anda mengontrol secara tepat jumlah permintaan untuk setiap API dan operasi dalam periode waktu tertentu agar tidak melebihi ambang batas yang telah ditetapkan.
Kebijakan pembatasan kecepatan mencakup Kontrol Konkurensi, Kontrol Trafik, dan Pemutusan Sirkuit.
Kebijakan kontrol konkurensi: Kebijakan ini membatasi jumlah permintaan konkuren dengan menghitung total permintaan yang sedang diproses oleh gateway. Ketika jumlah tersebut mencapai ambang batas yang dikonfigurasi, gateway segera memblokir trafik baru. Anda dapat mengatur ambang batas ini sesuai dengan kapasitas maksimum permintaan konkuren yang dapat ditangani oleh layanan backend guna melindungi ketersediaannya selama lonjakan trafik.
Kebijakan kontrol trafik: Kebijakan ini membatasi laju permintaan berdasarkan permintaan per detik (QPS) dengan memantau QPS untuk suatu API atau operasi. Ketika QPS mencapai ambang batas yang dikonfigurasi, gateway segera memblokir trafik baru. Hal ini mencegah layanan backend kewalahan akibat lonjakan trafik mendadak dan memastikan ketersediaan tinggi.
Kebijakan pemutusan sirkuit: Kebijakan ini melindungi layanan backend dengan memantau waktu respons atau laju kesalahan API dan operasi. Ketika ambang batas tertentu tercapai, gateway "memutus sirkuit" dan segera gagal cepat (fail fast) pada permintaan ke layanan yang tidak stabil untuk mencegah beban tambahan. Setelah durasi yang dikonfigurasi berlalu, gateway memasuki status "setengah terbuka" (half-open) dan mengizinkan sejumlah terbatas permintaan uji untuk memverifikasi apakah layanan telah pulih. Jika layanan stabil, sirkuit ditutup; jika tidak, sirkuit diputus lagi.
Status pemutusan sirkuit dikelola secara independen oleh setiap node gateway. Setiap node menghitung permintaan serta rasio panggilan lambat atau rasio pengecualian secara mandiri, sehingga ambang batas pemutusan sirkuit berlaku per node, bukan agregat di seluruh kluster. Saat mengonfigurasi Minimum Number of Requests, Statistical Window Duration, dan ambang batas rasio pemutusan sirkuit, perlu diingat bahwa nilai-nilai tersebut berlaku untuk statistik lokal satu node, bukan untuk seluruh kluster gateway.
Kebijakan penulisan ulang
Kebijakan penulisan ulang memungkinkan Anda memodifikasi path dan hostname permintaan sebelum meneruskannya ke layanan backend, sehingga memastikan permintaan diarahkan ke layanan atau titik akhir yang sesuai dengan kebutuhan bisnis dan arsitektur tertentu.
Kebijakan modifikasi header
Fitur modifikasi header memungkinkan Anda mengubah header permintaan sebelum diteruskan ke layanan backend, atau dalam respons sebelum dikembalikan ke klien.
Kebijakan CORS
Cross-origin resource sharing (CORS) adalah fitur keamanan yang memungkinkan server aplikasi web mengontrol akses lintas asal, sehingga memungkinkan transfer data yang aman. Cloud-native API Gateway mendukung kebijakan CORS pada tingkat API dan operasi. Anda dapat menentukan domain dan metode permintaan mana yang dapat mengakses resource Anda.
Kebijakan CORS tidak berlaku untuk layanan mock. Anda harus mengonfigurasi layanan backend aktual untuk pengujian.
Kebijakan replikasi trafik
Kebijakan replikasi trafik memungkinkan Anda menyalin trafik aplikasi langsung ke layanan tertentu. Fitur ini berguna untuk pengujian simulasi dan diagnosis masalah, guna membantu Anda mengevaluasi kinerja aplikasi dan memecahkan kegagalan.
Kebijakan timeout
Cloud-native API Gateway menyediakan pengaturan timeout pada tingkat API dan operasi. Anda dapat mengonfigurasi waktu maksimum yang ditunggu gateway untuk respons dari layanan backend. Jika gateway tidak menerima respons dalam waktu yang ditentukan, gateway akan mengembalikan kode status HTTP 504 (Gateway Timeout) ke klien.
Kebijakan Coba Lagi
Cloud-native API Gateway menyediakan pengaturan retry pada tingkat API dan operasi untuk secara otomatis mencoba ulang permintaan yang gagal. Anda dapat mengonfigurasi kondisi retry, seperti memicu retry saat terjadi kegagalan koneksi, layanan backend tidak tersedia, atau kode status HTTP tertentu.
Plugin
Klik tab Add Plug-in.
Pada bagian Quick Navigation, pilih jenis plugin atau cari plugin berdasarkan nama, lalu klik kartu plugin tersebut:
Jika plugin belum diinstal, klik Install and Configure di kotak dialog pop-up. Pada kotak dialog berikutnya, konfigurasikan aturan plugin dan aktifkan.
Jika plugin sudah diinstal, konfigurasikan aturan plugin dan aktifkan di kotak dialog pop-up.
Klik OK untuk kembali ke daftar lampiran untuk API, tempat Anda dapat melihat status lampiran dan pengaktifan plugin untuk operasi.
Daftar lampiran berupa bagan alir yang mencakup empat blok: Frontend API, Inbound Processing, Backend Service, dan Outbound Processing. Panah antar blok menunjukkan alur permintaan. Setiap blok pemrosesan mencantumkan plugin yang dilampirkan, dan Anda dapat menambahkan lebih banyak dengan mengklik tautan Enable Policy/Plug-in.