

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

# Richiedi la limitazione per l'API Amazon RDS
<a name="rds-api-throttling"></a>

Amazon RDS limita le richieste API per ciascuna Account AWS in ciascuno AWS Regione. Questo aiuta le prestazioni del servizio e garantisce un utilizzo corretto per tutti i clienti Amazon RDS. La limitazione garantisce che le richieste all'API Amazon RDS non superino i limiti massimi consentiti per le richieste API. I limiti di richiesta si applicano alle richieste API provenienti da qualsiasi fonte, incluse le seguenti.
+ Il codice della tua applicazione utilizzando un AWS SDK
+ Uno strumento da riga di comando, come AWS CLI
+ Il Amazon Aurora plancia
+ Uno strumento di terze parti che utilizza le credenziali del tuo account, ad esempio un'infrastruttura come codice o uno strumento di monitoraggio

Amazon Aurora utilizza l'API Amazon RDS, quindi gli stessi limiti si applicano alle richieste API Aurora.

Se utilizzi un'operazione API Amazon RDS e superi il limite predefinito per il numero di chiamate al secondo, l'API Amazon RDS emette un errore simile al seguente.

ClientError: Si è verificato un errore (ThrottlingException) quando si chiama il {{API\_name}} operazione: Frequenza superata.

Questo errore indica che il tuo account ha superato il limite di richieste API. Per impostazione predefinita, puoi effettuare fino a 300 richieste in sequenza e fino a 12 richieste al secondo. Per evitare questo errore, riprova la richiesta con un backoff esponenziale, riduci la frequenza delle richieste o richiedi un aumento del limite. Per ulteriori informazioni, consulta [Ritentativi e backoff esponenziale](#rds-api-throttling-backoff), [Riduci il numero di richieste API](#rds-api-throttling-reduce) e [Richiedere un aumento del limite della](#rds-api-throttling-increase).

**Topics**
+ [Come viene applicata la limitazione](#rds-api-throttling-how)
+ [Dimensione del bucket di token e percentuale di ricarica](#rds-api-throttling-limits)
+ [Ritentativi e backoff esponenziale](#rds-api-throttling-backoff)
+ [Riduci il numero di richieste API](#rds-api-throttling-reduce)
+ [Identifica l'origine delle richieste limitate](#rds-api-throttling-monitor)
+ [Visualizza i tuoi attuali limiti API](#rds-api-throttling-view-limits)
+ [Richiedere un aumento del limite della](#rds-api-throttling-increase)

## Come viene applicata la limitazione
<a name="rds-api-throttling-how"></a>

Amazon RDS utilizza un bucket di token per limitare le richieste API. Comprendere come funziona il bucket ti aiuta a prevedere quando si verifica la limitazione e a pianificare la frequenza delle richieste.

Il tuo account ha un *secchio* che contiene un numero di *gettoni*. Ogni richiesta spende un token e Amazon RDS ne aggiunge nuovamente a un ritmo costante. Il numero di token nel bucket è il numero di richieste che puoi effettuare in quel momento.

Il tuo account ha un bucket per ciascuno AWS Regione, condivisa da tutte le azioni dell'API Amazon RDS. Ogni richiesta effettuata rimuove un token dal bucket. Supponiamo che la dimensione del bucket sia di 300 token. Puoi effettuare fino a 300 richieste in un secondo. Se si superano le 300 richieste in un secondo, si viene limitati e le richieste rimanenti entro quel secondo non riescono.

I bucket si riempiono automaticamente a una velocità prestabilita. Se il bucket è al di sotto della sua capacità massima, Amazon RDS vi aggiunge un determinato numero di token ogni secondo fino a raggiungere la sua capacità massima.

Se il bucket è pieno quando arrivano i token di ricarica, li scarta. Il bucket non può contenere più del numero massimo di token.

Supponiamo che la dimensione del bucket sia di 300 token e che la frequenza di ricarica sia di 12 token al secondo. Se effettui 300 richieste in un secondo, il bucket scende a zero (0) token.

Il bucket si riempie quindi di 12 gettoni ogni secondo. Raggiunge la sua capacità massima di 300 token dopo 25 secondi se non si effettuano richieste durante tale periodo.

Non è necessario attendere che il bucket sia completamente pieno prima di poter effettuare richieste API. Puoi utilizzare i token di ricarica man mano che vengono aggiunti al bucket. Se esaurisci il bucket effettuando 300 richieste in un secondo, puoi continuare a fare 12 richieste al secondo utilizzando i token di ricarica man mano che vengono aggiunti al bucket. Il bucket può riempirsi fino alla capacità massima solo se effettui meno di 12 richieste al secondo.

Amazon RDS limita separatamente le richieste che AWS servizi, come AWS CloudFormation, crea per tuo conto. Queste richieste non consumano token dal bucket del tuo account.

## Dimensione del bucket di token e percentuale di ricarica
<a name="rds-api-throttling-limits"></a>

La tabella seguente mostra i limiti di limitazione delle richieste API predefiniti per ciascuno Account AWS in ciascuno AWS Regione.


| Operazioni dell'API | Capacità massima bucket | Tasso di riempimento bucket (al secondo) | 
| --- | --- | --- | 
| Tutti [Azioni API Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Operations.html) | 300 | 12 | 

Questi sono i limiti predefiniti. Se AWS ha aumentato i limiti del tuo account, i tuoi limiti sono più alti.

Per ulteriori informazioni sulle quote relative al numero di risorse Amazon RDS che puoi creare nel tuo account, consulta [Quote in Amazon Aurora](CHAP_Limits.md#RDS_Limits.Limits). Per ulteriori informazioni sugli endpoint e sulle quote del servizio Amazon RDS, consulta [Endpoint e quote di Amazon Relational Database Service](https://docs.aws.amazon.com/general/latest/gr/rds-service.html) nel *Riferimenti generali di Amazon Web Services*.

## Ritentativi e backoff esponenziale
<a name="rds-api-throttling-backoff"></a>

L'applicazione potrebbe dover ritentare una richiesta API. Ad esempio:
+ Per verificare la presenza di un aggiornamento dello stato di una risorsa, ad esempio un'istanza DB che viene creata o modificata
+ Per enumerare un numero elevato di risorse (ad esempio, tutte le istantanee del database)
+ Per riprovare una richiesta dopo che non è riuscita con un errore del server (5xx) o un errore di limitazione

Tuttavia, per un errore del client (4xx) diverso da un errore di limitazione, rivedi la richiesta per correggere il problema prima di riprovare la richiesta.

### Modifiche allo stato delle risorse
<a name="rds-api-throttling-backoff-status"></a>

Prima di iniziare il polling per verificare la presenza di aggiornamenti di stato, concedi il tempo necessario per il completamento della richiesta. Ad esempio, attendi qualche minuto prima di verificare se l'istanza DB è disponibile. Quando inizi il polling, utilizza un intervallo di sospensione appropriato tra le richieste successive per ridurre la frequenza delle richieste API. Per ottimizzare i risultati, utilizzare un intervallo di attesa incrementale o variabile.

In alternativa, puoi usare Amazon EventBridge per informarti sullo stato delle tue risorse anziché effettuare sondaggi. Ad esempio, puoi ricevere un evento quando un'istanza DB diventa disponibile o quando termina un'istantanea. Per ulteriori informazioni, consulta [Creazione di una regola che si attiva su un Amazon Aurora evento](rds-cloud-watch-events.md).

### Tentativi
<a name="rds-api-throttling-backoff-retries"></a>

Quando devi eseguire il polling o riprovare una richiesta API, utilizza un algoritmo di backoff esponenziale per calcolare l'intervallo di sospensione tra le richieste. Attendi progressivamente più a lungo tra un tentativo e l'altro. Imposta un ritardo massimo e un numero massimo di tentativi. Aggiungi jitter (ritardo randomizzato) per evitare collisioni successive. Per una guida all'implementazione, consulta [Timeout, tentativi e backoff con jitter sul AWS Sito web della Builders' Library](https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/).

Ciascuna AWS L'SDK implementa la logica di riprova automatica e riprova `ThrottlingException` errori per impostazione predefinita. Per ulteriori informazioni, vedere [Riprova il comportamento](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) nel *AWS Guida di riferimento agli SDK e agli strumenti*.

## Riduci il numero di richieste API
<a name="rds-api-throttling-reduce"></a>

Poiché tutte le azioni API condividono un unico bucket, la riduzione delle richieste provenienti da qualsiasi chiamante libera spazio per tutti gli altri chiamanti presenti nel tuo account. Prima di richiedere un aumento del limite, considera quanto segue.

Risposte nella cache  
Informazioni restituite da `Describe*` azioni, ad esempio `DescribeDBInstances` e `DescribeDBClusters`, di solito cambia raramente. Memorizza i risultati nella cache e riutilizzali invece di chiamare l'API ogni volta che hai bisogno delle informazioni.

Limita il tasso di richieste sul lato client  
Modella il tasso di richieste in uscita in modo che rimanga al di sotto del tasso sostenuto prima di inviare le richieste, anziché affidarti ai tentativi successivi alla limitazione.

Sostituisci il polling con gli eventi  
Usa Amazon EventBridge per ricevere notifiche sulle modifiche allo stato delle risorse invece di chiamare ripetutamente `Describe*` azioni.

Richiedi solo ciò di cui hai bisogno  
Specifica un identificatore o usa il `Filters` parametro in modo che a `Describe*` action restituisce solo le risorse che ti interessano e scorri grandi set di risultati con `MaxRecords` e `Marker`.

Distribuisci le richieste pianificate  
Se molti lavoratori, incarichi programmati o agenti di monitoraggio chiamano l'API contemporaneamente, aggiungi un ritardo casuale a ciascuno di essi in modo che le richieste vengano distribuite nel tempo anziché arrivare a raffica.

## Identifica l'origine delle richieste limitate
<a name="rds-api-throttling-monitor"></a>

AWS CloudTrail registra ogni richiesta API nel tuo account. Ogni record mostra chi ha effettuato la richiesta, quale strumento l'ha effettuata e se è andata a buon fine. Usa AWS CloudTrail per scoprire quali utenti, ruoli o strumenti rispondono alla maggior parte delle tue richieste. Per ulteriori informazioni sulla registrazione di AWS CloudTrail , consulta [Monitoraggio delle chiamate API Amazon Aurora AWS CloudTrail](logging-using-cloudtrail.md).

## Visualizza i tuoi attuali limiti API
<a name="rds-api-throttling-view-limits"></a>

Service Quotas non gestisce i limiti di limitazione delle API Amazon RDS e non vengono visualizzati nella console Service Quotas. A meno che AWS ha aumentato i limiti per il tuo account, si applicano i limiti predefiniti. Se il tuo account ha ricevuto un aumento e non conosci i tuoi limiti attuali, apri una richiesta di assistenza per confermarli.

## Richiedere un aumento del limite della
<a name="rds-api-throttling-increase"></a>

Puoi richiedere un aumento dei limiti di limitazione delle API per i tuoi Account AWS aprendo una richiesta di assistenza. Gli aumenti dei limiti non sono self-service e AWS non li approva automaticamente. AWS esamina la tua richiesta e il traffico recente prima di applicare un nuovo limite. Attendi il tempo necessario alla revisione e all'entrata in vigore del nuovo limite.

### Raccomandazioni
<a name="rds-api-throttling-increase-recommendations"></a>

Considera i seguenti consigli prima di richiedere un aumento.
+ Basa la tua richiesta sulla percentuale massima di richieste misurata. AWS esamina l'andamento del traffico prima di approvare un aumento.
+ Dai la priorità all'aumento del tasso di ricarica del bucket se subisci limitazioni durante il traffico prolungato. Aumentate la capacità massima della benna in caso di rallentamento durante brevi periodi.
+ Distribuisci i lavori programmati o i gruppi di lavoratori che iniziano contemporaneamente prima di richiedere un aumento. La distribuzione delle richieste di solito risolve la limitazione senza aumentare il limite.
+ Invia richieste per eventi pianificati, ad esempio una migrazione o una distribuzione di grandi dimensioni, ben prima dell'evento.

### Aprire un caso di supporto
<a name="rds-api-throttling-increase-case"></a>

Se hai ancora bisogno di un limite più alto dopo aver esaminato i consigli, [crea un caso nel AWS Console del Centro di supporto](https://console.aws.amazon.com/support/home#/case/create?issueType=customer-service). Se non hai mai creato un caso prima, consulta [Creazione di casi di supporto e gestione dei casi](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) nel *AWS Guida all'assistenza per l'utente*.

Per velocizzare la revisione, copia il seguente modello nella descrizione del caso. Sostituisci {{account\_id}}, {{region}}e gli altri valori con le tue informazioni:

```
Please increase the Amazon RDS API throttling limits for my account.
Account ID(s): {{account_id}}
Region(s): {{region}}
Description: {{use_case}}
API actions: {{api_actions}}
Time window: {{time_window}}
Changes already made: {{changes_made}}
Requested limits:
    Bucket maximum capacity: {{current_bucket_capacity}} -> {{requested_bucket_capacity}}
    Bucket refill rate: {{current_refill_rate}} -> {{requested_refill_rate}}
```

Il modello utilizza i seguenti valori.

{{account\_id}}  
Il Account AWS ID, o ID, che devono essere aumentati.

{{region}}  
Le AWS Regione, o regioni, in cui vieni limitato.

{{use\_case}}  
Il tuo caso d'uso e gli strumenti che chiamano l'API Amazon RDS, come la tua applicazione, AWS CLI, uno strumento infrastructure-as-code o un agente di monitoraggio.

{{api\_actions}}  
Le azioni dell'API Amazon RDS che generano la maggior parte delle tue richieste.

{{time\_window}}  
Una finestra di un'ora, in UTC, in cui hai registrato un picco di limitazione o utilizzo. Per un evento pianificato, le date di inizio e fine pianificate.

{{changes\_made}}  
Tutto ciò che hai già provato per ridurre le richieste, ad esempio tentativi con backoff esponenziale, memorizzazione nella cache o polling meno frequenti.

{{current\_bucket\_capacity}}, {{requested\_bucket\_capacity}}  
La capacità massima del bucket attuale e richiesta (burst).

{{current\_refill\_rate}}, {{requested\_refill\_rate}}  
La percentuale di ricarica del bucket attuale e richiesta, in richieste al secondo (sostenuta).

Più contesto fornisci sul tuo traffico, più velocemente AWS può trovare il limite giusto per te.