¿Cómo puedo evitar los errores “Rate exceeded” (Tasa superada) en CloudFormation?

3 minutos de lectura
0

A veces recibo errores “Rate exceeded” (Tasa superada) cuando uso AWS CloudFormation. ¿Cómo puedo evitar que se produzca este error?

Descripción corta

El error Rate exceeded (Tasa superada) se produce cuando las llamadas a la API a un servicio de AWS superan el máximo de solicitudes de API permitidas y las llamadas a la API se limitan. En general, estos errores son temporales y se resuelven solos a medida que disminuyen las llamadas a la API.

Para evitar errores Rate exceeded (Tasa superada), puede:

  • Implementar un retroceso exponencial
  • Crear o actualizar las pilas de una en una
  • Usar el atributo DependsOn
  • Solicitar un aumento de cuota

Resolución

Implementar un retroceso exponencial

Al utilizar puntos de conexión de la API de AWS, implemente un retroceso exponencial para reducir el número de llamadas a la API que se realizan.

El siguiente pseudocódigo de ejemplo para una llamada a la API DescribeStacks está configurado para volver a intentar la llamada a la API después de un período de tiempo específico:

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

Crear o actualizar las pilas de una en una

La creación o actualización de varias pilas de CloudFormation al mismo tiempo puede provocar que se realicen muchas llamadas a la API al mismo tiempo. Para evitar que las llamadas a la API superen el máximo de solicitudes de API permitidas, cree o actualice las pilas de una en una.

Usar el atributo DependsOn

A menos que se defina una dependencia entre los recursos, CloudFormation crea y actualiza los recursos al mismo tiempo. El atributo DependsOn define las dependencias entre los recursos para controlar las actualizaciones simultáneas.

El atributo DependsOn le permite especificar cuándo se crea o actualiza cada recurso dependiente. Por ejemplo, si el recurso B depende del recurso A, puede especificar que el recurso A se cree o actualice antes que el recurso B. Esto limita el número de llamadas a la API que se realizan al mismo tiempo y reduce la incidencia de limitación. También puede usar el atributo DependsOn con pilas anidadas.

Solicitar un aumento de cuota

Si las resoluciones anteriores no funcionan para su situación, puede solicitar un aumento de cuota. Antes de solicitar un aumento de cuota, identifique la llamada a la API para determinar cuál es la que supera la tasa de llamadas.

En su solicitud de aumento de cuota, incluya su región de AWS, el marco temporal de la limitación de la API y el motivo del aumento.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años