Comment puis-je éviter les erreurs « Taux dépassé » dans CloudFormation ?

Lecture de 3 minute(s)
0

Je souhaite éviter les erreurs « Taux dépassé » lorsque j’utilise AWS CloudFormation.

Brève description

Les appels d’API à un service AWS qui dépassent le nombre maximum de requêtes d’API autorisé génèrent l’erreur taux de demande dépassé. Dans ce cas, les appels d’API sont limités.

Résolution

Un service AWS en aval dépasse le taux maximum autorisé

Pour empêcher un service AWS de dépasser le taux maximum autorisé pendant le fonctionnement de la pile CloudFormation, utilisez les options suivantes.

Utiliser l’attribut DependsOn

À moins qu’une dépendance ne soit définie entre les ressources, CloudFormation crée et met à jour les ressources de façon simultanée. L’attribut DependsOn définit les dépendances entre les ressources afin de contrôler les mises à jour simultanées.

Pour spécifier la date de création ou de mise à jour de chaque ressource dépendante, utilisez l’attribut DependsOn. Par exemple, si la ressource B dépend de la ressource A, vous pouvez spécifier que la ressource A doit être créée ou mise à jour avant la ressource B. Cette spécification limite le nombre d’appels d’API simultanés et réduit les cas de limitation. Vous pouvez également utiliser l’attribut DependsOn avec des piles imbriquées.

Demander une augmentation de quota

Si l’attribut DependsOn ne résout pas l’erreur Taux dépassé, vous pouvez demander une augmentation de quota. Avant de demander une augmentation de quota pour l’API en aval, vous devez d’abord identifier l’appel d’API qui dépasse le taux d’appels.

Dans la demande d’augmentation de quota, indiquez votre région AWS, la durée de limitation de l’API et le motif de cette augmentation.

Une API AWS CloudFormation dépasse le taux maximum autorisé

Pour éviter que les appels d’API CloudFormation ne dépassent le nombre maximum de demandes d’API autorisé, utilisez les options suivantes.

Mettre en œuvre un backoff exponentiel

Lorsque vous utilisez des points de terminaison d’API AWS, mettez en œuvre un backoff pour réduire le nombre d’appels d’API.

L’exemple de pseudocode suivant pour un appel d’API DescribeStacks est configuré pour renvoyer l’appel d’API après un certain laps de temps :

{
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
}

Créer ou mettre à jour des piles une par une

Plusieurs piles CloudFormation créées ou mises à jour simultanément peuvent donner lieu à un trop grand nombre d’appels d’API. Pour éviter que les appels d’API ne dépassent le nombre maximum de demandes d’API autorisé, créez ou mettez à jour une pile à la fois.

Demander une augmentation de quota

Si vous ne pouvez ni créer ni mettre à jour des piles, vous pouvez demander une augmentation de quota pour l’API CloudFormation. Avant de demander une augmentation de quota, vous devez d’abord identifier l’appel d’API qui dépasse le taux d’appels.

Dans la demande d’augmentation de quota, indiquez votre région AWS, la durée de limitation de l’API et le motif de cette augmentation.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois