Mon application reçoit des messages d'erreur « Taux dépassé » lorsqu'elle appelle Amazon EC2 Auto Scaling, AWS Auto Scaling ou AWS Application Auto Scaling.
Brève description
Les appels d'API ne peuvent pas dépasser le taux de demandes d'API maximum autorisé par compte et par Région AWS. Cela inclut les appels d'API provenant à la fois de l'interface de la ligne de commande AWS (AWS CLI) et de la console de gestion AWS. Si les demandes d'API dépassent le taux maximum, vous recevez le message d'erreur « Taux dépassé » et les autres appels d'API sont limités.
Amazon EC2 Auto Scaling, AWS Auto Scaling et AWS Application Auto Scaling disposent de leurs propres compartiments de limitation d’API. Cela signifie que tous les appels d'API Amazon EC2 Auto Scaling ont une seule limite d'API partagée. Les appels d'API Amazon EC2 Auto Scaling n'ont aucune incidence sur la limite des API AWS Application Auto Scaling.
Pour éviter l'erreur « Taux dépassé » et la limitation, vérifiez que votre application n'effectue que les appels nécessaires.
**Remarque :**Si des erreurs surviennent lorsque vous exécutez des commandes AWS CLI, consultez l’article Résoudre les erreurs AWS CLI. Vérifiez également que vous utilisez la version la plus récente de l'interface.
Résolution
Vérifier l'utilisation actuelle d'API Auto Scaling
Pour vérifier l'utilisation actuelle d'API Auto Scaling, surveillez les statistiques d'utilisation d'AWS dans vos métriques Amazon CloudWatch pour le service EC2 Auto Scaling. Utilisez les métriques pour surveiller les API Auto Scaling qui sont appelées et identifier les périodes pendant lesquelles un grand nombre d'appels d'API ont été effectués ou des erreurs de type « Taux dépassé ». Utilisez ensuite ces informations pour optimiser et réduire l'utilisation de votre API.
Validez les appels « décrire »
Les appels de type « décrire » excessifs contribuent au nombre total de demandes d'API mesurées par rapport au taux de demandes autorisé. Vérifiez que les appels de type « décrire » de votre application sont tous nécessaires et utilisez d'autres solutions si possible. Par exemple, utilisez les notifications push d'Amazon EventBridge pour envoyer des notifications lorsque les instances changent d'état, par exemple lorsqu'elles démarrent un hook de cycle de vie.
Les applications qui vérifient l'état du cycle de vie de l'instance n'effectuent pas d'appel de type « décrire ». Au lieu de cela, ces applications interrogent les métadonnées de l'instance. Récupérez les informations relatives aux balises, y compris le nom du groupe Auto Scaling, à partir des métadonnées de l'instance. Vous devez utiliser le modèle de lancement pour activer les informations de balise pour l'instance.
Vérifier les appels provenant d'applications tierces
Les applications tierces peuvent passer des appels continus à Auto Scaling dans AWS. Vérifiez vos applications tierces pour détecter les appels inutiles et mettez à jour les paramètres de vos applications tierces.
Utiliser de nouvelles tentatives après erreur et du backoff exponentiel
Les nouvelles tentatives après erreur et le backoff exponentiel peuvent contribuer à limiter le taux d'appels d'API. Chaque kit SDK AWS met en œuvre une logique de nouvelle tentative automatique et des algorithmes de backoff exponentiel. Pour plus d'informations, consultez la section Comportement de nouvelles tentative.
Éviter les périodes d'activité intense
Évitez les situations qui provoquent des rafales d'appels d'API. Par exemple, lorsque vous lancez des instances dans un groupe Amazon EC2 Auto Scaling, ne configurez pas les instances pour qu'elles activent la protection de la mise à l'échelle. Activez l'option par défaut pour le groupe Auto Scaling afin que toutes les instances soient protégées.
Demander une augmentation du quota de service
Pour obtenir une augmentation du quota de service, demandez une augmentation depuis la console du Centre de support. Dans la section Augmentation de la limite de service, effectuez les étapes suivantes :
- Pour Type de limite, choisissez Auto Scaling.
- Pour Service Auto Scaling, choisissez EC2 Auto Scaling.
- Pour Limite, choisissez API throttling.
- Pour Nouvelle valeur limite, choisissez N/A.
Incluez les informations suivantes dans la demande :
- Validation du taux d'appels de votre API et mise en œuvre de méthodes de nouvelles tentatives après erreur ou de backoff exponentiel
- Région et calendrier liés aux problèmes de limitation
- Flux de travail complet des API AutoScaling
- Lorsque vous vous attendez à ce que votre utilisation maximale de l'API se produise, comme lors d'un déploiement
Pour plus d'informations, consultez Comment gérer mes quotas de service AWS ?
Informations connexes
Backoff exponentiel et gigue
Service Quotas d’AWS