Solicita una limitación para Amazon EC2 API - Amazon Elastic Compute Cloud

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.

Solicita una limitación para Amazon EC2 API

Amazon EC2 limita las EC2 API solicitudes de cada AWS cuenta por región. Hacemos esto para mejorar el rendimiento del servicio y garantizar un uso justo para todos los EC2 clientes de Amazon. La limitación garantiza que las solicitudes a Amazon EC2 API no superen los límites máximos de API solicitudes permitidos. APIlas solicitudes están sujetas a los límites de solicitudes independientemente de si se originan en:

  • Una aplicación de terceros

  • Una herramienta de línea de comandos

  • La EC2 consola Amazon

Si superas un límite de API aceleración, aparecerá el código de RequestLimitExceeded error.

Cómo se aplica la limitación

Amazon EC2 usa el algoritmo token bucket para implementar la API regulación. Con este algoritmo, su cuenta tiene un bucket que contiene un número específico de tokens. El número de fichas del depósito representa tu límite de velocidad en un segundo dado.

Amazon EC2 implementa dos tipos de API regulación:

Limitación de velocidad de solicitudes

Con la limitación de la tasa de solicitudes, cada una API se evalúa de forma individual y se limita el número de solicitudes que se realizan por separado. API Cada solicitud que realices elimina un token API del depósito. Por ejemplo, el tamaño del depósito de fichas para DescribeHosts una API acción no mutante es de 100 fichas. Puedes realizar hasta 100 DescribeHosts solicitudes en un segundo. Si superas las 100 solicitudes en un segundo, tendrás un límite de tiempo API y las solicitudes restantes dentro de ese segundo fallarán. Sin embargo, las solicitudes de otras solicitudes no API se verán afectadas.

Los buckets se recargan automáticamente a una tasa fija. Si el depósito está por debajo de su capacidad máxima, se le vuelve a añadir un número determinado de fichas cada segundo hasta que alcance su capacidad máxima. Si la cubeta está llena cuando llegan las fichas de recarga, se desechan. La cubeta no puede contener más fichas que su número máximo de fichas. Por ejemplo, el tamaño del cubo para DescribeHosts una API acción no mutante es de 100 fichas y la tasa de recarga es de 20 fichas por segundo. Si realizas 100 DescribeHosts solicitudes en un segundo, la cubeta se reduce a cero (0) fichas. A continuación, la cubeta se rellena con 20 fichas por segundo, hasta que alcance su capacidad máxima de 100 fichas. Esto significa que una cubeta vacía alcanza su capacidad máxima después de 5 segundos si no se realiza ninguna solicitud durante ese tiempo.

No es necesario esperar a que el depósito esté completamente lleno para poder realizar API solicitudes. Puedes usar fichas de recarga a medida que se vayan añadiendo a la cubeta. Si utilizas inmediatamente las fichas de recarga, la cubeta no alcanzará su capacidad máxima. Por ejemplo, el tamaño del cubo para DescribeHosts una API acción no mutante es de 100 fichas y la tasa de recarga es de 20 fichas por segundo. Si agotas el depósito realizando 100 API solicitudes en un segundo, puedes seguir haciendo 20 API solicitudes por segundo utilizando las fichas de recarga a medida que se van añadiendo al depósito. El depósito solo se puede rellenar hasta su capacidad máxima si realizas menos de 20 API solicitudes por segundo.

Límite de velocidad de recursos

Algunas API acciones, como RunInstances y TerminateInstances tal como se describe en la tabla siguiente, utilizan la limitación de la tasa de recursos además de la limitación de la tasa de solicitudes. Estas API acciones tienen un depósito de fichas de recursos independiente que se agota en función de la cantidad de recursos a los que afecta la solicitud. Al igual que los grupos de fichas de solicitud, los grupos de fichas de recursos tienen un máximo que te permite rebasar y una tasa de recarga que te permite mantener un ritmo constante de solicitudes durante el tiempo que sea necesario. Si superas un límite de cubetas específico para unaAPI, incluso cuando una cubeta aún no se haya rellenado para atender la siguiente API solicitud, la acción de la cubeta API queda limitada aunque no hayas alcanzado el límite máximo total. API

