Menambahkan kebijakan Spike Arrest ke API

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Yang akan Anda pelajari

Melalui tutorial ini, Anda akan belajar:

  • Tambahkan kebijakan yang memengaruhi permintaan dan respons.
  • Lihat dampak kebijakan.

Yang Anda butuhkan

  • Setidaknya satu kebijakan di proxy Anda (juga bagian dari tutorial Memulai).
  • curl diinstal di komputer Anda untuk melakukan panggilan API dari command line.

Menambahkan kebijakan Penangkapan Lonjakan

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 500 untuk permintaan.

Tambahkan kebijakan Spike Arrest ke proxy API:

  1. Login ke apigee.com/edge.
  2. Pilih Develop > Proxy API di menu navigasi sebelah kiri.
  3. Pilih proxy API tempat Anda ingin menambahkan kebijakan Spike Arrest.

    Jika telah mengikuti tutorial Memulai, Anda dapat menambahkannya ke "memulai" yang Anda buat di Membuat Proxy API.

  4. 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.

  5. Di panel Navigator sebelah kiri, klik PreFlow di bagian Proxy Endpoint > default. (Tutorial lainnya akan membahas konsep flows.)
  6. Klik tombol +Step atas yang sesuai dengan Request PreFlow. Ini menampilkan daftar yang dikategorikan berisi semua kebijakan yang dapat Anda buat.

    Klik Langkah di Request PreFlow

  7. Pilih Lonjakan Penangkapan dalam kategori Pengelolaan Traffic. Kebijakan Baru dialog muncul:

    Buat kebijakan Penangkapan Lonjakan

  8. Jangan ubah nama default, lalu klik Add. Kebijakan baru dilampirkan pada aliran PreFlow permintaan.
  9. Di Navigator, pastikan PreFlow di bagian Endpoint Proxy > default masih dipilih dan perhatikan hal-hal berikut di Editor Proxy API:
    • Kebijakan Spike Arrest-1 yang baru ditambahkan di bagian Kebijakan di Navigator di sisi kiri Editor Proxy API.
    • Ikon Spike Arrest-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.

    Lihat kebijakan PreFlow dengan Lonjakan

  10. Di Navigator, pilih Spike Arrest-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.

  11. Dalam XML untuk kebijakan, ubah nilai parameter elemen <Rate> ke 13.00 (yang dan menghasilkan sekitar 2 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 menjadi "1pm". Atau, Anda dapat mengubah nilai Rate di Property Inspector dan akan tercermin dalam tampilan XML.

  12. Klik Save untuk menyimpan revisi saat ini dengan perubahan Anda.
  13. Memanggil API menggunakan curl, yang menggantikan nama organisasi Apigee Anda untuk org_name:

    curl "http://org_name-test.apigee.net/getstarted"

    Contoh:

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

    Pastikan permintaan berhasil dan Anda melihat respons XML yang sama seperti yang Anda lakukan sebelumnya. (Anda juga dapat memasukkan URL saja di browser web.)

  14. 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 seharusnya terus mendapatkan kesalahan untuk membuat pesan email baru.

  15. Edit kebijakan Anda untuk menetapkan batas <Rate> ke 15.00 (yang berarti sekitar 2 panggilan yang diizinkan setiap 4 detik selama cloud), lalu simpan proxy API tersebut.
  16. Jalankan perintah curl atau muat ulang browser berulang kali (curl lebih cepat). Ingat, jika Anda melakukan satu atau dua panggilan dalam interval 4 detik, panggilan Anda akan berhasil. Jika Anda melakukan panggilan dengan cepat, lebih dari dua dalam waktu 4 detik, Anda akan mendapatkan kesalahannya. Tapi setelah Anda tetap dapat melakukan panggilan setiap interval 4 detik, bukan diblokir selama dalam satu menit (dengan setelan pukul 13.00).