Throttling delle richieste all'API HTTP - Amazon API Gateway

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à.

Throttling delle richieste all'API HTTP

È possibile configurare la limitazione della larghezza di banda della rete per le API per proteggerle da un numero eccessivo di richieste. Le limitazioni della larghezza di banda della rete sono applicate sulla base del massimo sforzo e dovrebbero essere considerate come obiettivi e non limiti massimi garantiti delle richieste.

API Gateway limita la larghezza di banda della rete delle richieste nell'API mediante l'algoritmo di token bucket, dove un token rappresenta una richiesta. Nello specifico, API Gateway esamina il tasso e i picchi di invio di richieste per tutte le API dell'account, per regione. Nell'algoritmo di bucket token, un picco può consentire il superamento predefinito di tali limiti, ma anche altri fattori possono causare il superamento dei limiti in alcuni casi.

Quando le richieste inviate superano i limiti impostati per il tasso a regime e per i limiti di picco, API Gateway inizia a limitare le richieste. I clienti potrebbero ricevere risposte agli errori 429 Too Many Requests a questo punto. Quando rileva queste eccezioni, il client può reinviare le richieste non riuscite in modo da limitare la velocità.

In qualità di sviluppatore dell'API, puoi impostare i limiti per le singole fasi o le singole route dell'API per migliorare le prestazioni generali in tutte le API dell'account.

Limitazione a livello di account per regione

Per impostazione predefinita, API Gateway limita il numero di richieste con stato costante al secondo (RPS) per tutte le API all'interno di un account AWS , per Regione. Limita anche i picchi, ovvero la dimensione massima del bucket, per tutte le API di un account AWS , per regione. In API Gateway, il limite dei picchi rappresenta il numero massimo di invii di richieste che API Gateway può gestire prima di restituire risposte di errore 429 Too Many Requests. Per ulteriori informazioni sulla limitazione delle quote, vedere Quote e note importanti Amazon API Gateway.

I limiti per account vengono applicati a tutte le API di un account in una regione specificata. Il limite del tasso a livello di account può essere aumentato - sono possibili limiti più elevati con API con timeout più brevi e payload più piccoli. Per richiedere un aumento dei limiti di limitazione a livello di account per Regione, contatta il Centro assistenza AWS. Per ulteriori informazioni, consulta Quote e note importanti Amazon API Gateway. Tieni presente che questi limiti non possono essere superiori ai limiti di AWS limitazione.

Throttling a livello di instradamento

Puoi impostare il throttling a livello di route per sostituire i limiti di throttling delle richieste a livello di account per una fase specifica o per singoli route nell'API. I limiti della limitazione (della larghezza di banda della rete) della route di default non possono superare i limiti di velocità a livello di account.

È possibile configurare la limitazione a livello di percorso utilizzando AWS CLI. Il comando seguente configura la limitazione personalizzata per lo stadio e la route specificati di un'API.

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