Por ejemplo, el tamaño del depósito de fichas de recursos RunInstances es de 1000 fichas y la tasa de recarga es de dos fichas por segundo. Por lo tanto, puede lanzar 1000 instancias de forma inmediata mediante cualquier número de API solicitudes, como una solicitud para 1000 instancias o cuatro solicitudes para 250 instancias. Cuando el depósito de fichas de recursos esté vacío, puedes lanzar hasta dos instancias por segundo, utilizando una solicitud para dos instancias o dos solicitudes para una instancia.

Para obtener más información, consulte Tamaños de los cubos de fichas de recursos y tasas de recarga.

Límites de limitación

En las siguientes secciones, se describen los tamaños y las tasas de recarga del depósito de fichas de solicitud y del depósito de tokens de recurso.

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

Para limitar la frecuencia de solicitudes, API las acciones se agrupan en las siguientes categorías:

  • Acciones no mutantes: API acciones que recuperan datos sobre los recursos. Por lo general, esta categoría incluye todas las Describe* List*Search*,, y Get* API acciones, como DescribeRouteTablesSearchTransitGatewayRoutes, y. GetIpamPoolCidrs Estas API acciones suelen tener los límites de API limitación más altos.

  • Acciones que no mutan ni filtradas ni paginadas: un subconjunto específico de acciones no mutantes API que, cuando se solicitan sin especificar la paginación ni un filtro, utilizan fichas de un grupo de fichas más pequeño. Se recomienda utilizar la paginación y el filtrado para que los tokens se deduzcan del grupo de fichas estándar (más grande).

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

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

  • Acciones no mutantes de la consola: acciones no mutantes que se API solicitan desde la consola de Amazon. EC2 Estas API acciones se limitan por separado de otras acciones no mutantes. API

  • Acciones sin categoría: se trata de API acciones que reciben sus propios tamaños de cubos de fichas y porcentajes de recarga, aunque, por definición, encajan en alguna de las otras categorías.

En la siguiente tabla se muestran los tamaños de las cubetas de fichas solicitadas y las tasas de recarga de todas las regiones. AWS

APIcategoría de acción Acciones Capacidad máxima del bucket Tasa de recarga de cubos
Acciones no mutantes

Todas Describe* List*Search*, y las Get* API acciones que no estén filtradas ni paginadas, no mutantes o acciones sin categorizar.

100 20
Acciones que no mutan ni filtradas ni paginadas
  • DescribeInstances

  • DescribeInstanceStatus

  • DescribeNetworkInterfaces

  • DescribeSecurityGroups

  • DescribeSnapshots

  • DescribeSpotInstanceRequests

  • DescribeVolumes

50 10
Acciones mutantes

Todas las acciones mutantes que no son API acciones intensivas en recursos o acciones no categorizadas.

50 5
Acciones que consumen muchos recursos
  • AcceptVpcPeeringConnection

  • AuthorizeSecurityGroupIngress

  • CancelSpotInstanceRequests

  • CreateKeyPair

  • CreateVpcPeeringConnection

  • DeleteVpcPeeringConnection

  • RejectVpcPeeringConnection

  • RevokeSecurityGroupIngress

  • RequestSpotInstances

50 5
Acciones de consola que no mutan
  • Describe*

  • Get*

