

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
<a name="launching-instances-synchronous-provisioning"></a>

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
<a name="prerequisites-synchronous-provisioning"></a>

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
<a name="launch-instances-cli"></a>

Puede lanzar instancias con aprovisionamiento sincrónico a través de. AWS CLI

### AWS CLI
<a name="aws-cli-launch-instances"></a>

Para lanzar instancias con aprovisionamiento sincrónico:

```
aws autoscaling launch-instances \
        --auto-scaling-group-name {{group-name}} \
        --requested-capacity {{number}} \
        [--availability-zones {{zone-name}}] \
        [--subnet-ids {{subnet-id}}] \
        [--availability-zone-ids {{zone-id}}] \
        [--retry-strategy {{none}}|{{retry-with-group-configuration}}] \
        [--client-token {{token}}]
```

#### Ejemplos
<a name="examples-launch-instances"></a>

**Lanzar instancias en una zona de disponibilidad específica**

```
aws autoscaling launch-instances \
        --auto-scaling-group-name {{my-asg}} \
        --requested-capacity {{3}} \
        --availability-zones {{us-east-1a}} \
        --retry-strategy {{retry-with-group-configuration}}
```

**Lanzar instancias en una subred específica**

```
aws autoscaling launch-instances \
        --auto-scaling-group-name {{my-asg}} \
        --requested-capacity {{2}} \
        --subnet-ids {{subnet-12345678}} \
        --retry-strategy {{none}} \
        --client-token {{my-unique-token-123}}
```

#### Gestionar las respuestas
<a name="handling-responses"></a>

**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
<a name="handle-launch-failures-retries"></a>

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
<a name="client-tokens-sp"></a>

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