

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 Amazon ECS
<a name="request-throttling"></a>

Amazon Elastic Container Service limita tutte le richieste API per ogni AWS account in base alla regione. Lo facciamo per garantire prestazioni costanti e un uso equo del servizio per tutti i clienti Amazon ECS. La limitazione garantisce che le chiamate all'API Amazon ECS non superino le quote di richieste API massime consentite sia per Amazon ECS che per gli altri AWS servizi con cui si integra. Le chiamate API sono soggette alle quote di richiesta indipendentemente dal fatto che provengano da:
+ Un'applicazione di terze parti
+ Uno strumento da riga di comando
+ La console Amazon ECS

Se superi una quota di limitazione delle API, ricevi il `ThrottlingException` codice di errore.

```
An error occurred (ThrottlingException) when calling the DescribeClusters operation (reached max retries: 4): Rate exceeded.
com.amazonaws.services.ecs.model.AmazonECSException: Rate exceeded (Service: AmazonECS; Status Code: 400; Error
Code: ThrottlingException; Request ID: 5ed90669-e454-464d-9b2f-6523bc86f537; Proxy: null)
```

## Come viene applicato il throttling
<a name="throttling-how"></a>

Amazon ECS utilizza l'[algoritmo token bucket](https://en.wikipedia.org/wiki/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 la tua quota di throttling in un dato secondo.

**Amazon ECS esamina la frequenza di invio di richieste API per tutte le API Amazon ECS del tuo account, per regione, e applica due tipi di quote di limitazione delle API: sostened e burst.** La velocità sostenuta è il numero medio di richieste API consentite al secondo nel tempo per un'operazione. La frequenza di burst è il numero massimo di richieste API consentite in un secondo. Con burst, puoi effettuare periodicamente un numero maggiore di richieste API rispetto alla frequenza sostenuta. Successivamente, Amazon ECS limita le richieste API successive fino a quando la frequenza di richieste API consentita nel tempo si stabilizza alla velocità sostenuta. *Nell'algoritmo del token bucket, la *capacità massima del bucket* indica la frequenza di burst e la frequenza di ricarica del bucket è la velocità sostenuta.* Utilizzeremo questi termini per fornirti un'illustrazione della limitazione delle richieste API di Amazon ECS nell'esempio seguente.

Sei limitato al numero di richieste API che effettui e ogni richiesta rimuove un token dal bucket di token. Ad esempio, la dimensione del bucket per *le azioni di lettura del cluster*, come l'`DescribeClusters`API, è di 50 token, quindi puoi effettuare fino a 50 `DescribeClusters` richieste in un secondo. Se superi le 50 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 il bucket è al di sotto della sua capacità massima, gli viene aggiunto un determinato numero di token ogni secondo fino a raggiungere la capacità massima. Se il secchio è pieno quando arrivano i gettoni di ricarica, questi vengono scartati. Il bucket non può contenere più del numero massimo di token. Ad esempio, la dimensione del bucket per *le azioni di lettura del cluster*, come l'`DescribeClusters`API, è di 50 token e la frequenza di ricarica è di 20 token al secondo. Se effettui 50 richieste `DescribeClusters` API in un secondo, il bucket viene immediatamente ridotto a zero token. Il bucket viene quindi ricaricato con 20 token ogni secondo, fino a raggiungere la capacità massima di 50 token. Ciò significa che il secchio precedentemente vuoto raggiunge la sua capacità massima dopo 2,5 secondi.

Non è necessario attendere che il bucket sia completamente pieno prima di poter effettuare richieste API. È possibile utilizzare i token man mano che vengono aggiunti al bucket. Se si utilizzano immediatamente i gettoni di ricarica, il secchio non raggiunge la sua capacità massima. Ad esempio, la dimensione del bucket per *le azioni di lettura del cluster*, come l'`DescribeClusters`API, è di 50 token e la frequenza di ricarica è di 20 token al secondo. Se esaurisci il bucket effettuando 50 richieste API in un secondo, puoi continuare a fare 20 richieste API al secondo. Il bucket può essere ricaricato fino alla capacità massima solo se effettui meno di 20 richieste API al secondo.

