Limitación de solicitudes para la API de Elastic Load Balancing - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Limitación de solicitudes para la API de Elastic Load Balancing

Elastic Load Balancing limita las solicitudes de API para cada AWS cuenta por región. Hacemos esto para mejorar el rendimiento y la disponibilidad del servicio. La limitación garantiza que las solicitudes a la API de Elastic Load Balancing no superen los límites máximos de solicitudes de API permitidos. Las solicitudes de API están sujetas a los límites de solicitudes, independientemente de que usted las llame o las solicite en su nombre (por ejemplo, la aplicación AWS Management Console o la de un tercero).

Si superas el límite de regulación de la API de Elastic Load Balancing, recibirás el código de ThrottlingException error y un mensaje de Rate exceeded error.

Le recomendamos que se prepare para gestionar la aceleración sin problemas. Para obtener más información, consulte Tiempos de espera, reintentos y retardo con fluctuación. Si experimenta un alto nivel de limitación, puede ponerse en contacto con nosotros AWS Support para que le ayuden a evaluar el uso de la API y las posibles soluciones. Cada caso se evalúa de forma individual. Soporte podría aumentar sus límites dentro de los límites de seguridad del sistema para mantener una alta disponibilidad y un rendimiento predecible.

Cómo se aplica la limitación

Elastic Load Balancing usa el algoritmo token bucket para implementar la limitación de API. Con este algoritmo, su cuenta tiene un bucket que contiene un número específico de tokens. La cantidad de tokens en el depósito representa su límite de limitación en un segundo dado.

Elastic Load Balancing proporciona dos conjuntos de acciones de API. La versión 2 de la API de ELB admite los siguientes tipos de balanceadores de carga: balanceadores de carga de aplicaciones, balanceadores de carga de red y balanceadores de carga de puerta de enlace. La versión 1 de la API de ELB es compatible con los balanceadores de carga clásicos. Cada versión de la API de ELB tiene sus propios depósitos y fichas.

Servicios que llaman a la API de Elastic Load Balancing en su nombre, como Amazon EC2, Amazon ECS y Amazon EC2 Auto Scaling, y AWS CloudFormation que tienen sus propios buckets a nivel de cuenta. Estos servicios no consumen los tokens de sus grupos.

Limitación de velocidad de solicitudes

Con la limitación de la tasa de solicitudes, se reduce el número de solicitudes a la API que se realizan. Cada solicitud que realice elimina un token del bucket. Por ejemplo, el tamaño del depósito de fichas para las acciones de la API que no mutan es de 40 fichas. Puedes realizar hasta 40 Describe* solicitudes en un segundo. Si superas Describe* las 40 solicitudes en un segundo, estarás limitado y las solicitudes restantes dentro de ese segundo fallarán.

Los buckets se recargan automáticamente a una tasa fija. Si un depósito está por debajo de su capacidad máxima, se vuelve a añadir un número determinado de fichas cada segundo hasta que el depósito alcance su capacidad máxima. Si una cubeta está llena cuando llegan las fichas de recarga, se desechan. Un cubo no puede contener más fichas que su número máximo de fichas. Por ejemplo, el tamaño del depósito para las acciones de la API no mutantes es de 40 fichas y la tasa de recarga es de 10 fichas por segundo. Si realizas 40 DescribeLoadBalancers solicitudes en un segundo, el depósito se reduce a cero (0) fichas. Añadimos 10 fichas de recarga a la cubeta cada segundo, hasta que alcance su capacidad máxima de 40 fichas. Esto significa que una cubeta vacía tarda 4 segundos en alcanzar su capacidad máxima si no se realiza ninguna solicitud durante ese tiempo.

No es necesario esperar a que un depósito esté completamente lleno para poder realizar solicitudes a la API. Puedes usar los tokens a medida que se añaden a un depósito. Si utiliza inmediatamente los tokens de relleno, el bucket no alcanza la capacidad máxima.

Hay un límite de regulación a nivel de cuenta que se comparte entre todas las acciones de la API de Elastic Load Balancing. La capacidad del depósito a nivel de cuenta es de 40 fichas y la tasa de recarga es de 10 fichas de solicitud por segundo.

