Minta pembatasan untuk Elastic Load Balancing API - Elastic Load Balancing

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 dengan jitter. Jika mengalami pelambatan tingkat tinggi, Anda dapat menghubungi AWS Dukungan untuk membantu mengevaluasi penggunaan API dan solusi potensial. Setiap kasus dievaluasi secara individual. Dukungan dapat meningkatkan batas Anda dalam batas keamanan sistem, untuk menjaga ketersediaan tinggi dan kinerja yang dapat diprediksi.

Bagaimana throttling diterapkan

Elastic Load Balancing menggunakan algoritma token bucket untuk mengimplementasikan pelambatan API. Dengan algoritme ini, akun Anda memiliki bucket yang memegang sejumlah tertentu token. Jumlah token dalam bucket mewakili batas throttling Anda pada detik tertentu.

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.