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.
Contenido
Cómo se aplica la limitación
Amazon EC2 usa el algoritmo token bucket
Amazon EC2 implementa dos tipos de API regulación:
APItipos de estrangulamiento
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*
,, yGet*
API acciones, comoDescribeRouteTables
SearchTransitGatewayRoutes
, 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, como
AllocateHosts
, 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 |
100 | 20 |
Acciones que no mutan ni filtradas ni paginadas |
|
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 |
|
50 | 5 |
Acciones de consola que no mutan |
|
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
-
AWS Support Centro
abierto. -
Elija Crear caso.
-
Elija Cuenta y facturación.
-
Para el servicio, selecciona Información general y Cómo empezar.
-
En Categoría, selecciona Uso AWS y servicios.
-
Elija Siguiente paso: información adicional.
-
En Subject (Asunto), escriba
Request an increase in my Amazon EC2 API throttling limits
. -
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).
-
Elija Siguiente paso: Resuelva ahora o póngase en contacto con nosotros.
-
En la pestaña Comuníquese con nosotros, elija el idioma y el método de contacto que prefiera.
-
Elija Enviar.