Membatasi permintaan ke HTTP API - Amazon API Gateway

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membatasi permintaan ke HTTP API

Anda dapat mengonfigurasi pelambatan untuk API Anda untuk membantu melindunginya agar tidak kewalahan oleh terlalu banyak permintaan. Throttle diterapkan atas dasar upaya terbaik dan harus dianggap sebagai target daripada plafon permintaan yang dijamin.

API Gateway membatasi permintaan ke API Anda menggunakan algoritme token bucket, tempat token diperhitungkan untuk permintaan. Secara khusus, API Gateway memeriksa tingkat dan ledakan pengiriman permintaan terhadap semua API di akun Anda, per Wilayah. Dalam algoritma token bucket, burst dapat memungkinkan overrun yang telah ditentukan sebelumnya dari batas-batas tersebut, tetapi faktor lain juga dapat menyebabkan batas dikuasai dalam beberapa kasus.

Jika pengiriman permintaan melebihi tingkat permintaan kondisi tunak dan batas burst, API Gateway mulai membatasi permintaan. Klien mungkin menerima tanggapan 429 Too Many Requests kesalahan pada saat ini. Setelah menangkap pengecualian tersebut, klien dapat mengirimkan kembali permintaan yang gagal dengan cara yang membatasi tarif.

Sebagai pengembang API, Anda dapat menetapkan batas target untuk setiap tahapan atau rute API untuk meningkatkan kinerja keseluruhan di semua API di akun Anda.

Pelambatan tingkat akun per Wilayah

Secara default, API Gateway membatasi permintaan steady-state per detik (RPS) di semua API dalam AWS akun, per Wilayah. Ini juga membatasi burst (yaitu, ukuran bucket maksimum) di semua API dalam AWS akun, per Wilayah. Di API Gateway, batas burst mewakili jumlah maksimum target pengiriman permintaan bersamaan yang akan dipenuhi oleh API Gateway sebelum mengembalikan respons 429 Too Many Requests kesalahan. Untuk informasi lebih lanjut tentang pembatasan kuota, lihat. Kuota Amazon API Gateway dan catatan penting

Batas per akun diterapkan ke semua API di akun di Wilayah tertentu. Batas tingkat tingkat akun dapat ditingkatkan berdasarkan permintaan - batas yang lebih tinggi dimungkinkan dengan API yang memiliki batas waktu lebih pendek dan muatan yang lebih kecil. Untuk meminta peningkatan batas pembatasan tingkat akun per Wilayah, hubungi Pusat Dukungan.AWS Untuk informasi selengkapnya, lihat Kuota Amazon API Gateway dan catatan penting. Perhatikan bahwa batas ini tidak boleh lebih tinggi dari batas AWS pelambatan.

Pelambatan tingkat rute

Anda dapat menyetel pembatasan tingkat rute untuk mengganti batas pembatasan permintaan tingkat akun untuk tahap tertentu atau untuk rute individual di API Anda. Batas pembatasan rute default tidak dapat melebihi batas tingkat akun.

Anda dapat mengonfigurasi pelambatan tingkat rute dengan menggunakan file. AWS CLI Perintah berikut mengonfigurasi pelambatan khusus untuk tahap dan rute API yang ditentukan.

aws apigatewayv2 update-stage \ --api-id a1b2c3d4 \ --stage-name dev \ --route-settings '{"GET /pets":{"ThrottlingBurstLimit":100,"ThrottlingRateLimit":2000}}'