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.
Lanzamiento de instancias con aprovisionamiento sincrónico
Puede usar la LaunchInstances API para lanzar sincrónicamente un número específico de instancias en su grupo de Auto Scaling. La API lanza las instancias en la zona de disponibilidad o la subred que especifique y devuelve inmediatamente la información de la instancia IDs o del error.
Requisitos previos
Para poder usar la LaunchInstances API, debes tener:
-
Un grupo de Auto Scaling que usa una plantilla de lanzamiento (no se admiten las configuraciones de lanzamiento)
-
Debe tener permisos para las siguientes acciones de IAM:
-
autoscaling:LaunchInstances -
ec2:CreateFleet -
ec2:DescribeLaunchTemplateVersions
-
Lance instancias con aprovisionamiento sincrónico
Puede lanzar instancias con aprovisionamiento sincrónico a través de. AWS CLI
AWS CLI
Para lanzar instancias con aprovisionamiento sincrónico:
aws autoscaling launch-instances \ --auto-scaling-group-namegroup-name\ --requested-capacitynumber\ [--availability-zoneszone-name] \ [--subnet-idssubnet-id] \ [--availability-zone-idszone-id] \ [--retry-strategynone|retry-with-group-configuration] \ [--client-tokentoken]
Ejemplos
Lanzar instancias en una zona de disponibilidad específica
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity3\ --availability-zonesus-east-1a\ --retry-strategyretry-with-group-configuration
Lanzar instancias en una subred específica
aws autoscaling launch-instances \ --auto-scaling-group-namemy-asg\ --requested-capacity2\ --subnet-idssubnet-12345678\ --retry-strategynone\ --client-tokenmy-unique-token-123
Gestionar las respuestas
Ejemplo de una respuesta exitosa:
{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [ { "InstanceType": "m5.xlarge", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "InstanceIds": ["i-0123456789abcdef0", "i-0fedcba9876543210"] } ], "Errors": [] }
Ejemplo de una respuesta con errores
{ "AutoScalingGroupName": "my-asg", "ClientToken": "my-unique-token-123", "Instances": [], "Errors": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "AvailabilityZoneId": "use1-az1", "SubnetId": "subnet-12345678", "MarketType": "OnDemand", "ErrorCode": "InsufficientInstanceCapacity", "ErrorMessage": "There is not enough capacity to fulfill your request for instance type 'm5.large' in 'us-east-1a'" } ] }
Gestione los errores de lanzamiento y los reintentos
Cuando la LaunchInstances API detecte errores, puedes implementar estrategias de reintentos utilizando los tokens de idempotencia y las políticas de reintentos adecuadas.
Puedes usar el parámetro client-token para reintentar las solicitudes. También puedes usar las siguientes estrategias de reintento:
-
RetryStrategy: none(predeterminado): si la llamada a la API falla, la capacidad deseada del grupo de Auto Scaling permanece sin cambios y no se produce ningún reintento automático. -
RetryStrategy: retry-with-group-configuration- Si la llamada a la API falla, la capacidad deseada del grupo de Auto Scaling aumentará en la cantidad solicitada y Auto Scaling volverá a intentar lanzar instancias automáticamente utilizando la configuración y los procesos estándar del grupo.
El comportamiento de los reintentos RetryStrategy: retry-with-group-configuration depende del tipo de error:
-
Errores de validación: la capacidad deseada no se ha incrementado porque la operación no puede continuar. Por ejemplo, parámetros no válidos o configuraciones no compatibles.
-
Errores de capacidad: se ha aumentado la capacidad deseada y Auto Scaling volverá a intentar lanzar las instancias de forma asíncrona mediante los procesos de escalado normales del grupo.
Uso de fichas de cliente para la idempotencia
El client-token parámetro garantiza las operaciones idempotentes y permite reintentos seguros de las solicitudes de lanzamiento.
Comportamientos clave:
-
Los tokens de los clientes tienen una vida útil de 8 horas a partir de la solicitud inicial
-
Al volver a intentarlo con el mismo token de cliente en un plazo de 8 horas, se devuelve la respuesta en caché en lugar de lanzar nuevas instancias
-
Transcurridas 8 horas, el mismo token de cliente iniciará una nueva operación de lanzamiento