Protección de sus API de WebSocket en API Gateway - Amazon API Gateway

Protección de sus API de WebSocket en API Gateway

Puede configurar la limitación para las API para evitar que se vean desbordadas por un número excesivo de solicitudes. La limitación se aplica en la medida de lo posible y se debe considerar como objetivo en lugar de como límite de solicitud garantizado.

API Gateway limita las solicitudes a la API utilizando el algoritmo de bucket de tokens, donde un token da cuenta de una solicitud. En concreto, API Gateway examina el ratio de solicitudes y una ráfaga de envíos de solicitudes para todas las API de su cuenta, por región. En el algoritmo de bucket de tokens, una ráfaga puede permitir que se sobrepasen los límites predefinidos, pero también hay otros factores que pueden hacer que se sobrepasen los límites en algunos casos.

Cuando los envíos de solicitudes superan los límites de ratio de solicitudes en estado estable y de ráfaga, API Gateway comienza a limitar las solicitudes. Los clientes pueden recibir respuestas de error 429 Too Many Requests en este momento. Tras capturar estas excepciones, el cliente puede reenviar las solicitudes que han producido un error de forma que limite el ratio.

Como desarrollador de la API, puede configurar los límites objetivos para las etapas o rutas individuales de la API con el fin de mejorar el rendimiento general de todas las API de su cuenta.

Limitaciones de nivel de cuenta por región

De forma predeterminada, API Gateway limita las solicitudes de estado constante por segundo (RPS) en todas las API de una cuenta de AWS, por región. También limita la ráfaga (es decir, el tamaño máximo del bucket) en todas las API dentro de una cuenta de AWS, por región. En API Gateway, el límite de ráfaga representa el número máximo de envíos de solicitudes simultáneas que API Gateway; abordará antes de devolver respuestas de error 429 Too Many Requests. Para obtener más información sobre la limitación de cuotas, consulte Cuotas de Amazon API Gateway y notas importantes.

Los límites por cuenta se aplican a todas las API de una cuenta en una región determinada. El límite de ratio de nivel de cuenta se puede aumentar previa solicitud. Los límites más altos son posibles con API que tienen tiempos de espera más cortos y cargas útiles más pequeñas. Para solicitar un aumento de los límites de la limitación controlada a nivel de la cuenta por región, contacte con el Centro de soporte de AWS. Para obtener más información, consulte Cuotas de Amazon API Gateway y notas importantes. Tenga en cuenta que estos límites no pueden ser superiores a los límites de limitación controlada de AWS.

Limitación controlada de nivel de ruta

Puede definir la limitación controlada del nivel de ruta para invalidar los límites de limitación controlada de las solicitudes de nivel de cuenta de una determinada etapa o de las rutas individuales de la API. Los límites de limitación controlada de rutas predeterminados no pueden superar los límites de ratio a nivel de cuenta.

Puede configurar la limitación controlada de nivel de ruta mediante la AWS CLI. El siguiente comando configura la limitación controlada de nivel de ruta para la etapa y la ruta especificadas de una API.

aws apigatewayv2 update-stage \ --api-id a1b2c3d4 \ --stage-name dev \ --route-settings '{"messages":{"ThrottlingBurstLimit":100,"ThrottlingRateLimit":2000}}'