Solicita los tamaños de los cubos de fichas y las tasas de recarga

Para limitar la tasa de solicitudes, las acciones de la API se agrupan en categorías. Cada categoría tiene sus propios límites.

Categorías
  • Acciones mutantes: acciones de la API que crean, modifican o eliminan recursos. Por lo general, esta categoría incluye todas las acciones de la API que no están clasificadas como acciones no mutantes. Estas acciones tienen un límite de regulación inferior al de las acciones de API que no mutan.

  • Acciones no mutantes: acciones de la API que recuperan datos sobre los recursos. Estas acciones de la API suelen tener los límites de limitación de la API más altos.

  • Acciones que consumen muchos recursos: acciones de la API que se llevan a cabo más tiempo y consumen más recursos. Estas acciones tienen un límite de limitación aún más bajo que las acciones mutantes. Estas acciones se limitan por separado de otras acciones mutantes.

  • Acciones de registro: acciones de la API que registran o anulan el registro de los objetivos. Estas acciones de la API se limitan de forma independiente de otras acciones mutantes.

  • Acciones sin categoría: estas acciones de la API reciben sus propios tamaños de bloques de fichas y tasas de recarga, aunque pertenezcan a alguna de las otras categorías.

En la siguiente tabla, se muestran la capacidad y las tasas de recarga predeterminadas para los grupos de fichas de solicitud categorizados.

Categoría ELBv2 acciones ELBv1 acciones Capacidad de la cubeta Velocidad de recarga (por segundo)
Consume muchos recursos CreateLoadBalancer, SetSubnets CreateLoadBalancer, AttachLoadBalancerToSubnets, DetachLoadBalancerFromSubnets, EnableAvailabilityZonesForLoadBalancer, DisableAvailabilityZonesForLoadBalancer 10 0.2 †
Registration (Registro) RegisterTargets, DeregisterTargets RegisterInstancesWithLoadBalancer, DeregisterInstancesFromLoadBalancer 20 4
No mutante DescribeAccountLimits, DescribeListenerCertificates, DescribeListeners, DescribeLoadBalancerAttributes, DescribeLoadBalancers, DescribeRules, DescribeSSLPolicies, DescribeTags, DescribeTargetGroupAttributes, DescribeTargetGroups, DescribeTargetHealth Describe* 40 10
Mutando AddListenerCertificates, AddTags, CreateListener, CreateRule, CreateTargetGroup, DeleteListener, DeleteLoadBalancer, DeleteRule, DeleteTargetGroup, ModifyListener, ModifyLoadBalancerAttributes, ModifyRule, ModifyTargetGroup, ModifyTargetGroupAttributes, RemoveListenerCertificates, RemoveTags, SetIpAddressType, SetRulePriorities, SetSecurityGroups AddTags, ApplySecurityGroupsToLoadBalancer, ConfigureHealthCheck, CreateAppCookieStickinessPolicy, CreateLbCookieStickinessPolicy, CreateLoadBalancerListener, CreateLoadBalancerPolicy, Delete*, ModifyLoadBalancerAttributes, RemoveTags, SetLoadBalancer* 20 3

La siguiente tabla muestra la capacidad y las tasas de recarga predeterminadas para los grupos de fichas de solicitud sin categoría para los que se solicitan. ELBv2

ELBv2 acciones Capacidad de la cubeta Velocidad de recarga (por segundo)
CreateTrustStore 10 0.2 †
AddTrustStoreRevocations, DeleteSharedTrustStoreAssociation, DeleteTrustStore, ModifyTrustStore, RemoveTrustStoreRevocations 10 0.2
GetTrustStoreCaCertificatesBundle, GetTrustStoreRevocationContent 20 4
DescribeTrustStoreAssociations, DescribeTrustStoreRevocations, DescribeTrustStores 40 10

Las tasas de recarga fraccionarias requieren varios segundos para generar un token completo.

Supervisar las solicitudes de API

Se puede utilizar AWS CloudTrail para supervisar las solicitudes de la API de Elastic Load Balancing. Para obtener más información, consulte Registra las llamadas a la API para Elastic Load Balancing mediante AWS CloudTrail.