Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi Apigee Edge.
Yang akan Anda pelajari
Melalui tutorial ini, Anda akan mempelajari cara:
- Tambahkan kebijakan yang memengaruhi permintaan dan respons.
- Lihat pengaruh kebijakan.
Yang Anda butuhkan
- Penginstalan Apigee. Lihat Ringkasan dan prasyarat.
- Proxy API yang berfungsi dengan setidaknya satu kebijakan yang terpasang. Lihat Mem-build ringkasan proxy API pertama Anda.
- Klien HTTP API yang diinstal di komputer Anda untuk melakukan panggilan API. Contoh tutorial menggunakan
curl
.
Menambahkan kebijakan SpikeArrest
Dalam tutorial ini, Anda akan menambahkan dan mengonfigurasi kebijakan SpikeArrest untuk melindungi layanan
target dari lonjakan traffic mendadak yang dapat disebabkan oleh peningkatan penggunaan, klien yang bermasalah,
atau serangan berbahaya. Jika jumlah permintaan melebihi batas kapasitas, API akan menampilkan error HTTP 429
.
Editor Proxy Baru
Untuk menambahkan kebijakan SpikeArrest ke proxy API:
Jika Anda menggunakan UI Apigee di konsol Cloud: Pilih Proxy development > API Proxies.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > API Proxies dan di panel Proxies, pilih lingkungan untuk proxy.
Jika mengikuti tutorial Memulai, Anda dapat menambahkannya ke proxy API yang Anda buat di Membuat proxy API.
- Klik tab Mengembangkan.
- Di panel kiri, klik tombol + di baris Policies.
Pada dialog Create policy, klik kolom Select policy type, lalu scroll ke bawah ke Traffic Management dan pilih SpikeArrest.
Jika ingin, Anda dapat mengubah Nama dan Nama tampilan kebijakan. Secara default, Apigee menyediakan awalan singkat untuk nama kebijakan, dalam hal ini, SA-. Anda dapat menambahkan urutan kata deskriptif, yang dipisahkan dengan tanda hubung, setelah awalan. Lihat Konvensi penamaan.
Setelah selesai, klik Buat untuk membuat kebijakan.
Setelah membuat kebijakan Spike Arrest, Anda dapat menambahkannya ke langkah dalam PreFlow.
- Pilih Endpoint Proxy > default > PreFlow di
panel kiri:
Catatan: Anda mungkin perlu meluaskan editor visual di panel kanan untuk melihat semua elemen. Untuk melakukannya, klik dan tarik pemisah antara editor visual dan editor teks sedikit ke bawah.
- Klik tombol + di samping PreFlow di panel Response di kanan bawah editor visual:
- Di dialog Langkah menambahkan kebijakan, pilih kebijakan Spike Arrest.
Klik Tambahkan untuk melampirkan kebijakan.
Kebijakan Spike Arrest kini ditampilkan di panel Response:
Setelah melampirkan kebijakan Spike Arrest ke PreFlow, Anda dapat mencoba mengubah kode untuk kebijakan tersebut:
Di panel Response, pilih SA-.
- Editor teks menampilkan kode XML untuk proxy, termasuk
langkah kebijakan Spike Arrest di elemen Response dari PreFlow.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SpikeArrest continueOnError="false" enabled="true" name="SA-"> <DisplayName>SA-</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>
-
Dalam XML untuk kebijakan, ubah nilai elemen
<Rate>
menjadi1pm
(yang berarti sekitar dua permintaan diizinkan setiap 60 detik di cloud).Anda dapat menentukan kecepatan sebagai nilai bilangan bulat per menit (
pm
) atau per detik (ps
). Ini adalah batas yang sangat rendah dan hanya digunakan untuk tutorial ini untuk mendemonstrasikan kebijakan. Biasanya, Anda menetapkannya ke batas yang jauh lebih tinggi.Perhatikan bahwa nilai
Rate
di Property Inspector juga berubah menjadi1pm
. Atau, Anda dapat mengubah nilai Rate di Property Inspector dan nilai tersebut akan ditampilkan di tampilan XML. - Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
Editor Proxy Klasik
Untuk menambahkan kebijakan SpikeArrest ke proxy API:
- Login ke UI Apigee.
- Pilih Develop > API Proxies di menu navigasi sebelah kiri.
- Pilih proxy API yang ingin Anda tambahkan kebijakan SpikeArrest.
Jika mengikuti tutorial Memulai, Anda dapat menambahkannya ke proxy API yang Anda buat di Membuat proxy API.
- Di editor untuk proxy API baru, klik tab Develop:
Editor Proxy API memungkinkan Anda melihat struktur proxy API dan mengonfigurasi alur proxy API. Editor menampilkan representasi visual alur pesan permintaan dan respons proxy Anda serta tampilan XML yang mendasarinya yang dapat diedit dan menentukan proxy.
- Di panel Navigator sebelah kiri, klik PreFlow di bagian Proxy Endpoints > default. (Tutorial lainnya akan membahas konsep alur.)
- Klik tombol +Langkah di bagian atas, yang sesuai dengan Pra-Alur Permintaan. Tindakan ini akan menampilkan daftar semua kebijakan yang dapat Anda buat yang dikategorikan.
- Pilih SpikeArrest di kategori Traffic Management. Dialog New Policy akan muncul:
- Biarkan nama default, lalu klik Tambahkan. Kebijakan baru dilampirkan ke aliran PreFlow permintaan.
- Di Navigator, pastikan PreFlow di bagian Proxy Endpoints
> default masih dipilih dan perhatikan hal berikut di API Proxy Editor:
- Kebijakan SpikeArrest-1 baru ditambahkan di bagian Kebijakan di Navigator di sisi kiri Editor Proxy API.
- Ikon SpikeArrest-1 ditambahkan ke Tampilan desainer di tengah atas Editor Proxy API, yang merupakan representasi visual dari alur pesan proxy Anda.
- XML untuk kebijakan ditampilkan di Tampilan kode di bagian tengah bawah Editor Proxy API.
- Di Navigator, pilih SpikeArrest-1 di bagian Kebijakan dan catat hal berikut di Editor Proxy API:
- Detail kebijakan ditampilkan di Tampilan desainer di bagian tengah atas Editor Proxy API.
- XML untuk kebijakan ditampilkan di Tampilan kode di bagian tengah bawah Editor Proxy API.
- Elemen XML dan nilai atribut untuk kebijakan ditampilkan di Property Inspector di sisi kanan API Proxy Editor.
-
Dalam XML untuk kebijakan, ubah nilai elemen
<Rate>
menjadi1pm
(yang berarti sekitar dua permintaan diizinkan setiap 60 detik di cloud).Anda dapat menentukan kecepatan sebagai nilai bilangan bulat per menit (
pm
) atau per detik (ps
). Ini adalah batas yang sangat rendah dan hanya digunakan untuk tutorial ini untuk mendemonstrasikan kebijakan. Biasanya, Anda menetapkannya ke batas yang jauh lebih tinggi.Perhatikan bahwa nilai
Rate
di Property Inspector juga berubah menjadi1pm
. Atau, Anda dapat mengubah nilai Rate di Property Inspector dan nilai tersebut akan ditampilkan di tampilan XML. - Klik Simpan untuk menyimpan revisi saat ini dengan perubahan Anda.
- Deploy perubahan menggunakan tombol Deploy to:.
-
Panggil API menggunakan
curl
, menggunakan URL untuk domain Anda:curl "http://YOUR_DOMAIN/myproxy"
dengan:
ENV_GROUP_HOSTNAME
adalah nama host grup lingkungan yang Anda tetapkan selama penyediaan.DOMAIN_HOSTNAME
adalah nama host domain Anda.
Lihat Menguji proxy API untuk mengetahui informasi selengkapnya.
Pastikan permintaan berhasil dan Anda melihat respons XML yang sama seperti sebelumnya. (Anda juga dapat memasukkan URL saja di browser web.)
Selanjutnya, coba uji setelan
Rate
dengan cara yang berbeda:- Jalankan perintah
curl
(atau muat ulang jendela browser) dua atau tiga kali lagi dalam satu menit, dan perhatikan bahwa Anda mendapatkan pesan berikut karena melampaui batas kapasitas kebijakan:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }
Jika Anda mencoba melakukan lebih banyak panggilan dalam satu menit, Anda akan terus mendapatkan pesan error.
- Edit kebijakan Anda untuk menetapkan batas <
Rate>
ke15pm
(yang berarti sekitar dua panggilan diizinkan setiap empat detik di cloud), lalu simpan dan deploy proxy API. - Jalankan perintah
curl
atau muat ulang browser berulang kali (curl
lebih cepat). Perhatikan bahwa jika Anda melakukan satu atau dua panggilan dalam interval empat detik, panggilan Anda akan berhasil. Jika Anda melakukan panggilan dengan cepat, lebih dari dua dalam empat detik, Anda akan mendapatkan error error. Namun, setelah setiap interval 4 detik, Anda dapat terus melakukan panggilan, bukan diblokir selama satu menit (dengan setelan1pm
).