Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat Dokumentasi Apigee Edge.
Yang akan Anda pelajari
Melalui tutorial ini, Anda akan belajar:
- Tambahkan kebijakan yang memengaruhi permintaan dan respons.
- Lihat dampak kebijakan.
Yang Anda butuhkan
- Penginstalan Apigee. Lihat Ringkasan dan prasyarat.
- Proxy API yang berfungsi dengan minimal satu kebijakan terlampir. Lihat Ringkasan membangun proxy API pertama Anda.
- Klien API HTTP yang diinstal pada komputer Anda untuk melakukan panggilan API. Contoh tutorial
gunakan
curl
.
Menambahkan kebijakan SpikeArrest
Dalam tutorial ini, Anda akan menambahkan dan mengonfigurasi kebijakan SpikeArrest untuk menjaga target
terhadap lonjakan lalu lintas tiba-tiba yang
dapat disebabkan oleh peningkatan penggunaan, klien yang
atau serangan berbahaya. Saat 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 Pengembangan proxy > Proxy API.
Jika Anda menggunakan UI Apigee klasik: Pilih Develop > Proxy API dan di panel Proxies, pilih lingkungan untuk proxy.
Jika telah mengikuti tutorial Memulai, Anda dapat menambahkannya ke Proxy API yang Anda buat di Membuat Proxy API.
- Klik tab Mengembangkan.
- Di panel sebelah 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 pendek 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.
Sekarang setelah Anda membuat kebijakan Penangkapan Lonjakan, Anda dapat menambahkannya ke langkah di PreFlow.
- Pilih Proxy Endpoints > default > PreFlow di
di panel sebelah kiri:
Catatan: Anda mungkin perlu meluaskan editor visual di panel sebelah kanan untuk melihat semua yang kurang penting. Untuk melakukannya, klik dan seret {i>divider<i} antara editor visual dan editor teks turun sedikit.
- Klik tombol + di samping PreFlow di panel Response di kanan bawah editor visual:
- Pada dialog Tambahkan langkah kebijakan, pilih kebijakan Spike Arrest.
Klik Add 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 Penanganan Lonjakan di elemen Response 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 parameter
<Rate>
ke1pm
(yang menjadi sekitar dua permintaan yang diizinkan setiap 60 detik di cloud).Anda dapat menentukan tarif sebagai nilai bilangan bulat per menit (
pm
) atau per detik (ps
). Ini adalah batas yang sangat rendah dan hanya digunakan untuk tutorial ini menunjukkan kebijakan tersebut. Biasanya, Anda menetapkan 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 akan tercermin dalam tampilan XML. - Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
Editor Proxy Klasik
Untuk menambahkan kebijakan SpikeArrest ke proxy API:
- Login ke UI Apigee.
- Pilih Develop > Proxy API di menu navigasi sebelah kiri.
- Pilih proxy API tempat Anda ingin menambahkan kebijakan SpikeArrest.
Jika telah 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 alurnya. Editor menyajikan representasi visual pesan permintaan dan respons proxy Anda serta tampilan XML dasar yang dapat diedit yang mendefinisikan proxy.
- Di panel Navigator sebelah kiri, klik PreFlow di bagian Proxy Endpoint > default. (Tutorial lainnya akan membahas konsep flows.)
- Klik tombol +Step atas yang sesuai dengan Request PreFlow. Ini menampilkan daftar yang dikategorikan berisi semua kebijakan yang dapat Anda buat.
- Pilih SpikeArrest dalam kategori Traffic Management. New Dialog kebijakan akan muncul:
- Jangan ubah nama default, lalu klik Add. Kebijakan baru dilampirkan pada aliran PreFlow permintaan.
- Di Navigator, pastikan PreFlow di bagian Endpoint Proxy
> default masih dipilih dan perhatikan hal-hal berikut di Editor Proxy API:
- Kebijakan SpikeArrest-1 yang baru ditambahkan di bagian Kebijakan di Navigator di sisi kiri Editor Proxy API.
- Ikon SpikeArrest-1 ditambahkan ke Tampilan desainer di bagian tengah atas Editor Proxy API, yang merupakan representasi visual dari alur pesan {i>proxy<i}.
- XML untuk kebijakan tersebut ditampilkan dalam Tampilan kode di bagian tengah bawah API Proxy Editor.
- Di Navigator, pilih SpikeArrest-1 di bagian Kebijakan dan perhatikan
berikut di Editor Proxy API:
- Detail kebijakan ditampilkan dalam Tampilan desainer di bagian atas di bagian tengah API Proxy Editor.
- XML untuk kebijakan tersebut ditampilkan dalam Tampilan kode di bagian bawah di bagian tengah API Proxy Editor.
- Elemen XML dan nilai atribut kebijakan ditampilkan di Property Inspector di sisi kanan Editor Proxy API.
-
Dalam XML untuk kebijakan, ubah nilai parameter
<Rate>
ke1pm
(yang menjadi sekitar dua permintaan yang diizinkan setiap 60 detik di cloud).Anda dapat menentukan tarif sebagai nilai bilangan bulat per menit (
pm
) atau per detik (ps
). Ini adalah batas yang sangat rendah dan hanya digunakan untuk tutorial ini untuk menunjukkan kebijakan tersebut. Biasanya, Anda menetapkan 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 akan tercermin dalam tampilan XML. - Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
- Deploy perubahan Anda menggunakan tombol Deploy to:.
-
Panggil API ini 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 Uji proxy API untuk mengetahui informasi selengkapnya.
Pastikan permintaan berhasil dan Anda melihat respons XML yang sama seperti yang Anda lakukan sebelumnya. (Anda juga dapat memasukkan URL saja di browser web.)
Selanjutnya, coba uji setelan
Rate
dengan berbagai cara:- Jalankan perintah
curl
(atau muat ulang jendela browser) dua atau tiga kali kali dalam satu menit, dan perhatikan bahwa Anda mendapatkan pesan berikut karena Anda 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 kesalahan.
- Edit kebijakan Anda untuk menetapkan batas <
Rate>
ke15pm
(yang berarti sekitar dua panggilan yang diizinkan setiap empat detik dalam cloud), lalu menyimpan dan men-deploy proxy API. - Jalankan perintah
curl
atau muat ulang browser berulang kali (curl
lebih cepat). Ingat, 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 waktu empat detik, Anda akan mendapatkan pesan {i>error<i}. Tapi setelah Anda tetap dapat melakukan panggilan setiap interval 4 detik, bukan diblokir selama seluruh menit (dengan setelan1pm
).