## Richiedi le dimensioni dei token bucket e le tariffe di ricarica
<a name="throttling-quotas"></a>

Ai fini della limitazione della frequenza delle richieste, le azioni API sono raggruppate in categorie. Tutte le azioni API di una categoria condividono lo stesso bucket di token. Ad esempio, tutte `DescribeClusters` le `ListClusters` API condividono il bucket *Cluster read actions*, per il quale la capacità è 50 e la frequenza di ricarica è 20. Ciò significa che il numero cumulativo di richieste API per tutte le *azioni di lettura del cluster* è limitato dalla stessa quota di burst rate di 50 richieste API. Pertanto, è possibile effettuare 25 `DescribeClusters` e 25 richieste `ListClusters` API in un secondo, oppure 30 `DescribeClusters` e 20`ListClusters`, o 50 `DescribeClusters` e 0`ListClusters`, o 0 `DescribeClusters` e 50`ListClusters`, ma non è possibile effettuare 50 `DescribeClusters` e 50 `ListClusters` richieste contemporaneamente. La velocità sostenuta viene applicata in modo analogo cumulativamente a tutte le richieste API all'interno di un bucket.

La tabella seguente mostra la capacità del bucket (o burst) e la frequenza di ricarica (o sostenuta) per tutte le regioni. AWS Tutte le categorie di azioni API applicano quote tariffarie per ogni AWS account in base alla regione.


| Categoria di azioni API | Azioni | Capacità massima del bucket (o velocità di espansione) | Velocità di ricarica del bucket (o velocità sostenuta) | 
| --- | --- | --- | --- | 
| Azioni di modifica del cluster |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 20 | 1 | 
| Azioni di lettura del cluster |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Definizione delle attività, azioni di modifica |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 20 | 1 | 
| Definizione delle attività, azioni di lettura |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Azioni di eliminazione delle definizioni delle attività |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 5 | 1 | 
| Azioni di modifica del provider di capacità |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 10 | 1 | 
| Azioni di lettura del provider di capacità |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Azioni di modifica dei tag |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 20 | 10 | 
| Tagga le azioni di lettura |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Impostazione delle azioni di modifica |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 10 | 1 | 
| Impostazione delle azioni di lettura |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Azioni di modifica delle risorse del cluster |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 100 | 40 | 
| Azioni di lettura delle risorse del cluster |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 100 | 20 | 
| Azioni di modifica dell'agente |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 200 | 120 | 
| Azioni di modifica del servizio |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 5 | 
| Azioni di lettura del servizio |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 100 | 20 | 
| Azioni di implementazione del servizio |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Azioni di revisione del servizio |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 50 | 20 | 
| Azioni di protezione delle attività |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 200 | 80 | 
| Azioni di lettura delle risorse del servizio cluster |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/request-throttling.html)  | 10 | 1 | 

<a name="note-1"></a>1 AWS Fargate limita inoltre l'`RunTask`API Amazon ECS alle tariffe elencate [qui](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/throttling.html) nella *Amazon ECS* Developer Guide.

## Regolazione delle quote di limitazione delle API
<a name="throttling-increase"></a>

Puoi richiedere un aumento delle quote di limitazione delle API per il tuo account. AWS Per richiedere un adeguamento delle quote, contatta il [centro Supporto AWS](https://console.aws.amazon.com/support/home#/).

## Gestione della limitazione delle API
<a name="handling-throttling"></a>

Puoi implementare una strategia di ripetizione degli errori e di back-off esponenziale per evitare l'impatto degli errori di limitazione sui carichi di lavoro. Se utilizzi AWS SDK, la logica di ripetizione automatica è già integrata e configurabile. Puoi fare riferimento alle seguenti risorse per maggiori dettagli:
+ [Tentativi di errore e backoff esponenziale AWS nella Guida di riferimento](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) generale AWS 
+ Post di blog con backoff e [jitter esponenziali](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/)
+ [Articolo relativo a timeout, nuovi tentativi e backoff with jitter](https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/) nella libreria di Amazon Builder