¿Cómo evito la limitación controlada cuando llamo a PutMetricData en la API de CloudWatch?

2 minutos de lectura
0

Recibo el error “400 ThrottlingException” (Limitación controlada 400) para las llamadas a la API PutMetricData en Amazon CloudWatch.

Descripción breve

Cuando reciba el error “400 ThrottlingException” (Limitación controlada 400) para las llamadas a la API PutMetricData en CloudWatch, también recibirá el siguiente mensaje:

<ErrorResponse xmlns="http://monitoring.amazonaws.com/doc/2010-08-01/">
  <Error>
    <Type>Sender</Type>
    <Code>Throttling</Code>
    <Message>Rate exceeded</Message>
  </Error>
  <RequestId>2f85f68d-980b-11e7-a296-21716fd2d2e3</RequestId>
</ErrorResponse>

Para mejorar el rendimiento del servicio, CloudWatch limita las solicitudes de cada cuenta de AWS en función de la región de AWS. Si desea conocer las cuotas actuales de solicitudes de la API PutMetricData, consulte las cuotas de servicio de CloudWatch.

Nota: Todas las llamadas a la API PutMetricData en una región se computan para la tasa de solicitudes máxima permitida. Este número incluye las llamadas desde cualquier aplicación personalizada o de terceros. Algunos ejemplos de estas aplicaciones son el agente de CloudWatch, la interfaz de la línea de comandos de AWS (AWS CLI) y la consola de administración de AWS.

Resolución

Una práctica recomendada es utilizar los siguientes métodos para reducir la tasa de llamadas y evitar la limitación controlada de la API:

  • Distribuya sus llamadas a la API de manera uniforme a lo largo del tiempo en lugar de hacer varias llamadas a la API en un periodo breve. Si necesita que los datos estén disponibles con una resolución de un minuto, tiene un minuto completo para emitir esa métrica. Utilice la fluctuación (demora aleatoria) para enviar puntos de datos en diferentes momentos.
  • Combine tantas métricas como sea posible en una sola llamada a la API. Por ejemplo, una sola llamada PutMetricData puede incluir 1000 métricas y 150 puntos de datos. También puede utilizar conjuntos de datos preagregados, como StatisticSet, para publicar puntos de datos agregados. Esto reduce la cantidad de llamadas a PutMetricData por segundo.
  • Intente realizar una nueva llamada con retroceso exponencial y fluctuación.

Información relacionada

Referencia de la API de CloudWatch

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año