

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Lancement d'instances avec provisionnement synchrone
<a name="launching-instances-synchronous-provisioning"></a>

Vous pouvez utiliser l' LaunchInstances API pour lancer de manière synchrone un nombre spécifique d'instances dans votre groupe Auto Scaling. L'API lance des instances dans la zone de disponibilité ou le sous-réseau que vous spécifiez et renvoie immédiatement les informations relatives à l'instance IDs ou à l'erreur.

## Conditions préalables
<a name="prerequisites-synchronous-provisioning"></a>

Avant de pouvoir utiliser l' LaunchInstances API, vous devez disposer des éléments suivants :
+ Un groupe Auto Scaling qui utilise un modèle de lancement (les configurations de lancement ne sont pas prises en charge)
+ Vous devez disposer d'autorisations pour les actions IAM suivantes :
  + `autoscaling:LaunchInstances`
  + `ec2:CreateFleet`
  + `ec2:DescribeLaunchTemplateVersions`

## Lancer des instances avec un provisionnement synchrone
<a name="launch-instances-cli"></a>

Vous pouvez lancer des instances avec un provisionnement synchrone via le. AWS CLI

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

Pour lancer des instances avec un provisionnement synchrone :

```
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}}]
```

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

**Lancement d'instances dans une zone de disponibilité spécifique**

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

**Lancement d'instances dans un sous-réseau spécifique**

```
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}}
```

#### Gestion des réponses
<a name="handling-responses"></a>

**Exemple de réponse réussie :**

```
{
    "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": []
}
```

**Exemple de réponse comportant des erreurs**

```
{
    "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'"
        }
    ]
}
```

## Gérer les échecs de lancement et les nouvelles tentatives
<a name="handle-launch-failures-retries"></a>

Lorsque l' LaunchInstances API rencontre des échecs, vous pouvez mettre en œuvre des stratégies de nouvelle tentative à l'aide de jetons d'idempotencie et de politiques de nouvelle tentative appropriées.

Vous pouvez utiliser le paramètre client-token pour réessayer les demandes. Vous pouvez également utiliser les stratégies de nouvelle tentative suivantes :
+ `RetryStrategy: none`(par défaut) - Si l'appel d'API échoue, la capacité souhaitée du groupe Auto Scaling reste inchangée et aucune nouvelle tentative automatique n'est effectuée.
+ `RetryStrategy: retry-with-group-configuration`- Si l'appel d'API échoue, la capacité souhaitée du groupe Auto Scaling est augmentée du montant demandé, et Auto Scaling réessaiera automatiquement de lancer des instances en utilisant la configuration et les processus standard du groupe.

Le comportement des nouvelles tentatives `RetryStrategy: retry-with-group-configuration` dépend du type d'échec :
+ **Erreurs de validation** : la capacité souhaitée n'est pas augmentée car l'opération ne peut pas se poursuivre. Par exemple, des paramètres non valides ou des configurations non prises en charge.
+ **Erreurs de capacité** : la capacité souhaitée est augmentée et Auto Scaling réessaiera de lancer des instances de manière asynchrone en utilisant les processus de dimensionnement habituels du groupe.

### Utilisation de jetons clients pour l'idempuissance
<a name="client-tokens-sp"></a>

Le `client-token` paramètre garantit des opérations idempotentes et permet de réessayer en toute sécurité les demandes de lancement.

Comportements clés :
+ Les jetons clients ont une durée de vie de 8 heures à compter de la demande initiale
+ Une nouvelle tentative avec le même jeton client dans les 8 heures renvoie la réponse mise en cache au lieu de lancer de nouvelles instances
+ Après 8 heures, le même jeton client lancera une nouvelle opération de lancement