Limitazione delle richieste per l'API Elastic Load Balancing - Sistema di bilanciamento del carico elastico

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Limitazione delle richieste per l'API Elastic Load Balancing

Elastic Load Balancing limita le richieste API per ogni AWS account in base alla regione. Lo facciamo per migliorare le prestazioni e la disponibilità del servizio. La limitazione garantisce che le richieste all'API Elastic Load Balancing non superino i limiti massimi consentiti per le richieste API. Le richieste API sono soggette ai limiti di richiesta, indipendentemente dal fatto che tu le chiami o che vengano chiamate per tuo conto (ad esempio, dall'applicazione AWS Management Console o da un'applicazione di terze parti).

Se superi un limite di throttling dell'API Elastic Load Balancing, ricevi il codice di errore e un ThrottlingException messaggio di errore. Rate exceeded

Ti consigliamo di prepararti a gestire il throttling con garbo. Per ulteriori informazioni, consulta Timeout, nuovi tentativi e backoff con jitter. Se riscontri un elevato livello di throttling, puoi contattarci Supporto AWS per aiutarti a valutare l'utilizzo dell'API e le potenziali soluzioni. Ogni caso viene valutato singolarmente. Supporto potrebbe aumentare i limiti entro i limiti di sicurezza del sistema, per mantenere un'elevata disponibilità e prestazioni prevedibili.

Come viene applicato il throttling

Elastic Load Balancing utilizza l'algoritmo token bucket per implementare il throttling delle API. Con questo algoritmo, il tuo account dispone di un bucket che contiene un numero specifico di token. Il numero di token nel bucket rappresenta il limite di throttling in un dato secondo.

Elastic Load Balancing fornisce due set di azioni API. La versione 2 dell'API ELB supporta i seguenti tipi di sistemi di bilanciamento del carico: Application Load Balancer, Network Load Balancer e Gateway Load Balancer. La versione 1 dell'API ELB supporta Classic Load Balancer. Ogni versione dell'API ELB ha i propri bucket e token.

Servizi che richiamano l'API Elastic Load Balancing per tuo conto, come Amazon, Amazon ECS, EC2 Amazon EC2 Auto Scaling, e AWS CloudFormation dispongono di bucket a livello di account propri. Questi servizi non consumano i token dei tuoi bucket.

Limitazione del tasso di richiesta

Con la limitazione della frequenza delle richieste, sei limitato al numero di richieste API che effettui. Ogni richiesta effettuata rimuove un token dal bucket. Ad esempio, la dimensione del bucket di token per le azioni API non mutanti è di 40 token. Puoi effettuare fino a 40 Describe* richieste in un secondo. Se superi Describe* le 40 richieste in un secondo, subisci una limitazione e le richieste rimanenti entro quel secondo hanno esito negativo.

I secchi si ricaricano automaticamente a una velocità prestabilita. Se un bucket è al di sotto della sua capacità massima, viene aggiunto un determinato numero di token ogni secondo finché il bucket non raggiunge la sua capacità massima. Se un secchio è pieno quando arrivano i token di ricarica, questi vengono scartati. Un bucket non può contenere più del suo numero massimo di token. Ad esempio, la dimensione del bucket per le azioni API non mutanti è di 40 token e la frequenza di ricarica è di 10 token al secondo. Se si effettuano 40 DescribeLoadBalancers richieste in un secondo, il bucket viene ridotto a zero (0) token. Aggiungiamo 10 gettoni di ricarica al bucket ogni secondo, fino a raggiungere la capacità massima di 40 token. Ciò significa che un bucket vuoto impiega 4 secondi per raggiungere la sua capacità massima, se non viene effettuata alcuna richiesta durante quel periodo.

Non è necessario attendere che un bucket sia completamente pieno prima di poter effettuare richieste API. È possibile utilizzare i token man mano che vengono aggiunti a un bucket. Se si utilizzano immediatamente i gettoni di ricarica, il secchio non raggiunge la sua capacità massima.

Esiste un limite di limitazione a livello di account condiviso tra tutte le azioni dell'API Elastic Load Balancing. La capacità del bucket a livello di account è di 40 token e la frequenza di ricarica è di 10 token di richiesta al secondo.

Richiedi le dimensioni dei bucket di token e le tariffe di ricarica

Ai fini della limitazione della frequenza delle richieste, le azioni API sono raggruppate in categorie. Ogni categoria ha i propri limiti.

Categories
  • Azioni mutanti: azioni API che creano, modificano o eliminano risorse. Questa categoria include generalmente tutte le azioni API che non sono classificate come azioni non mutanti. Queste azioni hanno un limite di limitazione inferiore rispetto alle azioni API non mutanti.

  • Azioni non mutanti: azioni API che recuperano dati sulle risorse. Queste azioni API in genere hanno i limiti di limitazione delle API più elevati.

  • Azioni a uso intensivo di risorse: azioni API che richiedono più tempo e più risorse per essere completate. Queste azioni hanno un limite di limitazione ancora più basso rispetto alle azioni di mutazione. Queste azioni vengono limitate separatamente dalle altre azioni mutanti.

  • Azioni di registrazione: azioni API che registrano o annullano la registrazione degli obiettivi. Queste azioni API vengono limitate separatamente dalle altre azioni mutanti.

  • Azioni non categorizzate: queste azioni API ricevono le proprie dimensioni e frequenze di ricarica, anche se rientrano in una delle altre categorie.

La tabella seguente mostra la capacità e le frequenze di ricarica predefinite per i bucket di token di richiesta classificati.

Categoria ELBv2 azioni ELBv1 azioni capacità del secchio Velocità di ricarica (al secondo)
Richiede molte risorse CreateLoadBalancer, SetSubnets CreateLoadBalancer, AttachLoadBalancerToSubnets, DetachLoadBalancerFromSubnets, EnableAvailabilityZonesForLoadBalancer, DisableAvailabilityZonesForLoadBalancer 10 0,2 †
Registration (Registrazione) RegisterTargets, DeregisterTargets RegisterInstancesWithLoadBalancer, DeregisterInstancesFromLoadBalancer 20 4
Non mutante DescribeAccountLimits, DescribeListenerCertificates, DescribeListeners, DescribeLoadBalancerAttributes, DescribeLoadBalancers, DescribeRules, DescribeSSLPolicies, DescribeTags, DescribeTargetGroupAttributes, DescribeTargetGroups, DescribeTargetHealth Describe* 40 10
Mutante 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

La tabella seguente mostra la capacità e le frequenze di ricarica predefinite per i bucket di token di richiesta non categorizzati per. ELBv2

ELBv2 azioni capacità del secchio Velocità di ricarica (al secondo)
CreateTrustStore 10 0,2 †
AddTrustStoreRevocations, DeleteSharedTrustStoreAssociation, DeleteTrustStore, ModifyTrustStore, RemoveTrustStoreRevocations 10 0,2
GetTrustStoreCaCertificatesBundle, GetTrustStoreRevocationContent 20 4
DescribeTrustStoreAssociations, DescribeTrustStoreRevocations, DescribeTrustStores 40 10

Le frequenze di ricarica frazionarie richiedono diversi secondi per generare un token completo.

Monitoraggio delle richieste API

Puoi utilizzarlo AWS CloudTrail per monitorare le tue richieste API Elastic Load Balancing. Per ulteriori informazioni, consulta Registra le chiamate API per Elastic Load Balancing utilizzando AWS CloudTrail.