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 API di Amazon Route 53
Importante
Amazon Route 53 ha aggiornato il comportamento di limitazione delle API. L'aggiornamento include l'aumento del limite di richieste al secondo e l'introduzione della limitazione basata sulle modifiche. Questa pagina descrive in dettaglio i limiti aggiornati.
Amazon Route 53 limita le richieste API per account per mantenere la stabilità del servizio e garantire un utilizzo corretto per tutti i clienti. Route 53 applica due limiti indipendenti:
-
Frequenza di richieste: il numero di richieste API al secondo.
-
Throughput delle modifiche: il numero di modifiche ai singoli record DNS al secondo, aggregato tra le azioni API che modificano i dati DNS.
Una richiesta può essere limitata da entrambi i limiti. Quando una richiesta viene limitata, Amazon Route 53 restituisce un errore HTTP 400 (). Bad request L'intestazione di risposta include anche un elemento Code con un valore Throttling e un elemento Message con un valore di Rate exceeded.
Come viene applicata la limitazione
Amazon Route 53 utilizza un algoritmo token bucket. Ogni limite ha un bucket che contiene un numero massimo di token. Ogni richiesta (per il limite di frequenza delle richieste) o ogni modifica (per il limite di velocità di modifica) rimuove i token dal bucket applicabile. Il bucket si ricarica a una velocità fissa ogni secondo, fino alla sua capacità massima. Se i token di ricarica arrivano quando il bucket è già pieno, Route 53 li scarta.
Due valori descrivono ogni bucket:
-
La capacità massima del bucket è il numero massimo di richieste o modifiche che Route 53 può assorbire contemporaneamente quando il bucket è pieno.
-
La frequenza di ricarica del bucket è la tua tariffa sostenuta: il numero di richieste o modifiche al secondo che puoi mantenere a tempo indeterminato.
Puoi utilizzare i token di ricarica man mano che vengono aggiunti; non è necessario attendere che il bucket si riempia completamente.
Richiedi la tariffa, le dimensioni dei bucket e le tariffe di ricarica
Route 53 applica la limitazione della frequenza delle richieste a due livelli:
-
Livello di account: tutte le richieste API di Amazon Route 53 provenienti dal tuo account attingono da un unico bucket.
-
Account e livello operativo: ogni azione API ha anche il suo bucket.
Una richiesta consuma un token da entrambi i bucket e viene limitata se uno dei bucket è vuoto. Le azioni seguenti hanno limiti di frequenza di richiesta predefiniti diversi.
| Azione API | Capacità massima bucket | Percentuale di ricarica del secchio |
|---|---|---|
| Tutte le azioni dell'API Amazon Route 53 combinate (a livello di account) | 50 | 10 |
| Qualsiasi singola azione API non elencata di seguito (impostazione predefinita per azione) | 50 | 10 |
AssociateVPCWithHostedZone |
20 | 5 |
ChangeCidrCollection |
40 | 5 |
CreateCidrCollection |
40 | 5 |
CreateHealthCheck |
50 | 0,5 |
CreateHostedZone |
40 | 2 |
CreateReusableDelegationSet |
40 | 2 |
CreateTrafficPolicyInstance |
1 | 1 |
DeleteCidrCollection |
40 | 5 |
DeleteHealthCheck |
15 | 3 |
DeleteHostedZone |
40 | 5 |
DeleteReusableDelegationSet |
40 | 5 |
DeleteTrafficPolicyInstance |
1 | 1 |
DisassociateVPCFromHostedZone |
10 | 5 |
GetHealthCheckLastFailureReason |
4 | 1 |
GetHealthCheckStatus |
4 | 1 |
UpdateHealthCheck |
50 | 5 |
UpdateTrafficPolicyInstance |
1 | 1 |
Per l'elenco completo delle azioni API di Amazon Route 53, consulta Azioni nel riferimento alle API di Amazon Route 53.
Richieste CreateHealthCheck
Puoi inviare una richiesta CreateHealthCheck ogni 2 secondi per Account AWS. Ciò corrisponde alla frequenza di ricarica di 0,5 richieste al secondo mostrata nella tabella precedente.
Modificare la limitazione della velocità effettiva
Oltre al limite di frequenza delle richieste, le azioni API che modificano i dati DNS sono soggette a un limite di velocità di modifica. Questo limite utilizza un bucket di token separato che si esaurisce in base al numero di modifiche ai record DNS effettuate da una richiesta, non al numero di richieste. La velocità effettiva delle modifiche è limitata per azione API Account AWS, non per azione. Tutte le azioni seguenti derivano da un bucket, che ha una capacità massima di 1.500 modifiche (burst) e si ricarica a 100 modifiche al secondo (sostenute).
Le modifiche vengono conteggiate come segue:
| Operation | Token consumati |
|---|---|
ChangeResourceRecordSets |
1 perCREATE, 1 perDELETE, 2 per UPSERT |
AssociateVPCWithHostedZone |
2 |
DisassociateVPCFromHostedZone |
2 |
CreateHostedZone |
2 |
DeleteHostedZone |
2 |
Tutte le altre azioni API di Amazon Route 53 non consumano token di throughput di modifica e sono limitate solo dalla frequenza di richiesta.
Esempio: puoi inviare una singola richiesta contenente 1.000 modifiche (una sequenza), che consuma 1.000 token. Dopo il burst, il bucket si riempie a 100 token al secondo. Se continui a inviare 100 modifiche al secondo, puoi mantenere quel tasso a tempo indeterminato. Se si tenta di effettuare 500 modifiche al secondo, il bucket si esaurisce e le richieste successive vengono limitate fino al momento del rifornimento.
Monitora la limitazione delle API
Puoi monitorare l'utilizzo dell'API Amazon Route 53 osservando le risposte HTTP 400 nei log delle applicazioni o monitorando l'utilizzo dell'API tramite CloudWatch metriche. Quando ricevi errori di limitazione, le tue richieste superano uno dei limiti descritti nelle sezioni precedenti.
Tentativi e backoff esponenziale
Quando esegui il polling o riprovi una richiesta API, ti consigliamo di utilizzare un algoritmo di backoff esponenziale per calcolare l'intervallo di sospensione tra le richieste. Il backoff esponenziale utilizza attese progressivamente più lunghe tra i tentativi per le risposte di errore consecutive. Implementate un intervallo di ritardo massimo e un numero massimo di tentativi e considerate l'aggiunta del jitter (ritardo randomizzato) per evitare collisioni successive. Per maggiori informazioni, consulta Timeout, reties e backoff with jitter nella Builders' Library.
Ogni AWS SDK implementa una logica di riprova automatica, inclusa una modalità di riprova adattiva che regola la frequenza delle richieste sul lato client in risposta alla limitazione. Per i carichi di lavoro che si avvicinano regolarmente a questi limiti, valuta la possibilità di abilitare i tentativi adattivi. Per ulteriori informazioni, consulta il comportamento dei tentativi nella Guida di riferimento di AWS SDK and Tools.
Richiesta di un aumento dei limiti
Puoi richiedere un aumento della frequenza di richieste API o del limite di velocità effettiva delle modifiche tramite l'assistenza. AWS Per richiedere un aumento:
-
Apri il Centro AWS assistenza
. -
Crea un caso e scegli Aumento del limite di servizio.
-
Per Tipo di limite, scegli Route 53.
-
Indica il tuo utilizzo attuale e il limite di cui hai bisogno.
Le migliori pratiche per la limitazione delle API
-
Bilancia la percentuale di richieste rispetto alla dimensione del batch: se il limite di frequenza delle richieste è limitato, invia più modifiche per richiesta. Se il limite di velocità di modifica è limitato, riduci il tasso di modifica totale. Né i lotti molto piccoli né quelli molto grandi sono ottimali da soli.
-
Usa il batching per l'atomicità: tutte le modifiche in una singola
ChangeResourceRecordSetsrichiesta vengono applicate in modo atomico, quindi hanno esito positivo o negativo insieme. -
Distribuisci le modifiche nel tempo: distribuisci le modifiche in modo uniforme nell'arco di pochi secondi invece di inviare grandi lotti contemporaneamente.
-
Affidati al burst per i picchi occasionali, non per il throughput sostenuto: la capacità Burst soddisfa i picchi di traffico legittimi; non è un limite operativo sostenuto.
-
Riprova con backoff esponenziale: quando ricevi risposte HTTP 400, riprova dopo un ritardo che aumenta ad ogni tentativo (vedi). Tentativi e backoff esponenziale
-
Il limite di richieste aumenta in modo proattivo: se prevedi una crescita del carico di lavoro, richiedi un aumento prima di raggiungere il limite (vedi). Richiesta di un aumento dei limiti
Per una guida più ampia su Amazon Route 53, consulta. Best practice per Amazon Route 53