100 10
Acciones sin categoría AcceptVpcEndpointConnections 10 1
AdvertiseByoipCidr 1 0.1
AssignIpv6Addresses 100 5
AssignPrivateIpAddresses 100 5
AssignPrivateNatGatewayAddress 10 1
AssociateEnclaveCertificateIamRole 10 1
AssociateIamInstanceProfile 100 5
AssociateNatGatewayAddress 10 1
AttachVerifiedAccessTrustProvider 10 2.
CreateDefaultSubnet 1 1
CreateDefaultVpc 1 1
CopyImage 100 1
CreateLaunchTemplateVersion 100 5
CreateNatGateway 10 1
CreateNetworkInterface 100 5
CreateRestoreImageTask 50 0.1
CreateSnapshot 100 5
CreateSnapshots 100 5
CreateStoreImageTask 50 0.1
CreateTags 100 10
CreateVerifiedAccessEndpoint 20 4
CreateVerifiedAccessGroup 10 2
CreateVerifiedAccessInstance 10 2
CreateVerifiedAccessTrustProvider 10 2
CreateVolume 100 5
CreateVpcEndpoint 4 0.3
CreateVpcEndpointServiceConfiguration 10 1
DeleteNatGateway 10 1
DeleteNetworkInterface 100 5
DeleteSnapshot 100 5
DeleteTags 100 10
DeleteQueuedReservedInstances 5 5
DeleteVerifiedAccessEndpoint 20 4
DeleteVerifiedAccessGroup 10 2
DeleteVerifiedAccessInstance 10 2
DeleteVerifiedAccessTrustProvider 10 2
DeleteVolume 100 5
DeleteVpcEndpoints 4 0.3
DeleteVpcEndpointServiceConfigurations 10 1
DeprovisionByoipCidr 1 0.1
DeregisterImage 100 5
DetachVerifiedAccessTrustProvider 10 2.
DescribeByoipCidrs 1 0,5
DescribeCapacityBlockOfferings 10 0.15
DescribeInstanceTopology 1 1
DescribeMovingAddresses 1 1
DescribeReservedInstancesOfferings 10 10
DescribeSpotFleetRequestHistory 100 5
DescribeSpotFleetInstances 100 5
DescribeSpotFleetRequests 50 3
DescribeStoreImageTasks 50 0,5
DescribeVerifiedAccessInstanceLoggingConfigurations 10 2
DisableFastLaunch 5 2.
DisableImageBlockPublicAccess 1 0.1
DisableSnapshotBlockPublicAccess 1 0.1
DisassociateEnclaveCertificateIamRole 10 1
DisassociateIamInstanceProfile 100 5
DisassociateNatGatewayAddress 10 1
EnableFastLaunch 5 2.
EnableImageBlockPublicAccess 1 0.1
EnableSnapshotBlockPublicAccess 1 0.1
GetAssociatedEnclaveCertificateIamRoles 10 1
ModifyImageAttribute 100 5
ModifyInstanceMetadataOptions 100 5
ModifyLaunchTemplate 100 5
ModifyNetworkInterfaceAttribute 100 5
ModifySnapshotAttribute 100 5
ModifyVerifiedAccessEndpoint 20 4
ModifyVerifiedAccessEndpointPolicy 20 4
ModifyVerifiedAccessGroup 10 2
ModifyVerifiedAccessGroupPolicy 20 4
ModifyVerifiedAccessInstance 10 2
ModifyVerifiedAccessInstanceLoggingConfiguration 10 2
ModifyVerifiedAccessTrustProvider 10 2
ModifyVpcEndpoint 4 0.3
ModifyVpcEndpointServiceConfiguration 10 1
MoveAddressToVpc 1 1
ProvisionByoipCidr 1 0.1
PurchaseCapacityBlock 10 0,15
PurchaseReservedInstancesOffering 5 5
RejectVpcEndpointConnections 10 1
RestoreAddressToClassic 1 1
RunInstances 5 2
StartInstances 5 2
TerminateInstances 100 5
UnassignPrivateIpAddresses 100 5
UnassignPrivateNatGatewayAddress 10 1
WithdrawByoipCidr 1 0.1

Tamaños de los cubos de fichas de recursos y tasas de recarga

