Come faccio a evitare gli errori "Rate exceeded" in CloudFormation?

3 minuti di lettura
0

Desidero evitare gli errori “Rate exceeded” quando utilizzo AWS CloudFormation.

Breve descrizione

Le chiamate API a un servizio AWS che superano il numero massimo di richieste API consentito generano l'errore Rate exceeded. In questo caso, le chiamate API vengono limitate.

Soluzione

Un servizio AWS a valle supera la frequenza massima consentita

Per evitare che un servizio AWS superi la frequenza massima consentita durante il funzionamento dello stack CloudFormation, utilizza le seguenti opzioni.

Usa l'attributo DependsOn

A meno che non venga definita una dipendenza tra le risorse, CloudFormation crea e aggiorna le risorse contemporaneamente. L'attributo DependsOn definisce le dipendenze tra le risorse per controllare gli aggiornamenti simultanei.

Per specificare quando ogni risorsa dipendente viene creata o aggiornata, utilizza l'attributo DependsOn. Ad esempio, se la risorsa B dipende dalla risorsa A, è possibile specificare che la risorsa A dovrà essere creata o aggiornata prima della risorsa B. In questo modo, si limita il numero di chiamate API contemporanee e si riduce l’eventualità di limitazioni. È anche possibile utilizzare l'attributo DependsON con stack annidati.

Richiedi un aumento della quota

Se l'attributo DependsON non risolve l'errore Rate exceeded, è possibile richiedere un aumento della quota. Prima di richiedere un aumento della quota per l'API a valle, identifica innanzitutto la chiamata API per determinare quella che supera la frequenza di chiamata.

Nella richiesta di aumento della quota, includi la tua regione AWS, l'intervallo di tempo della limitazione delle API e il motivo dell'aumento.

Un'API AWS CloudFormation supera la frequenza massima consentita

Per evitare che le chiamate all'API CloudFormation superino il numero massimo di richieste API consentite, utilizza le seguenti opzioni.

Implementa il backoff esponenziale

Quando usi gli endpoint delle API AWS, implementa il backoff per ridurre il numero di chiamate API.

Lo pseudocodice di esempio seguente di una chiamata API DescribeStacks è configurato per riprovare la chiamata API dopo un intervallo di tempo specifico:

{
Make 'DescribeStacks' API call

if throttled: wait 2 sec; Make 'DescribeStacks' API call
if throttled: wait 4 sec; Make 'DescribeStacks'API call
if throttled: wait 8 sec; Make 'DescribeStacks' API call
if throttled: wait 16 sec; Make 'DescribeStacks' API call
if throttled: wait 32 sec; Make 'DescribeStacks' API call
}

Crea o aggiorna gli stack uno alla volta

Più stack CloudFormation creati o aggiornati contemporaneamente possono causare troppe chiamate API. Per evitare che le chiamate API superino il numero massimo di richieste API consentito, crea o aggiorna uno stack alla volta.

Richiedi un aumento della quota

Se non riesci a creare o aggiornare gli stack, puoi richiedere un aumento della quota per l'API CloudFormation. Prima di richiedere un aumento della quota, identifica innanzitutto la chiamata API per determinare quella che supera la frequenza di chiamata.

Nella richiesta di aumento della quota, includi la tua regione AWS, l'intervallo di tempo della limitazione delle API e il motivo dell'aumento.

AWS UFFICIALE
AWS UFFICIALEAggiornata 7 mesi fa