Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Minta pembatasan untuk Elastic Load Balancing API
Elastic Load Balancing membatasi permintaan API-nya untuk setiap AWS akun per wilayah. Kami melakukan ini untuk membantu kinerja dan ketersediaan layanan. Throttling memastikan bahwa permintaan ke Elastic Load Balancing API tidak melebihi batas maksimum permintaan API yang diizinkan. Permintaan API tunduk pada batas permintaan apakah Anda memanggilnya atau dipanggil atas nama Anda (misalnya, oleh AWS Management Console atau aplikasi pihak ketiga).
Jika Anda melebihi batas pelambatan Elastic Load Balancing API, Anda mendapatkan kode ThrottlingException
kesalahan dan pesan kesalahan. Rate exceeded
Kami menyarankan Anda bersiap untuk menangani pelambatan dengan anggun. Untuk informasi selengkapnya, lihat Timeout, percobaan ulang, dan backoff
Bagaimana throttling diterapkan
Elastic Load Balancing menggunakan algoritma token bucket
Elastic Load Balancing menyediakan dua set aksi API. ELB API versi 2 mendukung jenis penyeimbang beban berikut: Application Load Balancers, Network Load Balancers, dan Gateway Load Balancers. ELB API versi 1 mendukung Classic Load Balancers. Setiap versi ELB API memiliki bucket dan tokennya sendiri.
Layanan yang memanggil Elastic Load Balancing API atas nama Anda, seperti Amazon, EC2 Amazon ECS, Amazon EC2 Auto Scaling, dan AWS CloudFormation memiliki bucket tingkat akun sendiri. Layanan ini tidak menggunakan token dari ember Anda.
Pembatasan laju permintaan
Dengan pembatasan tingkat permintaan, Anda dibatasi pada jumlah permintaan API yang Anda buat. Setiap permintaan yang Anda buat menghapus satu token dari ember. Misalnya, ukuran bucket token untuk aksi API yang tidak bermutasi adalah 40 token. Anda dapat membuat hingga 40 Describe*
permintaan dalam satu detik. Jika Anda melebihi 40 Describe*
permintaan dalam satu detik, Anda dibatasi dan permintaan yang tersisa dalam detik itu gagal.
Bucket secara otomatis diisi ulang pada tingkat yang ditetapkan. Jika bucket berada di bawah kapasitas maksimumnya, sejumlah token ditambahkan kembali setiap detik hingga bucket mencapai kapasitas maksimumnya. Jika ember penuh saat token isi ulang tiba, mereka dibuang. Bucket tidak dapat menampung lebih dari jumlah token maksimumnya. Misalnya, ukuran bucket untuk aksi API yang tidak bermutasi adalah 40 token dan tingkat isi ulang adalah 10 token per detik. Jika Anda membuat 40 DescribeLoadBalancers
permintaan dalam satu detik, bucket dikurangi menjadi nol (0) token. Kami menambahkan 10 token isi ulang ke ember setiap detik, hingga mencapai kapasitas maksimum 40 token. Ini berarti bahwa dibutuhkan 4 detik untuk ember kosong untuk mencapai kapasitas maksimumnya, jika tidak ada permintaan yang dibuat selama waktu itu.
Anda tidak perlu menunggu ember benar-benar penuh sebelum Anda dapat membuat permintaan API. Anda dapat menggunakan token saat ditambahkan ke ember. Jika Anda segera menggunakan token isi ulang, ember tidak mencapai kapasitas maksimumnya.
Ada batas pembatasan tingkat akun yang dibagi di semua tindakan Elastic Load Balancing API. Kapasitas bucket tingkat akun adalah 40 token dan tingkat isi ulang adalah 10 token permintaan per detik.
Minta ukuran bucket token dan tarif isi ulang
Untuk tujuan pembatasan tingkat permintaan, tindakan API dikelompokkan ke dalam kategori. Setiap kategori memiliki batasnya sendiri.
Kategori
-
Tindakan mutasi — Tindakan API yang membuat, memodifikasi, atau menghapus sumber daya. Kategori ini umumnya mencakup semua tindakan API yang tidak dikategorikan sebagai tindakan non-mutasi. Tindakan ini memiliki batas pelambatan yang lebih rendah daripada tindakan API yang tidak bermutasi.
-
Tindakan non-mutasi — Tindakan API yang mengambil data tentang sumber daya. Tindakan API ini biasanya memiliki batas pembatasan API tertinggi.
-
Tindakan intensif sumber daya — Tindakan API yang memakan waktu paling banyak dan menghabiskan sebagian besar sumber daya untuk diselesaikan. Tindakan ini memiliki batas pelambatan yang lebih rendah daripada tindakan mutasi. Tindakan ini dibatasi secara terpisah dari tindakan mutasi lainnya.
-
Tindakan pendaftaran — Tindakan API yang mendaftarkan atau membatalkan pendaftaran target. Tindakan API ini dibatasi secara terpisah dari tindakan mutasi lainnya.
-
Tindakan yang tidak dikategorikan — Tindakan API ini menerima ukuran bucket token dan tarif isi ulang mereka sendiri, meskipun mereka termasuk dalam salah satu kategori lainnya.
Tabel berikut menunjukkan kapasitas default dan tarif isi ulang untuk bucket token permintaan yang dikategorikan.
Kategori | ELBv2 tindakan | ELBv1 tindakan | Kapasitas ember | Tingkat isi ulang (per detik) |
---|---|---|---|---|
Intensif sumber daya | CreateLoadBalancer , SetSubnets |
CreateLoadBalancer ,
AttachLoadBalancerToSubnets ,
DetachLoadBalancerFromSubnets ,
EnableAvailabilityZonesForLoadBalancer ,
DisableAvailabilityZonesForLoadBalancer |
10 | 0,2 † |
Registrasi | RegisterTargets , DeregisterTargets |
RegisterInstancesWithLoadBalancer ,
DeregisterInstancesFromLoadBalancer |
20 | 4 |
Tidak bermutasi | DescribeAccountLimits ,
DescribeListenerCertificates ,
DescribeListeners ,
DescribeLoadBalancerAttributes ,
DescribeLoadBalancers , DescribeRules ,
DescribeSSLPolicies , DescribeTags ,
DescribeTargetGroupAttributes ,
DescribeTargetGroups ,
DescribeTargetHealth |
Describe* |
40 | 10 |
Bermutasi | AddListenerCertificates , AddTags ,
CreateListener , CreateRule ,
CreateTargetGroup , DeleteListener ,
DeleteLoadBalancer , DeleteRule ,
DeleteTargetGroup , ModifyListener ,
ModifyLoadBalancerAttributes , ModifyRule ,
ModifyTargetGroup ,
ModifyTargetGroupAttributes ,
RemoveListenerCertificates , RemoveTags ,
SetIpAddressType , SetRulePriorities ,
SetSecurityGroups |
AddTags , ApplySecurityGroupsToLoadBalancer ,
ConfigureHealthCheck ,
CreateAppCookieStickinessPolicy ,
CreateLbCookieStickinessPolicy ,
CreateLoadBalancerListener ,
CreateLoadBalancerPolicy , Delete* ,
ModifyLoadBalancerAttributes , RemoveTags ,
SetLoadBalancer* |
20 | 3 |
Tabel berikut menunjukkan kapasitas default dan tarif isi ulang untuk bucket token permintaan yang tidak dikategorikan. ELBv2
ELBv2 tindakan | Kapasitas ember | Tingkat isi ulang (per detik) |
---|---|---|
CreateTrustStore |
10 | 0,2 † |
AddTrustStoreRevocations ,
DeleteSharedTrustStoreAssociation ,
DeleteTrustStore , ModifyTrustStore ,
RemoveTrustStoreRevocations |
10 | 0,2 † |
GetTrustStoreCaCertificatesBundle ,
GetTrustStoreRevocationContent |
20 | 4 |
DescribeTrustStoreAssociations ,
DescribeTrustStoreRevocations ,
DescribeTrustStores |
40 | 10 |
† Tingkat isi ulang pecahan membutuhkan beberapa detik untuk menghasilkan satu token penuh.
Memantau permintaan API
Anda dapat menggunakannya AWS CloudTrail untuk memantau permintaan Elastic Load Balancing API Anda. Lihat informasi yang lebih lengkap di Log API panggilan untuk Elastic Load Balancing menggunakan AWS CloudTrail.