En la siguiente tabla, se muestran los tamaños de los depósitos de fichas de recursos y las tasas de recarga para las API acciones que utilizan la limitación de la tasa de recursos.

APIacción Capacidad máxima del bucket Tasa de recarga de la cubeta
RunInstances 1 000 2
TerminateInstances 1 000 20
StartInstances 1 000 2
StopInstances 1 000 20

APISupervise la regulación

Puedes utilizar Amazon CloudWatch para supervisar tus EC2 API solicitudes de Amazon y recopilar y realizar un seguimiento de las métricas relacionadas con la API limitación. También puedes crear una alarma que te avise cuando estés a punto de alcanzar los límites de API regulación. Para obtener más información, consulte Supervisa EC2 API las solicitudes de Amazon a través de Amazon CloudWatch.

Reintentos y retrocesos exponenciales

Es posible que la aplicación necesite volver a intentar una solicitud. API Por ejemplo:

  • Para comprobar si hay alguna actualización en el estado de un recurso

  • Para enumerar una gran cantidad de recursos (por ejemplo, todos los volúmenes)

  • Para volver a intentar una solicitud después de que se haya producido un error de servidor (5xx) o un error de limitación

Sin embargo, en el caso de un error del cliente (4xx), debes revisar la solicitud para corregir el problema antes de volver a intentarlo.

Cambios en el estado de los recursos

Antes de empezar a sondear para comprobar si hay actualizaciones de estado, espere a que la solicitud se complete potencialmente. Por ejemplo, espera unos minutos antes de comprobar si la instancia está activa. Cuando comience a sondear, utilice un intervalo de espera adecuado entre las solicitudes sucesivas para reducir la tasa de API solicitudes. Para obtener resultados óptimos, utilice un intervalo de suspensión creciente o variable.

Como alternativa, puedes usar Amazon EventBridge para que te notifique el estado de algunos recursos. Por ejemplo, puedes usar el evento de notificación de cambio de estado de la EC2 instancia para notificarte un cambio de estado en una instancia. Para obtener más información, consulta Automatizar el EC2 uso de Amazon EventBridge.

Reintentos

Cuando necesites sondear o volver a intentar una API solicitud, te recomendamos que utilices un algoritmo de espera exponencial para calcular el intervalo de espera entre las solicitudes. API El retardo exponencial se basa en la idea de utilizar tiempos de espera progresivamente más largos entre reintentos para las respuestas a errores consecutivos. Debe implementar un intervalo de retraso máximo, así como un número máximo de intentos. También puedes usar la fluctuación (retardo aleatorio) para evitar colisiones sucesivas. Para obtener más información, consulte Tiempos de espera, reintentos y retardo con fluctuación.

Cada uno AWS SDK implementa una lógica de reintento automático. Para obtener más información, consulte Comportamiento del reintento en la Guía de referencia de herramientas AWS SDKs y herramientas.

Solicitar un aumento de límite de

Puede solicitar un aumento de los límites API de regulación para su. Cuenta de AWS

Para solicitar acceso a esta función
  1. AWS Support Centro abierto.

  2. Elija Crear caso.

  3. Elija Cuenta y facturación.

  4. Para el servicio, selecciona Información general y Cómo empezar.

  5. En Categoría, selecciona Uso AWS y servicios.

  6. Elija Siguiente paso: información adicional.

  7. En Subject (Asunto), escriba Request an increase in my Amazon EC2 API throttling limits.

  8. En Descripción, escriba Please increase the API throttling limits for my account. Related page: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/throttling.html. Incluya también la información siguiente:

    • Una descripción del caso de uso.

    • Las regiones en las que necesita un aumento.

    • El intervalo de una horaUTC, en el que se produjo el pico de aceleración o uso (para calcular el nuevo límite de regulación).

  9. Elija Siguiente paso: Resuelva ahora o póngase en contacto con nosotros.

  10. En la pestaña Comuníquese con nosotros, elija el idioma y el método de contacto que prefiera.

  11. Elija Enviar.