

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.

# Utiliser une actualisation d'instance pour mettre à jour les instances d'un groupe Auto Scaling
<a name="asg-instance-refresh"></a>

Vous pouvez utiliser une actualisation d'instance pour mettre à jour les instances de votre groupe Auto Scaling. Cette fonctionnalité peut être utile lorsqu'une modification de configuration nécessite le remplacement d'instances ou de leurs volumes racines, en particulier si votre groupe Auto Scaling contient un grand nombre d'instances. 

Parmi les situations dans lesquelles l'actualisation d'une instance peut être utile, citons :
+ Déploiement d'une nouvelle Amazon Machine Image (AMI) ou d'un nouveau script de données utilisateur au sein de votre groupe Auto Scaling. Vous pouvez créer un nouveau modèle de lancement avec les modifications, puis utiliser une actualisation d'instance pour déployer les mises à jour immédiatement.
+ Migration de vos instances vers de nouveaux types d'instances pour tirer parti des dernières améliorations et optimisations.
+ Faire passer vos groupes Auto Scaling d'une configuration de lancement à un modèle de lancement. Vous pouvez copier vos configurations de lancement dans des modèles de lancement, puis utiliser une actualisation d'instance pour mettre à jour vos instances avec les nouveaux modèles. Pour en savoir plus sur la migration vers des modèles de lancement, consultez [Migrez vos groupes Auto Scaling pour lancer des modèles](migrate-to-launch-templates.md).
+ Appliquez des correctifs de sécurité ou des mises à jour logicielles tout en préservant l'état des instances à long terme et en évitant les contraintes de capacité grâce à des types d'instances spécialisés tels que les instances GPU ou Mac.

**Topics**
+ [Fonctionnement d'une actualisation d'instance](instance-refresh-overview.md)
+ [Comprendre les valeurs par défaut](understand-instance-refresh-default-values.md)
+ [Lancer une actualisation d’instance](start-instance-refresh.md)
+ [Surveiller l'actualisation d'une instance](check-status-instance-refresh.md)
+ [Remplacer les volumes racines](replace-root-volume.md)
+ [Annuler une actualisation d'instance](cancel-instance-refresh.md)
+ [Annuler les modifications avec une restauration](instance-refresh-rollback.md)
+ [Utiliser la fonction Ignorer la correspondance](asg-instance-refresh-skip-matching.md)
+ [Ajouter des points de contrôle](asg-adding-checkpoints-instance-refresh.md)

# Comment fonctionne une actualisation d'instance dans un groupe Auto Scaling
<a name="instance-refresh-overview"></a>

Cette rubrique décrit le fonctionnement d'une actualisation d'instance et présente les concepts clés que vous devez comprendre pour l'utiliser efficacement.

**Topics**
+ [Comment ça marche](#instance-refresh-how-it-works)
+ [Concepts de base](#instance-refresh-core-concepts)
+ [Période de grâce de la surveillance de l’état](#instance-refresh-health-check-grace-period)
+ [Compatibilité des types d'instance](#instance-type-compatibility)
+ [Limitations](#instance-refresh-limitations)

## Comment ça marche
<a name="instance-refresh-how-it-works"></a>

Pour actualiser les instances d'un groupe Auto Scaling, vous pouvez définir une nouvelle configuration contenant la dernière version de votre application et toutes les autres mises à jour que vous souhaitez apporter. 

L'actualisation des instances prend en charge deux stratégies de mise à jour des instances :
+ **Stratégie de roulement (par défaut)** : met fin aux instances et en lance de nouvelles par lots selon vos préférences. Cela garantit que votre groupe Auto Scaling conserve la capacité et la disponibilité souhaitées tout au long du processus de mise à jour.
+ **Stratégie de remplacement du volume racine** : met à jour les instances en remplaçant uniquement le volume racine sans mettre fin à l'instance. Cela préserve les interfaces réseau de l'instance, les volumes EBS non root et les données du stockage d'instance.

Exigences relatives à la stratégie de remplacement du volume racine :
+ Votre groupe Auto Scaling doit utiliser une politique d'instances mixtes
+ Toutes les dérogations prévues dans la politique des instances mixtes doivent spécifier un `ImageId` 
+ AMIs ne doit contenir qu'un seul volume racine
+ Toutes les instances doivent correspondre à la configuration du modèle de lancement du groupe
+ Vous devez démarrer l'actualisation de l'instance avec la configuration souhaitée comportant une politique d'instances mixtes contenant des `ImageId` remplacements.

Lorsque la correspondance des sauts est activée, Auto Scaling compare l'ID d'AMI actuel de chaque instance IDs à l'AMI de la configuration souhaitée. Il remplace uniquement les instances pour lesquelles l'AMI IDs ne correspond pas, ce qui vous permet d'ignorer les instances déjà mises à jour.

### Réaliser une actualisation de l'instance
<a name="instance-refresh-process"></a>

Lancez une actualisation d'instance pour remplacer les instances existantes par de nouvelles en fonction de cette configuration.

1. Créez un nouveau modèle de lancement ou mettez à jour le modèle existant avec les modifications de configuration souhaitées, telles qu'une nouvelle Amazon Machine Image (AMI). Pour de plus amples informations, veuillez consulter [Créer un modèle de lancement pour un groupe Auto Scaling](create-launch-template.md).

1. Démarrez l'actualisation de l'instance à l'aide de la console Amazon EC2 Auto Scaling AWS CLI, ou du SDK :
   + Spécifiez le nouveau modèle de lancement ou la version du modèle de lancement que vous avez créé. Cela sera utilisé pour lancer de nouvelles instances.
   + Définissez les pourcentages de santé minimum et maximum préférés. Cela permet de contrôler le nombre d'instances remplacées simultanément et de savoir si de nouvelles instances sont lancées avant de mettre fin aux anciennes. 
   + Configurez tous les paramètres facultatifs, tels que :
     + **Points de contrôle** : interrompez l'actualisation de l'instance après un certain pourcentage de remplacements pour vérifier la progression.
     + **Temps de cuisson** : pause à la fin de l'actualisation de l'instance pour valider l'état de l'instance avant que l'actualisation ne soit considérée comme terminée.
     + **Ignorer la correspondance** : comparez les anciennes instances à la nouvelle configuration et ne remplacez que celles qui ne correspondent pas. Lorsque vous lancez une actualisation d'instance depuis la console, la mise en correspondance par défaut est activée par défaut.
     + **Types d'instances multiples** : appliquez une [politique d'instances mixtes](ec2-auto-scaling-mixed-instances-groups.md) nouvelle ou mise à jour dans le cadre de la configuration souhaitée.

Une fois l'actualisation de l'instance lancée, Amazon EC2 Auto Scaling va :
+ Remplacez les instances par lots en fonction des pourcentages sains minimum et maximum. 
+ Lancez d'abord les nouvelles instances avant de mettre fin aux anciennes si le pourcentage de santé minimum est défini sur 100 %. Cela garantit que la capacité souhaitée est maintenue à tout moment.
+ Vérifiez l'état de santé des instances et donnez-leur le temps de se réchauffer avant que d'autres instances ne soient remplacées. 
+ Arrêtez et remplacez les instances qui s'avèrent défectueuses.
+ Mettez automatiquement à jour les paramètres du groupe Auto Scaling avec les nouvelles modifications de configuration une fois l'actualisation de l'instance réussie.
+ Remplacez `InService` les instances avant les instances qui se trouvent dans un pool chaud.

L'organigramme suivant illustre le comportement du lancement avant la fin lorsque vous définissez le pourcentage de santé minimum à 100 %. 

![\[Schéma illustrant le fonctionnement d'une actualisation d'instance lorsque le pourcentage de santé minimum est défini sur 100 %.\]](http://docs.aws.amazon.com/fr_fr/autoscaling/ec2/userguide/images/instance-refresh-high-level-flowchart-diagram.png)


**Note**  
Les pourcentages de santé minimum et maximum pour une actualisation d'instance doivent uniquement être spécifiés si vous n'avez pas défini de politique de maintenance de l'instance ou si vous devez remplacer la politique existante. Pour de plus amples informations, veuillez consulter [Politiques de maintenance des instances](ec2-auto-scaling-instance-maintenance-policy.md).  
De même, vous devez uniquement spécifier la période de préchauffage de l'instance pour une actualisation d'instance si vous n'avez pas activé le préchauffage par défaut ou si vous devez remplacer le préchauffage par défaut. Pour de plus amples informations, veuillez consulter [Définir la préparation par défaut d'instance d'un groupe Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

## Concepts de base
<a name="instance-refresh-core-concepts"></a>

Avant de commencer, familiarisez-vous avec les concepts de base de l’actualisation d’instance :

**Pourcentage minimal d’intégrité**  
Le *pourcentage d'intégrité minimum* est le pourcentage de la capacité souhaitée pour rester en service, saine et prête à être utilisée lors de l'actualisation d'une instance afin que l'actualisation puisse se poursuivre. Par exemple, si le pourcentage minimal d’intégrité est de 90 %, et le pourcentage maximal d’intégrité est de 100 %, 10 % est le pourcentage de capacité qui sera résilié et remplacé. Si les nouvelles instances échouent aux surveillances de l'état, Amazon EC2 Auto Scaling les résilie et les remplace. Si l’actualisation d’instance ne peut lancer aucune instance saine, elle échouera, laissant les 90 % restants du groupe intacts. Si les nouvelles instances restent saines et terminent leur période de préchauffage, Amazon EC2 Auto Scaling peut continuer à remplacer d'autres instances.  
Une actualisation d'instance peut remplacer les instances une par une, plusieurs à la fois ou toutes à la fois. Pour remplacer une instance à la fois, définissez le pourcentage minimal et maximal d’instances saines sur 100 %. Cela modifie le comportement d’une actualisation d’instance à lancer avant toute résiliation, ce qui empêche la capacité du groupe de tomber en dessous de 100 % de la capacité souhaitée. Pour remplacer toutes les instances à la fois, définissez le pourcentage minimal d’instances saines sur 0 %. 

**Pourcentage maximal d’intégrité**  
Le *pourcentage maximal d’intégrité* est le pourcentage de la capacité souhaitée que votre groupe Auto Scaling peut atteindre lors du remplacement d’instances. La différence entre le minimum et le maximum ne peut pas être supérieure à 100. Une plage étendue augmente le nombre d’instances qui peuvent être remplacées en même temps.

**Préparation d’instance**  
La *préparation d’instance* correspond à la période qui sépare le moment où l’état de la nouvelle instance est remplacé par `InService` au moment où elle est considérée comme ayant fini son initialisation. Lors d'une actualisation d'instance, si les instances réussissent les surveillances de l'état, Amazon EC2 Auto Scaling ne passe pas immédiatement au remplacement de l'instance suivante après avoir déterminé qu'une instance nouvellement lancée est saine. Il attend la période de préchauffage avant de passer au remplacement de l'instance suivante. Cela peut être utile lorsque votre application a encore besoin d’un certain temps d’initialisation avant de répondre aux demandes.  
La préparation d’instance fonctionne de la même manière que la préparation d’instance par défaut. Par conséquent, les mêmes considérations de mise à l’échelle s’appliquent. Pour de plus amples informations, veuillez consulter [Définir la préparation par défaut d'instance d'un groupe Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

**Configuration souhaitée**  
La *configuration souhaitée* désigne la nouvelle configuration que vous souhaitez qu'Amazon EC2 Auto Scaling déploie dans votre groupe Auto Scaling. Par exemple, vous pouvez spécifier un nouveau modèle de lancement et de nouveaux types d'instance pour vos instances. Lors d'une actualisation d'instance, Amazon EC2 Auto Scaling met à jour le groupe Auto Scaling en fonction de la configuration souhaitée. Si un événement de montée en puissance se produit lors d'une actualisation d'instance, Amazon EC2 Auto Scaling lance de nouvelles instances avec la configuration souhaitée au lieu d'utiliser les paramètres actuels du groupe. Une fois l'actualisation d'instance réussie, Amazon EC2 Auto Scaling met à jour les paramètres du groupe Auto Scaling pour refléter la nouvelle configuration souhaitée que vous avez spécifiée dans le cadre de l'actualisation d'instance. 

**Ignorer la correspondance**  
La fonction Ignorer la correspondance indique à Amazon EC2 Auto Scaling d'ignorer les instances qui disposent déjà de vos dernières mises à jour. De cette façon, vous ne remplacez pas plus d'instances que nécessaire. Cela est utile quand vous souhaitez vous assurer que votre groupe Auto Scaling utilise une version particulière de votre modèle de lancement et ne remplace que les instances qui utilisent une version différente.

**Points de contrôle**  
Un *point de contrôle* désigne un moment où l'actualisation d'instance s'interrompt pour une durée déterminée. Une actualisation d'instance peut contenir plusieurs points de contrôle. Amazon EC2 Auto Scaling émet des événements pour chaque point de contrôle. Par conséquent, vous pouvez ajouter une EventBridge règle pour envoyer les événements à une cible, telle qu'Amazon SNS, afin qu'elle soit avertie lorsqu'un point de contrôle est atteint. Une fois qu'un point de contrôle est atteint, vous avez la possibilité de vérifier votre déploiement. Si des problèmes sont identifiés, vous pouvez annuler l'actualisation d'instance ou la restaurer. La possibilité de déployer les mises à jour par phases est un avantage clé des points de contrôle. Si vous n'utilisez pas de points de contrôle, des remplacements sont effectués en continu.

Pour en savoir plus sur tous les paramètres par défaut que vous pouvez configurer lors du lancement d’une actualisation d’instance, consultez [Comprendre les valeurs par défaut d'une actualisation d'instance](understand-instance-refresh-default-values.md).

## Période de grâce de la surveillance de l’état
<a name="instance-refresh-health-check-grace-period"></a>

Amazon EC2 Auto Scaling détermine si une instance est saine en fonction du statut des surveillances de l'état que votre groupe Auto Scaling utilise. Pour de plus amples informations, veuillez consulter [Surveillance de l’état des instances dans un groupe Auto Scaling](ec2-auto-scaling-health-checks.md). 

Pour vous assurer que ces surveillances de l’état commencent le plus rapidement possible, ne définissez pas une période de grâce de la surveillance de l’état du groupe trop élevée, mais suffisamment élevée pour que vos surveillances de l’état Elastic Load Balancing déterminent si une cible est disponible pour traiter les demandes. Pour de plus amples informations, veuillez consulter [Définir la période de grâce de la surveillance de l'état pour un groupe Auto Scaling](health-check-grace-period.md).

## Compatibilité des types d'instance
<a name="instance-type-compatibility"></a>

Avant de modifier votre type d'instance, il est conseillé de vérifier qu'il fonctionne avec votre modèle de lancement. Cela confirme la compatibilité avec l'AMI que vous avez spécifiée. Par exemple, disons que vous avez lancé vos instances d'origine à partir d'une AMI paravirtuelle (PV), mais que vous souhaitez passer à un type d'instance de génération actuelle qui n'est pris en charge que par une AMI de machine virtuelle matérielle (HVM). Dans ce cas, vous devez utiliser une AMI HVM dans votre modèle de lancement. 

Pour confirmer la compatibilité du type d'instance sans lancer d'instances, utilisez la commande [run-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html) avec l'option `--dry-run`, comme indiqué dans l'exemple suivant.

```
aws ec2 run-instances --launch-template LaunchTemplateName=my-template,Version='1' --dry-run
```

Pour plus d'informations sur la manière dont la compatibilité est déterminée, consultez la section [Compatibilité pour la modification du type d'instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html) dans le guide de l'*utilisateur Amazon EC2*.

## Limitations
<a name="instance-refresh-limitations"></a>
+ **Durée totale** : la durée maximale pendant laquelle l'actualisation d'une instance peut continuer à remplacer activement des instances est de 14 jours. 
+ **Différence de comportement spécifique aux groupes pondérés** — Si un groupe d'instances mixtes est configuré avec un poids d'instance supérieur ou égal à la capacité souhaitée du groupe, Amazon EC2 Auto Scaling peut remplacer `InService` toutes les instances en même temps. Pour éviter cette situation, suivez les recommandations de la rubrique [Configurer un groupe Auto Scaling pour utiliser les poids d'instance](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md). Précisez une capacité souhaitée supérieure à votre poids maximal lorsque vous utilisez des poids avec votre groupe Auto Scaling.
+ **Délai d'une heure** : lorsqu'une instance actualisée ne peut pas continuer à effectuer des remplacements parce qu'elle attend de remplacer des instances en veille ou protégées contre la mise à l'échelle, ou lorsque les nouvelles instances ne passent pas leurs tests de santé, Amazon EC2 Auto Scaling continue de réessayer pendant une heure. Un message de statut est également fourni pour vous aider à résoudre le problème. Si le problème persiste au bout d'une heure, l'opération échoue. L'objectif est de lui donner le temps de récupérer en cas de problème temporaire. 
+ **Déploiement du code via les données utilisateur** : la correspondance ignorée ne vérifie pas les modifications de code déployées à partir d'un script de données utilisateur. Si vous utilisez les données utilisateur pour extraire du nouveau code et installer ces mises à jour sur de nouvelles instances, nous vous recommandons de désactiver la mise en correspondance afin de vous assurer que toutes les instances reçoivent votre dernier code, même sans mise à jour de la version du modèle de lancement.
+ **Restriction de mise** à jour : si vous tentez de mettre à jour le modèle de lancement, la configuration de lancement ou la politique d'instances mixtes d'un groupe Auto Scaling alors qu'une actualisation d'instance avec la configuration souhaitée est active, la demande échouera avec l'erreur de validation suivante : `An active instance refresh with a desired configuration exists. All configuration options derived from the desired configuration are not available for update while the instance refresh is active.` 
+ **Sélection d'instance basée sur les attributs** — Si votre groupe Auto Scaling utilise la sélection d'instance basée sur les attributs (spécifiée `InstanceRequirements` dans une politique d'instances mixtes), les paramètres d'actualisation d'instance suivants ne sont pas pris en charge :
  + **SkipMatching**- L'actualisation d'une instance échouera si vous la démarrez avec le `SkipMatching` paramètre d'un groupe Auto Scaling `InstanceRequirements` configuré.
  + **DesiredConfiguration**- L'actualisation d'une instance échouera si vous la démarrez avec le `DesiredConfiguration` paramètre d'un groupe Auto Scaling `InstanceRequirements` configuré.

  Si vous devez actualiser une instance sur un groupe Auto Scaling avec une sélection d'instance basée sur les attributs, lancez l'actualisation de l'instance sans ces paramètres.
+ Le remplacement du volume racine ne prend pas en charge Elastic Load Balancing.

# Comprendre les valeurs par défaut d'une actualisation d'instance
<a name="understand-instance-refresh-default-values"></a>

Avant de commencer une actualisation d’instance, vous pouvez personnaliser les diverses préférences qui affectent l’actualisation d’instance. Certaines préférences par défaut sont différentes selon que vous utilisez la console ou la ligne de commande (AWS CLI ou le AWS SDK).

Le tableau suivant répertorie les valeurs par défaut des paramètres d'actualisation d'instance.


| Paramètre | AWS CLI ou AWS SDK | Console Amazon EC2 Auto Scaling | 
| --- | --- | --- | 
| CloudWatch alarme | Désactivé (null) | Désactivé | 
| Restauration automatique | Désactivé (false) | Désactivé | 
| Temps de cuisson | Zéro | Zéro | 
| Points de contrôle | Désactivé (false) | Désactivé | 
| Délai de contrôle | 1 heure (3600 secondes) | 1 heure | 
| Préparation d’instance | La [préparation d'instance par défaut](ec2-auto-scaling-default-instance-warmup.md), si elle est définie, ou la [période de grâce de la surveillance de l'état](health-check-grace-period.md) dans le cas contraire. | La [préparation d’instance par défaut](ec2-auto-scaling-default-instance-warmup.md), si elle est définie, ou la [période de grâce de la surveillance de l’état](health-check-grace-period.md) dans le cas contraire. | 
| Pourcentage maximal d’intégrité | Varie en fonction de votre politique de maintenance des instances. En l’absence de politique de maintenance des instances, la valeur par défaut est de 100 % (null). | Varie en fonction de votre politique de maintenance des instances. En l’absence de politique de maintenance des instances, la valeur par défaut est de 100 % (null). | 
| Pourcentage minimal d’intégrité | Varie en fonction de votre politique de maintenance des instances. En l’absence de politique de maintenance des instances, la valeur par défaut est de 90 %. | Varie en fonction de votre politique de maintenance des instances. En l’absence de politique de maintenance des instances, la valeur par défaut est de 90 %. | 
| Instances protégées contre la mise à l'échelle horizontale | Attente | Ignorer | 
| Ignorer la correspondance | Désactivé (false) | Activé | 
| Instances en veille | Attente | Ignorer | 

Voici une description de chaque paramètre :

**CloudWatch alarme (`AlarmSpecification`)**  
La spécification de l' CloudWatch alarme. CloudWatch les alarmes peuvent être utilisées pour identifier tout problème et faire échouer le fonctionnement si une alarme passe à l'`ALARM`état. Pour de plus amples informations, veuillez consulter [Lancer une actualisation d'instance avec restauration automatique](instance-refresh-rollback.md#instance-refresh-using-auto-rollback). 

**Restauration automatique (`AutoRollback`)**  
Contrôle si Amazon EC2 Auto Scaling restaure ou non la configuration précédente du groupe Auto Scaling en cas d’échec de l’actualisation d’instance. Pour de plus amples informations, veuillez consulter [Annuler les modifications à l'aide d'une restauration manuelle ou automatique](instance-refresh-rollback.md). 

**Temps de cuisson (1`BakeTime`)**  
Durée d'attente à la fin de l'actualisation d'une instance avant que celle-ci ne soit considérée comme terminée.

**Points de contrôle (`CheckpointPercentages`)**  
Contrôle si Amazon EC2 Auto Scaling remplace les instances par phases. Cela est utile si vous devez effectuer des vérifications sur vos instances avant de les remplacer toutes. Pour de plus amples informations, veuillez consulter [Ajouter des points de contrôle à une actualisation d'instance](asg-adding-checkpoints-instance-refresh.md). 

**Délai de contrôle (`CheckpointDelay`)**  
Délai d'attente, en secondes, après avoir atteint un point de contrôle avant de poursuivre. Pour de plus amples informations, veuillez consulter [Ajouter des points de contrôle à une actualisation d'instance](asg-adding-checkpoints-instance-refresh.md). 

**Préparation d'instance (`InstanceWarmup`)**  
Période, en secondes, pendant laquelle Amazon EC2 Auto Scaling attend qu’une nouvelle instance soit considérée comme ayant fini son initialisation avant de passer au remplacement de l’instance suivante. Si vous avez déjà défini correctement une préparation d'instance par défaut pour le groupe Auto Scaling, vous n'avez pas besoin de modifier la préparation d'instance (sauf si vous voulez remplacer la valeur par défaut). Pour de plus amples informations, veuillez consulter [Définir la préparation par défaut d'instance d'un groupe Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

**Pourcentage maximal d’intégrité (`MaxHealthyPercentage`)**  
Le pourcentage de la capacité souhaitée du groupe Auto Scaling que votre groupe peut atteindre lors du remplacement d’instances.

**Pourcentage minimal d'instances saines (`MinHealthyPercentage`)**  
Pourcentage de la capacité souhaitée du groupe Auto Scaling qui doit être en service, en bon état et prête à être utilisée avant de pouvoir poursuivre l’opération.

**Instances protégées contre la mise à l'échelle horizontale (`ScaleInProtectedInstances`)**  
Contrôle ce que fait Amazon EC2 Auto Scaling si des instances protégées contre la mise à l’échelle horizontale sont détectées. Pour plus d’informations sur ces instances, consultez [Utiliser la protection évolutive de l'instance pour contrôler la fermeture de l'instance](ec2-auto-scaling-instance-protection.md).  
Amazon EC2 Auto Scaling fournit les options suivantes :  
+ **Replace** (`Refresh`) — Remplace les instances protégées contre la mise à l'échelle.
+ **Ignorer** (`Ignore`) — Ignore les instances protégées contre le dimensionnement et continue de remplacer les instances qui ne le sont pas.
+ **Attendre** (`Wait`) : attend une heure pour que vous supprimiez la protection scale-in. Si vous ne le faites pas, l'actualisation d'instance échoue.

**Ignorer la correspondance (`SkipMatching`)**  
Contrôle si Amazon EC2 Auto Scaling ignore le remplacement des instances qui correspondent à la configuration souhaitée. Si aucune configuration souhaitée n'est spécifiée, il ignore le remplacement des instances dont le modèle de lancement et les types d'instance sont identiques à ceux utilisés par le groupe Auto Scaling avant le lancement de l'actualisation d'instance. Pour de plus amples informations, veuillez consulter [Utiliser une actualisation d'instance avec la fonction Ignorer la correspondance](asg-instance-refresh-skip-matching.md). 

**Instances en veille (`StandbyInstances`)**  
Contrôle ce que fait Amazon EC2 Auto Scaling si des instances sont à l’état `Standby`. Pour plus d’informations sur ces instances, consultez [Supprimer temporairement des instances du groupe Auto Scaling](as-enter-exit-standby.md).  
Amazon EC2 Auto Scaling fournit les options suivantes :  
+ **Terminate** (`Terminate`) — Met fin aux instances présentes dans`Standby`.
+ **Ignorer** (`Ignore`) — Ignore les instances présentes dans l'état `Standby` et continue de remplacer les instances présentes dans `InService` cet état.
+ **Attendre** (`Wait`) : attend une heure avant que vous remettiez les instances en service. Si vous ne le faites pas, l’actualisation d’instance échoue.

# Lancez une actualisation d'instance à l'aide du AWS Management Console ou AWS CLI
<a name="start-instance-refresh"></a>

**Important**  
Vous pouvez restaurer une actualisation d'instance en cours afin d'annuler toutes les modifications. Pour que cela fonctionne, le groupe Auto Scaling doit remplir les conditions préalables à l'utilisation des restaurations avant de lancer l'actualisation d'instance. Pour de plus amples informations, veuillez consulter [Annuler les modifications à l'aide d'une restauration manuelle ou automatique](instance-refresh-rollback.md).

Les procédures suivantes vous aident à démarrer une actualisation d'instance à l'aide du AWS Management Console ou AWS CLI.

## Lancer une actualisation d'instance (console)
<a name="start-instance-refresh-console"></a>

Si c'est la première fois que vous démarrez une actualisation d'instance, l'utilisation de la console vous aidera à comprendre les fonctions et les options disponibles.

### Lancer une actualisation d'instance dans la console (procédure de base)
<a name="starting-an-instance-refresh-in-the-console"></a>

Utilisez la procédure suivante si vous n'avez pas encore défini de [politique d'instances mixtes](ec2-auto-scaling-mixed-instances-groups.md) pour votre groupe Auto Scaling. Si vous avez déjà défini une politique d'instances mixtes, consultez [Lancer une actualisation d'instance dans la console (groupe d'instances mixtes)](#starting-an-instance-refresh-in-the-console-mig) pour démarrer une actualisation d'instance.

**Pour lancer une actualisation d’instance**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard de votre groupe Auto Scaling.

   Un volet fractionné s'ouvre dans la partie inférieure de la page **Groupes Auto Scaling**. 

1. Dans l’onglet **Actualisation d’instance**, dans **Actualisation d’instance active**, sélectionnez **Démarrer l’actualisation d’instance**.

1. Pour les **paramètres de disponibilité**, procédez comme suit :

   1. Pour la **méthode de remplacement des instances** :
      + Si vous *n’avez pas* défini de politique de maintenance des instances pour le groupe Auto Scaling, le paramètre par défaut pour la **méthode de remplacement d’instance** est **Résilier et lancer**. Il s’agit de l’ancien comportement par défaut d’une actualisation d’instance.
      + Si vous définissez une politique de maintenance des instances sur le groupe Auto Scaling, elle fournit des valeurs par défaut pour la **méthode de remplacement d’instance**. Pour annuler la politique de maintenance des instances, choisissez **Remplacer**. Le remplacement s’applique uniquement à l’actualisation d’instance en cours. La prochaine fois que vous lancerez une actualisation d’instance, ces valeurs seront rétablies selon les valeurs par défaut de la politique de maintenance des instances. 

      La procédure suivante explique comment mettre à jour la méthode de remplacement d’instance.

      1. Choisissez l’une des méthodes de remplacement d’instance suivantes :
         + **Lancer avant toute résiliation** : une nouvelle instance doit d’abord être mise en service avant qu’une instance existante puisse être résiliée. Il s’agit d’un bon choix pour les applications qui privilégient la disponibilité plutôt que les économies de coûts.
         + **Résilier et lancer** : les nouvelles instances sont mises en service en même temps que les instances existantes sont résiliées. Il s’agit d’un bon choix pour les applications qui privilégient les économies de coûts plutôt que la disponibilité. C’est également un bon choix pour les applications qui ne doivent pas libérer plus de capacité que ce qui est actuellement disponible.
         + **Comportement personnalisé** : cette option vous permet de définir une plage minimale et maximale personnalisée pour la quantité de capacité que vous souhaitez avoir à disposition lors du remplacement d’instances. Cela peut vous aider à trouver le juste équilibre entre le coût et la disponibilité.

      1. Pour **Définir un pourcentage d’intégrité**, saisissez des valeurs pour l’un ou les deux champs suivants. Les champs d’activation varient en fonction de l’option que vous choisissez pour la **méthode de remplacement d’instance**. 
         + **Min** : définit le pourcentage minimal d’intégrité requis pour procéder à l’actualisation des instances.
         + **Max** : définit le pourcentage maximal d’intégrité possible lors de l’actualisation des instances. 

      1. Développez la section **Afficher la capacité temporaire estimée pendant les remplacements en fonction de la taille actuelle du groupe** pour confirmer comment les valeurs de **Min** et **Max** s’appliquent à votre groupe. Les valeurs exactes utilisées dépendent de la valeur de capacité souhaitée, qui changera si le groupe est mis à l’échelle.

      1. Développez la section **Définir un comportement de repli pour les tailles de remplacement non valides**, puis choisissez de **déroger au pourcentage maximal valide** afin de prioriser la disponibilité ou de **déroger au pourcentage minimal valide**. 

         Il n’est pas recommandé de conserver l’option par défaut **Déroger au pourcentage minimal valide** pour les très petits groupes. Lorsque le groupe Auto Scaling ne contient qu’une seule instance, le lancement d’une actualisation d’instance peut provoquer une panne.

         Cette étape configure le comportement de secours si vous utilisez un groupe Auto Scaling qui n’a pas encore de politique de maintenance des instances. Cette option n’est pas disponible et n’apparaît pas lorsque votre groupe dispose d’une politique de maintenance des instances. Cette option n’est également disponible que pour la méthode de remplacement **Résilier et lancer**. Les autres méthodes de remplacement dérogeront au pourcentage maximal valide afin de donner la priorité à la disponibilité.

   1. Pour **Préparation d’instance**, saisissez le nombre de secondes à partir du moment où l’état d’une nouvelle instance change en `InService` au moment où elle finit l’initialisation. Amazon EC2 Auto Scaling attend ce laps de temps avant de passer au remplacement de l’instance suivante. 

      Lors de la préparation, une instance nouvellement lancée n'est pas non plus prise en compte dans les métriques d'instance agrégées du groupe Auto Scaling (telles que `CPUUtilization`, `NetworkIn` et `NetworkOut`). Si vous avez ajouté des politiques de mise à l’échelle au groupe Auto Scaling, les activités de mise à l’échelle s’exécutent en parallèle. Si vous définissez un intervalle long pour la période de préchauffage de l'actualisation des instances, les instances nouvellement lancées mettent plus de temps à apparaître dans les métriques. Par conséquent, une période de préchauffage adéquate empêche Amazon EC2 Auto Scaling de s'adapter à des données métriques périmées.

      Si vous avez déjà défini correctement une préparation d’instance par défaut pour le groupe Auto Scaling, vous n’avez pas besoin de modifier la préparation d’instance. Toutefois, si vous souhaitez remplacer la valeur par défaut, vous pouvez définir une valeur pour cette option. Pour plus d’informations sur la définition de la préparation d’instance par défaut, consultez [Définir la préparation par défaut d'instance d'un groupe Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

1. Sous **Actualiser les paramètres**, procédez comme suit :

   1. (Facultatif) Pour **Points de contrôle**, sélectionnez **Activer les points de contrôle** pour remplacer les instances à l’aide d’une approche progressive ou par phase d’une actualisation d’instance. Cela donne plus de temps pour la vérification entre les séries de remplacements. Si vous choisissez de ne pas activer les points de contrôle, les instances sont remplacées en une seule opération quasi continue.

      Si vous activez les points de contrôle, consultez [Activer les points de contrôle (console)](enable-checkpoints-console-cli.md#enable-checkpoints-console) pour connaître les étapes supplémentaires.

   1. (Facultatif) Pour le **temps de cuisson**, spécifiez le temps d'attente à la fin de l'actualisation de l'instance avant que l'actualisation de l'instance soit considérée comme terminée.

   1. Activez ou désactivez **Ignorer la correspondance** :
      + Pour ignorer le remplacement des instances qui correspondent déjà à votre modèle de lancement, laissez la case **Activer la fonction Ignorer la correspondance** cochée.
      + Si vous désactivez la fonction Ignorer la correspondance en décochant cette case, toutes les instances peuvent être remplacées.

      Lorsque vous activez la fonction Ignorer la correspondance, vous pouvez définir un nouveau modèle de lancement ou une nouvelle version du modèle de lancement. Vous pouvez le faire dans la section **Configuration souhaitée** de la page **Démarrer l’actualisation d’instance**. 
**Note**  
Pour utiliser la fonctionnalité Ignorer la correspondance afin de mettre à jour un groupe Auto Scaling qui utilise actuellement une configuration de lancement, vous devez sélectionner un modèle de lancement dans **Configuration souhaitée**. La correspondance de saut avec une configuration de lancement n’est pas prise en charge.

   1. Pour les **instances en veille**, choisissez **Ignorer**, **Résilier** ou **Attendre**. Cela détermine ce qui se passe si des instances sont à l'état `Standby`. Pour de plus amples informations, veuillez consulter [Supprimer temporairement des instances du groupe Auto Scaling](as-enter-exit-standby.md).

      Si vous choisissez **Attendre**, vous devez prendre des mesures supplémentaires pour remettre ces instances en service. Si vous ne le faites pas, l'actualisation d'instance remplace toutes les instances `InService` et attend pendant une heure. Ensuite, s’il reste des instances `Standby`, l’actualisation d’instance échoue. Pour éviter cette situation, choisissez à la place **Ignorer** ou **Résilier** ces instances. 

   1. Pour les **instances protégées contre la mise à l'échelle horizontale**, choisissez **Ignorer**, **Remplacer** ou **Attendre**. Cela détermine ce qui se passe si des instances protégées contre la mise à l'échelle horizontale sont trouvées. Pour de plus amples informations, veuillez consulter [Utiliser la protection évolutive de l'instance pour contrôler la fermeture de l'instance](ec2-auto-scaling-instance-protection.md).

      Si vous choisissez **Attendre**, vous devez prendre des mesures supplémentaires pour supprimer la protection contre la mise à l'échelle horizontale de ces instances. Si vous ne le faites pas, l'actualisation d'instance remplace toutes les instances non protégées et attend pendant une heure. Ensuite, s'il reste des instances protégées contre la mise à l'échelle horizontale, l'actualisation d'instance échoue. Pour éviter cette situation, choisissez à la place **Ignorer** ou **Remplacer** ces instances. 

1. (Facultatif) Pour les **CloudWatch CloudWatch alarmes****, choisissez Activer les alarmes**, puis choisissez une ou plusieurs alarmes. CloudWatch les alarmes peuvent être utilisées pour identifier tout problème et faire échouer le fonctionnement si une alarme passe à l'`ALARM`état. Pour de plus amples informations, veuillez consulter [Lancer une actualisation d'instance avec restauration automatique](instance-refresh-rollback.md#instance-refresh-using-auto-rollback). 

1. (Facultatif) Développez la section **Configuration souhaitée** pour spécifier les mises à jour que vous souhaitez apporter à votre groupe Auto Scaling.

   Pour cette étape, vous pouvez choisir d'utiliser la syntaxe JSON ou YAML pour modifier les valeurs des paramètres au lieu de faire des sélections dans l'interface de la console. Pour ce faire, sélectionnez **Utiliser l'éditeur de code** au lieu de **Utiliser l'interface de la console**. La procédure suivante explique comment effectuer des sélections à l'aide de l'interface de la console.

   1. Pour **Mettre à jour le modèle de lancement** : 
      + Si vous *n’avez pas* créé de nouveau modèle de lancement ou de nouvelle version de modèle de lancement pour votre groupe Auto Scaling, ne cochez pas cette case.
      + Si vous avez créé un nouveau modèle de lancement ou une nouvelle version du modèle de lancement, cochez cette case. Lorsque vous sélectionnez cette option, Amazon EC2 Auto Scaling affiche le modèle de lancement actuel et la version actuelle du modèle de lancement. Il répertorie également toutes les autres versions disponibles. Choisissez le modèle de lancement, puis la version. 

        Après avoir choisi une version, vous pouvez voir les informations de version. Il s'agit de la version du modèle de lancement qui sera utilisée lors du remplacement d'instances dans le cadre d'une actualisation d'instance. Si l'actualisation de l'instance réussit, cette version du modèle de lancement sera également utilisée chaque fois que de nouvelles instances seront lancées, par exemple, lorsque le groupe évolue.

   1. Pour **Choose a set of instance types and purchase options to override the instance type in the launch template** (Choisir un ensemble de types d'instances et d'options d'achat pour remplacer le type d'instance dans le modèle de lancement) :
      + Ne cochez pas cette case si vous voulez utiliser le type d'instance et l'option d'achat que vous avez spécifiés dans votre modèle de lancement.
      + Cochez cette case si vous souhaitez remplacer le type d'instance dans le modèle de lancement ou exécuter des instances Spot. Vous pouvez soit ajouter manuellement chaque type d'instance, soit choisir un type d'instance principal et une option de recommandation qui récupère pour vous tous les types d'instance correspondants supplémentaires. Si vous envisagez de lancer des instances Spot, nous vous recommandons d'ajouter plusieurs types d'instance différents. Amazon EC2 Auto Scaling peut ainsi lancer un autre type d'instance si la capacité d'instance est insuffisante dans les zones de disponibilité que vous avez choisies. Pour de plus amples informations, veuillez consulter [Groupes Auto Scaling combinant plusieurs types d'instances et options d'achat](ec2-auto-scaling-mixed-instances-groups.md).
**Avertissement**  
N'utilisez pas d'instances Spot avec des applications qui ne peuvent pas gérer une interruption d'instances Spot. Des interruptions peuvent se produire si le service Amazon EC2 Spot doit récupérer de la capacité.

      Si vous cochez cette case, assurez-vous que le modèle de lancement ne demande pas déjà des instances Spot. Vous ne pouvez pas utiliser un modèle de lancement qui demande aux instances Spot de créer un groupe Auto Scaling qui utilise plusieurs types d'instances et lance des instances Spot et à la demande.
**Note**  
Pour configurer ces options sur un groupe Auto Scaling qui utilise actuellement une configuration de lancement, vous devez sélectionner un modèle de lancement dans **Update launch template** (Mettre à jour le modèle de lancement). Le remplacement du type d'instance dans votre configuration de lancement n'est pas pris en charge.

1. (Facultatif) Dans **Paramètres de restauration**, choisissez **Activer la restauration automatique** pour restaurer automatiquement l'actualisation d'instance en cas d'échec.

   Ce paramètre ne peut être activé que lorsque le groupe Auto Scaling remplit les conditions préalables à l’utilisation des restaurations. 

   Pour de plus amples informations, veuillez consulter [Annuler les modifications à l'aide d'une restauration manuelle ou automatique](instance-refresh-rollback.md).

1. Passez en revue toutes vos sélections pour vous assurer que tout est correctement configuré.

   À ce stade, il est conseillé de vérifier que les différences entre les modifications actuelles et proposées n’affecteront pas votre application de manière inattendue ou indésirable. Pour vérifier que votre type d’instance est compatible avec votre modèle de lancement, consultez [Compatibilité des types d'instance](instance-refresh-overview.md#instance-type-compatibility).

1. Lorsque vos sélections d’actualisation d’instance vous conviennent, sélectionnez **Démarrer l’actualisation de l’instance**. 

### Lancer une actualisation d'instance dans la console (groupe d'instances mixtes)
<a name="starting-an-instance-refresh-in-the-console-mig"></a>

Utilisez la procédure suivante si vous avez créé un groupe Auto Scaling avec une [politique d'instances mixtes](ec2-auto-scaling-mixed-instances-groups.md). Si vous n'avez pas encore défini de politique d'instances mixtes pour votre groupe, consultez [Lancer une actualisation d'instance dans la console (procédure de base)](#starting-an-instance-refresh-in-the-console) pour démarrer une actualisation d'instance.

**Pour lancer une actualisation d’instance**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard de votre groupe Auto Scaling.

   Un volet fractionné s'ouvre dans la partie inférieure de la page **Groupes Auto Scaling**. 

1. Dans l’onglet **Actualisation d’instance**, dans **Actualisation d’instance active**, sélectionnez **Démarrer l’actualisation d’instance**.

1. Pour les **paramètres de disponibilité**, procédez comme suit :

   1. Pour la **méthode de remplacement des instances** :
      + Si vous *n’avez pas* défini de politique de maintenance des instances pour le groupe Auto Scaling, le paramètre par défaut pour la **méthode de remplacement d’instance** est **Résilier et lancer**. Il s’agit de l’ancien comportement par défaut d’une actualisation d’instance.
      + Si vous définissez une politique de maintenance des instances sur le groupe Auto Scaling, elle fournit des valeurs par défaut pour la **méthode de remplacement d’instance**. Pour annuler la politique de maintenance des instances, choisissez **Remplacer**. Le remplacement s’applique uniquement à l’actualisation d’instance en cours. La prochaine fois que vous lancerez une actualisation d’instance, ces valeurs seront rétablies selon les valeurs par défaut de la politique de maintenance des instances. 

      La procédure suivante explique comment mettre à jour la méthode de remplacement d’instance.

      1. Choisissez l’une des méthodes de remplacement d’instance suivantes :
         + **Lancer avant toute résiliation** : une nouvelle instance doit d’abord être mise en service avant qu’une instance existante puisse être résiliée. Il s’agit d’un bon choix pour les applications qui privilégient la disponibilité plutôt que les économies de coûts.
         + **Résilier et lancer** : les nouvelles instances sont mises en service en même temps que les instances existantes sont résiliées. Il s’agit d’un bon choix pour les applications qui privilégient les économies de coûts plutôt que la disponibilité. C’est également un bon choix pour les applications qui ne doivent pas libérer plus de capacité que ce qui est actuellement disponible.
         + **Comportement personnalisé** : cette option vous permet de définir une plage minimale et maximale personnalisée pour la quantité de capacité que vous souhaitez avoir à disposition lors du remplacement d’instances. Cela peut vous aider à trouver le juste équilibre entre le coût et la disponibilité.

      1. Pour **Définir un pourcentage d’intégrité**, saisissez des valeurs pour l’un ou les deux champs suivants. Les champs d’activation varient en fonction de l’option que vous choisissez pour la **méthode de remplacement d’instance**. 
         + **Min** : définit le pourcentage minimal d’intégrité requis pour procéder à l’actualisation des instances.
         + **Max** : définit le pourcentage maximal d’intégrité possible lors de l’actualisation des instances.

      1. Développez la section **Afficher la capacité temporaire estimée pendant les remplacements en fonction de la taille actuelle du groupe** pour confirmer comment les valeurs de **Min** et **Max** s’appliquent à votre groupe. Les valeurs exactes utilisées dépendent de la valeur de capacité souhaitée, qui changera si le groupe est mis à l’échelle.

      1. Développez la section **Définir un comportement de repli pour les tailles de remplacement non valides**, puis choisissez de **déroger au pourcentage maximal valide** afin de prioriser la disponibilité ou de **déroger au pourcentage minimal valide**. 

         Il n’est pas recommandé de conserver l’option par défaut **Déroger au pourcentage minimal valide** pour les très petits groupes. Lorsque le groupe Auto Scaling ne contient qu’une seule instance, le lancement d’une actualisation d’instance peut provoquer une panne.

         Cette étape configure le comportement de secours si vous utilisez un groupe Auto Scaling qui n’a pas encore de politique de maintenance des instances. Cette option n’est pas disponible et n’apparaît pas lorsque votre groupe dispose d’une politique de maintenance des instances. Cette option n’est également disponible que pour la méthode de remplacement **Résilier et lancer**. Les autres méthodes de remplacement dérogeront au pourcentage maximal valide afin de donner la priorité à la disponibilité.

   1. Pour **Préparation d’instance**, saisissez le nombre de secondes à partir du moment où l’état d’une nouvelle instance change en `InService` au moment où elle finit l’initialisation. Amazon EC2 Auto Scaling attend ce laps de temps avant de passer au remplacement de l’instance suivante. 

      Lors de la préparation, une instance nouvellement lancée n'est pas non plus prise en compte dans les métriques d'instance agrégées du groupe Auto Scaling (telles que `CPUUtilization`, `NetworkIn` et `NetworkOut`). Si vous avez ajouté des politiques de mise à l’échelle au groupe Auto Scaling, les activités de mise à l’échelle s’exécutent en parallèle. Si vous définissez un intervalle long pour la période de préchauffage de l'actualisation des instances, les instances nouvellement lancées mettent plus de temps à apparaître dans les métriques. Par conséquent, une période de préchauffage adéquate empêche Amazon EC2 Auto Scaling de s'adapter à des données métriques périmées.

      Si vous avez déjà défini correctement une préparation d’instance par défaut pour le groupe Auto Scaling, vous n’avez pas besoin de modifier la préparation d’instance. Toutefois, si vous souhaitez remplacer la valeur par défaut, vous pouvez définir une valeur pour cette option. Pour plus d’informations sur la définition de la préparation d’instance par défaut, consultez [Définir la préparation par défaut d'instance d'un groupe Auto Scaling](ec2-auto-scaling-default-instance-warmup.md).

1. Sous **Actualiser les paramètres**, procédez comme suit :

   1. (Facultatif) Pour **Points de contrôle**, sélectionnez **Activer les points de contrôle** pour remplacer les instances à l’aide d’une approche progressive ou par phase d’une actualisation d’instance. Cela donne plus de temps pour la vérification entre les séries de remplacements. Si vous choisissez de ne pas activer les points de contrôle, les instances sont remplacées en une seule opération quasi continue.

      Si vous activez les points de contrôle, consultez [Activer les points de contrôle (console)](enable-checkpoints-console-cli.md#enable-checkpoints-console) pour connaître les étapes supplémentaires.

   1. Activez ou désactivez **Ignorer la correspondance** :
      + Pour ignorer le remplacement des instances qui correspondent déjà à votre modèle de lancement et n'importe quel remplacement de type d'instance, laissez la case **Activer la fonction Ignorer la correspondance** cochée.
      + Si vous choisissez de désactiver la fonction Ignorer la correspondance en décochant cette case, toutes les instances peuvent être remplacées.

      Lorsque vous activez la fonction Ignorer la correspondance, vous pouvez définir un nouveau modèle de lancement ou une nouvelle version du modèle de lancement. Vous pouvez le faire dans la section **Configuration souhaitée** de la page **Démarrer l’actualisation d’instance**. Vous pouvez également mettre à jour vos remplacements de type d'instance dans **Desired configuration** (Configuration souhaitée). 

   1. Pour les **instances en veille**, choisissez **Ignorer**, **Résilier** ou **Attendre**. Cela détermine ce qui se passe si des instances sont à l'état `Standby`. Pour de plus amples informations, veuillez consulter [Supprimer temporairement des instances du groupe Auto Scaling](as-enter-exit-standby.md).

      Si vous choisissez **Attendre**, vous devez prendre des mesures supplémentaires pour remettre ces instances en service. Si vous ne le faites pas, l'actualisation d'instance remplace toutes les instances `InService` et attend une heure. Ensuite, s'il reste des instances `Standby`, l'actualisation d'instance échoue. Pour éviter cette situation, choisissez à la place **Ignorer** ou **Résilier** ces instances. 

   1. Pour les **instances protégées contre la mise à l'échelle horizontale**, choisissez **Ignorer**, **Remplacer** ou **Attendre**. Cela détermine ce qui se passe si des instances protégées contre la mise à l'échelle horizontale sont trouvées. Pour de plus amples informations, veuillez consulter [Utiliser la protection évolutive de l'instance pour contrôler la fermeture de l'instance](ec2-auto-scaling-instance-protection.md).

      Si vous choisissez **Attendre**, vous devez prendre des mesures supplémentaires pour supprimer la protection contre la mise à l'échelle horizontale de ces instances. Si vous ne le faites pas, l'actualisation d'instance remplace toutes les instances non protégées et attend pendant une heure. Ensuite, s'il reste des instances protégées contre la mise à l'échelle horizontale, l'actualisation d'instance échoue. Pour éviter cette situation, choisissez à la place **Ignorer** ou **Remplacer** ces instances.

1. (Facultatif) Pour les **CloudWatch CloudWatch alarmes****, choisissez Activer les alarmes**, puis choisissez une ou plusieurs alarmes. CloudWatch les alarmes peuvent être utilisées pour identifier tout problème et faire échouer le fonctionnement si une alarme passe à l'`ALARM`état. Pour de plus amples informations, veuillez consulter [Lancer une actualisation d'instance avec restauration automatique](instance-refresh-rollback.md#instance-refresh-using-auto-rollback). 

1. Dans la section **Desired configuration** (Configuration de cluster), effectuez les opérations suivantes. 

   Pour cette étape, vous pouvez choisir d'utiliser la syntaxe JSON ou YAML pour modifier les valeurs des paramètres au lieu de faire des sélections dans l'interface de la console. Pour ce faire, sélectionnez **Utiliser l'éditeur de code** au lieu de **Utiliser l'interface de la console**. La procédure suivante explique comment effectuer des sélections à l'aide de l'interface de la console.

   1. Pour **Mettre à jour le modèle de lancement** : 
      + Si vous *n’avez pas* créé de nouveau modèle de lancement ou de nouvelle version de modèle de lancement pour votre groupe Auto Scaling, ne cochez pas cette case.
      + Si vous avez créé un nouveau modèle de lancement ou une nouvelle version du modèle de lancement, cochez cette case. Lorsque vous sélectionnez cette option, Amazon EC2 Auto Scaling affiche le modèle de lancement actuel et la version actuelle du modèle de lancement. Il répertorie également toutes les autres versions disponibles. Choisissez le modèle de lancement, puis la version. 

        Après avoir choisi une version, vous pouvez voir les informations de version. Il s'agit de la version du modèle de lancement qui sera utilisée lors du remplacement d'instances dans le cadre d'une actualisation d'instance. Si l'actualisation de l'instance réussit, cette version du modèle de lancement sera également utilisée chaque fois que de nouvelles instances seront lancées, par exemple, lorsque le groupe évolue.

   1. Pour **Use these settings to override the instance type and purchase option defined in the launch template** (Utiliser ces paramètres pour remplacer le type d'instance et l'option d'achat définis dans le modèle de lancement) : 

      Par défaut, cette case est cochée. Amazon EC2 Auto Scaling remplit chaque paramètre avec la valeur actuellement définie dans la *politique d'instances mixtes* pour le groupe Auto Scaling. Ne mettez à jour que les valeurs des paramètres que vous souhaitez modifier. Pour obtenir des conseils sur ces paramètres, consultez [Groupes Auto Scaling combinant plusieurs types d'instances et options d'achat](ec2-auto-scaling-mixed-instances-groups.md).
**Avertissement**  
Nous vous recommandons de ne pas décocher cette case. Décochez-la uniquement si vous souhaitez arrêter d'utiliser une politique d'instances mixtes. Une fois l'actualisation de l'instance réussie, Amazon EC2 Auto Scaling met à jour votre groupe pour qu'il corresponde à la **Desired configuration** (Configuration souhaitée). S'il n'inclut plus de politique d'instances mixtes, Amazon EC2 Auto Scaling résilie progressivement toutes les instances Spot en cours d'exécution et les remplace par des instances à la demande. Ou, si votre modèle de lancement demande des instances Spot, alors Amazon EC2 Auto Scaling résilie progressivement toutes les instances à la demande en cours d'exécution et les remplace par des instances Spot. 

1. (Facultatif) Pour **Paramètres de restauration**, choisissez **Activer la restauration automatique** pour restaurer automatiquement l'actualisation d'instance si elle échoue pour quelque raison que ce soit.

   Ce paramètre ne peut être activé que lorsque le groupe Auto Scaling remplit les conditions préalables à l’utilisation des restaurations. 

   Pour de plus amples informations, veuillez consulter [Annuler les modifications à l'aide d'une restauration manuelle ou automatique](instance-refresh-rollback.md).

1. Passez en revue toutes vos sélections pour vous assurer que tout est correctement configuré.

   À ce stade, il est conseillé de vérifier que les différences entre les modifications actuelles et proposées n’affecteront pas votre application de manière inattendue ou indésirable. Pour vérifier que votre type d’instance est compatible avec votre modèle de lancement, consultez [Compatibilité des types d'instance](instance-refresh-overview.md#instance-type-compatibility).

   Lorsque vos sélections d’actualisation d’instance vous conviennent, sélectionnez **Démarrer l’actualisation de l’instance**. 

## Lancer une actualisation d'instance (AWS CLI)
<a name="start-instance-refresh-cli"></a>

**Pour lancer une actualisation d’instance**  
Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande suivante pour démarrer une actualisation d'instance à partir du AWS CLI. Vous pouvez spécifier les préférences que vous souhaitez modifier dans un fichier de configuration JSON. Lorsque vous référencez le fichier de configuration, indiquez le chemin d'accès et le nom du fichier comme indiqué dans l'exemple suivant.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json` :

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 50,
      "AutoRollback": true,
      "ScaleInProtectedInstances": Ignore,
      "StandbyInstances": Terminate
    }
}
```

Si les préférences ne sont pas fournies, les valeurs par défaut sont utilisées. Pour de plus amples informations, veuillez consulter [Comprendre les valeurs par défaut d'une actualisation d'instance](understand-instance-refresh-default-values.md).

Exemple de sortie :

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

# Surveillez l'actualisation d'une instance à l'aide du AWS Management Console ou AWS CLI
<a name="check-status-instance-refresh"></a>

Vous pouvez surveiller une actualisation d'instance en cours ou consulter l'état des actualisations d'instance passées au cours des six dernières semaines à l'aide du AWS Management Console or AWS CLI. 

## Surveiller et vérifier l'état de l'actualisation d'une instance
<a name="monitor-and-check-status"></a>

Pour surveiller et vérifier l'état de l'actualisation d'une instance, appliquez l'une des méthodes suivantes :

------
#### [ Console ]

**Astuce**  
Dans cette procédure, les colonnes nommées doivent déjà être affichées. Pour afficher les colonnes masquées ou modifier le nombre de lignes affichées, cliquez sur l'icône représentant un engrenage dans le coin supérieur droit de la section pour ouvrir le mode des préférences. Mettez à jour les paramètres selon vos besoins et choisissez **Confirmer**.

**Pour surveiller et vérifier l'état de l'actualisation d'une instance (console)**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard du groupe Auto Scaling. 

   Un volet fractionné s'ouvre en bas de la page.

1. Dans l'onglet **Instance refresh** (Actualisation de l'instance), sous **Instance refresh history** (Historique d'actualisation de l'instance), vous pouvez déterminer l'état de votre demande en consultant la colonne **Statut** (Status). L'opération passe en `Pending` statut lors de son initialisation. Cet état devrait ensuite rapidement passer à `InProgress`. Lorsque toutes les instances sont mises à jour, l'état devient `Successful`.

1. Vous pouvez également suivre le succès ou l'échec des activités en cours en consultant les activités de dimensionnement du groupe. Dans l'onglet **Activity** (Activité), sous **Activity history** (Historique des activités), lorsque l'actualisation de l'instance démarre, vous voyez des entrées lorsque les instances sont mises hors service, et un autre ensemble d'entrées lorsque les instances sont lancées. Si vous avez de nombreuses activités de dimensionnement, vous pouvez en voir davantage en cliquant sur l'icône **>** en haut de l'historique des activités. Pour plus d'informations sur la résolution des problèmes susceptibles d'entraîner l'échec des activités, consultez[Résoudre les problèmes dans Amazon EC2 Auto Scaling](CHAP_Troubleshooting.md).

1. (Facultatif) Dans l'onglet **Gestion des instances****, sous Instances**, vous pouvez suivre la progression d'instances spécifiques selon vos besoins.

------
#### [ AWS CLI ]

**Pour surveiller et vérifier l'état de l'actualisation d'une instance (AWS CLI)**  
Utilisez la commande [describe-instance-refreshes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-instance-refreshes.html) suivante.

```
aws autoscaling describe-instance-refreshes --auto-scaling-group-name my-asg
```

Voici un exemple de sortie.

Les actualisations des instances sont ordonnées par heure de début. Les actualisations d'instances toujours en cours sont décrites en premier. 

```
{
  "InstanceRefreshes":[
    {
      "InstanceRefreshId":"08b91cf7-8fa6-48af-b6a6-d227f40f1b9b",
      "AutoScalingGroupName":"my-asg",
      "Status":"InProgress",
      "StatusReason":"Waiting for instances to warm up before continuing. For example: i-0645704820a8e83ff is warming up.",
      "StartTime":"2023-11-24T16:46:52+00:00",
      "PercentageComplete":50,
      "InstancesToUpdate":0,
      "Preferences":{
        "MaxHealthyPercentage":120,
        "MinHealthyPercentage":90,
        "InstanceWarmup":60,
        "SkipMatching":false,
        "AutoRollback":true,
        "ScaleInProtectedInstances":"Ignore",
        "StandbyInstances":"Ignore"
      }
    },
    {
      "InstanceRefreshId":"0e151305-1e57-4a32-a256-1fd14157c5ec",
      "AutoScalingGroupName":"my-asg",
      "Status":"Successful",
      "StartTime":"2023-11-22T13:53:37+00:00",
      "EndTime":"2023-11-22T13:59:45+00:00",
      "PercentageComplete":100,
      "InstancesToUpdate":0,
      "Preferences":{
        "MaxHealthyPercentage":120,
        "MinHealthyPercentage":90,
        "InstanceWarmup":60,
        "SkipMatching":false,
        "AutoRollback":true,
        "ScaleInProtectedInstances":"Ignore",
        "StandbyInstances":"Ignore"
      }
    }
  ]
}
```

Vous pouvez également suivre le succès ou l'échec des activités en cours en consultant les activités de dimensionnement du groupe. Les activités de dimensionnement vous permettent également d'obtenir plus de détails afin de résoudre les problèmes liés à l'actualisation d'une instance. Pour de plus amples informations, veuillez consulter [Résoudre les problèmes dans Amazon EC2 Auto Scaling](CHAP_Troubleshooting.md).

------

## États d'actualisation d'instance
<a name="instance-refresh-statuses"></a>

Lorsque vous lancez une actualisation d'instance, celle-ci passe à l'état **En attente**. Il passe de **En attente** à **InProgress**jusqu'à ce qu'il atteigne **Successful****, Echec RollbackSuccessful********, Annulé** ou **RollbackFailed**.

Une actualisation d'instance peut avoir les états suivants :


| Statut | Description | 
| --- | --- | 
| En suspens | La demande a été créée, mais l'actualisation d'instance n'a pas démarré. | 
| InProgress | Une actualisation d'instance est en cours. | 
| Réussite | Une actualisation d'instance s'est terminée avec succès. | 
| Échec | L'actualisation d'instance a échoué. Vous pouvez résoudre les problèmes en consultant le motif de cet état et les activités de mise à l’échelle. | 
| Annulation | Une actualisation d'instance en cours est en cours d'annulation. | 
| Annulée | L'actualisation d'instance est annulée. | 
| RollbackInProgress | Une actualisation d'instance est en cours de restauration. | 
| RollbackFailed | La restauration a échoué. Vous pouvez résoudre les problèmes en consultant le motif de cet état et les activités de mise à l’échelle. | 
| RollbackSuccessful | La restauration s'est terminée avec succès. | 
| Pâtisserie | Attendre le temps de cuisson spécifié une fois que l'actualisation d'une instance a terminé la mise à jour des instances. | 

# Remplacer les volumes racines lors de l'actualisation de l'instance
<a name="replace-root-volume"></a>

**Topics**
+ [Comment ça marche](#start-instance-refresh-replace-root-volume-how-it-works)
+ [Exigences](#start-instance-refresh-replace-root-volume-requirements)
+ [Lancer une actualisation d'instance avec Replace Root Volume](#start-instance-refresh-replace-root-volume-cli)
+ [Limitations](#start-instance-refresh-replace-root-volume-limitations)
+ [Utilisez des hooks de cycle de vie pour remplacer le volume racine](#replace-root-volume-lifecycle-hooks)

## Comment ça marche
<a name="start-instance-refresh-replace-root-volume-how-it-works"></a>

Le remplacement du volume racine met à jour vos instances en remplaçant uniquement le volume EBS racine tout en maintenant l'instance en cours d'exécution. Cela élimine le besoin de lancer de nouvelles instances et évite d'éventuelles contraintes de capacité. Ce processus préserve toutes les autres ressources de l'instance, notamment :
+ Interfaces réseau et adresses IP 
+ Volumes EBS autres que root 
+ Volumes et données de stockage d'instance 
+ Groupes de sécurité et rôles IAM 

Pendant le remplacement du volume racine, votre application continue de s'exécuter sur l'instance existante. Le volume racine d'origine est détaché, un nouveau volume racine est créé à partir de l'AMI que vous avez spécifiée, puis attaché à la même instance. Les volumes racine d'origine sont automatiquement supprimés après un remplacement réussi.

Lorsque vous utilisez la stratégie de remplacement du volume racine, les instances passent par les états de cycle de vie suivants :

1. `ReplacingRootVolume`- Le remplacement du volume racine commence

1. `ReplacingRootVolume:Wait`- Attend la fin du cycle de vie du hook (si configuré)

1. `ReplacingRootVolume:Proceed`- Procède du remplacement

1. `RootVolumeReplaced`- Le remplacement a été effectué avec succès

Une fois le remplacement du volume racine terminé, Auto Scaling effectue des contrôles de santé sur les instances mises à jour. Si le remplacement du volume racine échoue pour une instance, Auto Scaling marque cette instance pour arrêt et la remplace par une nouvelle instance.

## Exigences
<a name="start-instance-refresh-replace-root-volume-requirements"></a>
+ Votre groupe Auto Scaling doit utiliser une politique d'instances mixtes
+ Toutes les dérogations prévues dans la politique des instances mixtes doivent spécifier un `ImageId` 
+ AMIs ne doit contenir qu'un seul volume racine
+ Toutes les instances doivent correspondre à la configuration du modèle de lancement du groupe
+ Vous devez démarrer l'actualisation de l'instance avec la configuration souhaitée comportant une politique d'instances mixtes contenant des `ImageId` remplacements. 

## Lancer une actualisation d'instance avec Replace Root Volume
<a name="start-instance-refresh-replace-root-volume-cli"></a>

**Pour démarrer l'actualisation d'une instance avec Replace Root Volume (AWS CLI)**  
Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande suivante pour démarrer une actualisation d'instance à partir du AWS CLI. Vous pouvez spécifier les préférences que vous souhaitez modifier dans un fichier de configuration JSON. Lorsque vous référencez le fichier de configuration, indiquez le chemin d'accès et le nom du fichier comme indiqué dans l'exemple suivant. 

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json` : 

**Example**  

```
{
  "AutoScalingGroupName": "my-asg",
  "Strategy" : "ReplaceRootVolume",
  "DesiredConfiguration":{
    "MixedInstancesPolicy":{
      "LaunchTemplate": {
        "LaunchTemplateSpecification": {
          "LaunchTemplateId":"my-launch-template",
          "Version": "1"
        },
        "Overrides": [
          {
            "InstanceType":"c5.large",
            "ImageId":"ami-1234example"
          },
          {
            "InstanceType":"m5.large",
            "ImageId":"ami-2345example"
          }
        ]
      }
    }
  },
  "Preferences": {
    "InstanceWarmup": 60,
    "MinHealthyPercentage": 90,
    "AutoRollback": true,
    "ScaleInProtectedInstances": Ignore,
    "StandbyInstances": Ignore
  }
}
```

Si les préférences ne sont pas fournies, les valeurs par défaut sont utilisées. Pour de plus amples informations, veuillez consulter [Comprendre les valeurs par défaut d'une actualisation d'instance](understand-instance-refresh-default-values.md). 

Exemple de sortie :

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

## Limitations
<a name="start-instance-refresh-replace-root-volume-limitations"></a>
+ Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume si le groupe EC2 Auto Scaling ou la configuration d'actualisation d'instance souhaitée utilise `$Latest` la version `$Default` ou le modèle de lancement.
+ Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume sur un groupe Amazon EC2 Auto Scaling s'il contient des instances dont le type d'instance n'est pas présent dans la politique relative aux instances mixtes.
+ Lors d'une actualisation d'instance avec Replace Root Volume, vous ne pouvez associer que des instances dont les types sont présents dans la politique d'instances mixtes de la configuration souhaitée.
+ Vous ne pouvez pas démarrer une actualisation d'instance avec Replace Root Volume sur un groupe EC2 Auto Scaling doté d'un pool de chaleur.
+ Vous ne pouvez pas ajouter un pool de chaleur à un groupe Amazon EC2 Auto Scaling dont l'instance est actualisée activement avec Replace Root Volume.

## Utilisez des hooks de cycle de vie pour remplacer le volume racine
<a name="replace-root-volume-lifecycle-hooks"></a>

Les instances en cours de remplacement du volume racine suivent leurs propres transitions de cycle de vie, ce qui vous permet d'invoquer des actions (par exemple, une fonction Lambda) avant and/or le remplacement. Pour plus d'informations sur les états du cycle de vie lors du remplacement du volume racine, consultez[Transitions d'état du cycle de vie pour les instances en cours de remplacement du volume racine](lifecycle-hooks-overview.md#rvr-lifecycle-state-transitions).

Pour plus d'informations sur l'ajout d'un hook de cycle de vie, consultez [Ajoutez des hooks de cycle de vie à votre groupe Auto Scaling](adding-lifecycle-hooks.md). Pour plus d'informations sur l'exécution d'une action de cycle de vie, consultez [Réaliser une action du cycle de vie dans un groupe Auto Scaling](completing-lifecycle-hooks.md).

Avant le remplacement du volume racine, un hook du cycle de vie peut être utile dans les scénarios suivants :
+ Vous souhaitez arrêter correctement votre application avant que le volume racine ne soit remplacé et que l'instance ne soit redémarrée.
+ Vous souhaitez déplacer les données du volume racine vers un autre emplacement avant que le volume ne soit remplacé.

Après le remplacement du volume racine, un hook de cycle de vie peut être utile dans les scénarios suivants :
+ Vous souhaitez vérifier que votre instance est entièrement prête avec la nouvelle AMI avant qu'elle ne commence à recevoir du trafic.
+ Vous souhaitez amorcer des données d'application qui existaient auparavant sur le volume racine.

Lorsque vous ajoutez des hooks de cycle de vie, tenez compte des éléments suivants :
+ Lorsqu'un hook du cycle de vie est configuré pour l'action `autoscaling:EC2_INSTANCE_TERMINATING` du cycle de vie, une instance sur le point de subir le remplacement du volume racine fait une pause pour effectuer une action personnalisée lorsqu'elle atteint `ReplacingRootVolume:Wait` cet état.
+ Lorsqu'un hook de cycle de vie est configuré pour l'action `autoscaling:EC2_INSTANCE_LAUNCHING` du cycle de vie, une instance dont le volume racine vient d'être remplacé fait une pause pour exécuter une action personnalisée lorsqu'elle atteint `Pending:Wait` cet état.

Lorsque les instances atteignent un état d'attente, Amazon EC2 Auto Scaling envoie une notification. Les notifications relatives au cycle de vie d'Auto Scaling contiennent un `Action` champ dont la valeur `ReplaceRootVolume` indique que l'instance est en cours de remplacement du volume racine.

Des exemples de ces notifications sont disponibles dans la EventBridge section de ce guide. Pour de plus amples informations, veuillez consulter [Actualisation des instances : remplacement des événements du cycle de vie du volume racine](instance-refresh-eventbridge-events.md#instance-refresh-rvr-lifecycle-events).

# Annuler l'actualisation d'une instance à l'aide du AWS Management Console ou AWS CLI
<a name="cancel-instance-refresh"></a>

Vous pouvez annuler une actualisation d'instance qui est toujours en cours. Vous ne pouvez pas l'annuler une fois qu'elle est terminée.

L'annulation d'une actualisation d'instance ne restaure pas les instances qui ont déjà été remplacées. Pour restaurer les modifications apportées à vos instances, effectuez plutôt une restauration. Pour de plus amples informations, veuillez consulter [Annuler les modifications à l'aide d'une restauration manuelle ou automatique](instance-refresh-rollback.md).

**Topics**
+ [Annuler une actualisation d'instance (console)](#cancel-instance-refresh-console)
+ [Annuler une actualisation d'instance (AWS CLI)](#cancel-instance-refresh-cli)

## Annuler une actualisation d'instance (console)
<a name="cancel-instance-refresh-console"></a>

**Pour annuler une actualisation d’instance**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard du groupe Auto Scaling.

1. Sous l'onglet **Actualisation de l'instance**, dans **Actualisation d'instance active**, sélectionnez **Annuler l'actualisation d'instance**, **Annuler**.

1. Lorsque vous êtes invité à confirmer l'opération, choisissez **Confirmer**.

L'état de l'actualisation d'instance est défini sur **Annulation**. Une fois l'annulation terminée, l'état de l'actualisation d'instance est défini sur **Annulé**.

## Annuler une actualisation d'instance (AWS CLI)
<a name="cancel-instance-refresh-cli"></a>

**Pour annuler une actualisation d’instance**  
Utilisez la [cancel-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/cancel-instance-refresh.html)commande du AWS CLI et saisissez le nom du groupe Auto Scaling. 

```
aws autoscaling cancel-instance-refresh --auto-scaling-group-name my-asg
```

Exemple de sortie :

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**Pour annuler l'actualisation d'une instance sans attendre la transition des instances**  
Utilisez l'`--no-wait-for-transitioning-instances`option associée à la [cancel-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/cancel-instance-refresh.html)commande AWS CLI pour annuler l'actualisation d'une instance sans attendre la transition des instances.

```
aws autoscaling cancel-instance-refresh —auto-scaling-group-name my-asg --no-wait-for-transitioning-instances
```

**Par défaut, lorsque vous annulez l'actualisation d'une instance, Amazon EC2 Auto Scaling attend la fin des lancements et des terminaisons en cours de vol avant de définir le statut sur Annulé.** Si vous avez des instances dont les périodes de vidange sont longues ou si vous devez démarrer immédiatement une nouvelle actualisation d'instance, vous pouvez utiliser la commande afin de ne pas avoir à attendre ces opérations de transition.

Lorsque vous utilisez cette option, le statut d'actualisation de l'instance passe à **Annulé**, ce qui vous permet de démarrer une nouvelle actualisation de l'instance. Tous les lancements et les terminaisons en vol se poursuivent en arrière-plan.

# Annuler les modifications à l'aide d'une restauration manuelle ou automatique
<a name="instance-refresh-rollback"></a>

Vous pouvez restaurer une actualisation d'instance qui est toujours en cours. Vous ne pouvez pas la restaurer une fois qu'elle est terminée. Toutefois, vous pouvez à nouveau mettre à jour votre groupe Auto Scaling en lançant une nouvelle actualisation d'instance.

Lors de la restauration, Amazon EC2 Auto Scaling remplace les instances déployées jusqu'à présent. Les nouvelles instances correspondent à la configuration que vous avez enregistrée pour la dernière fois dans le groupe Auto Scaling avant de commencer l'actualisation d'instance.

Amazon EC2 Auto Scaling fournit les méthodes de restauration suivantes :
+ Restauration manuelle : vous lancez une restauration manuellement pour inverser ce qui a été déployé jusqu'au point de restauration.
+ Annulation automatique : Amazon EC2 Auto Scaling annule automatiquement ce qui a été déployé si l'actualisation de l'instance échoue pour une raison ou une CloudWatch autre ou si l'une des alarmes que vous spécifiez passe à l'état normal. `ALARM`

**Topics**
+ [Considérations](#instance-refresh-rollback-considerations)
+ [Lancer manuellement une restauration](#instance-refresh-manual-rollback)
+ [Lancer une actualisation d'instance avec restauration automatique](#instance-refresh-using-auto-rollback)

## Considérations
<a name="instance-refresh-rollback-considerations"></a>

Les considérations suivantes s’appliquent lorsque vous utilisez une restauration :
+ L’option de restauration n’est disponible que si vous spécifiez la configuration souhaitée lors du démarrage de l’actualisation d’une instance.
+ Vous ne pouvez revenir à une version précédente d’un modèle de lancement que s’il s’agit d’une version numérotée spécifique. L’option de restauration n’est pas disponible si le groupe Auto Scaling est configuré pour utiliser la version du modèle de lancement `$Latest` ou `$Default`. 
+ Vous ne pouvez pas non plus revenir à un modèle de lancement configuré pour utiliser un alias d'AMI depuis le AWS Systems Manager Parameter Store.
+ La configuration que vous avez enregistrée pour la dernière fois dans le groupe Auto Scaling doit être stable. Si elle n’est pas stable, le flux de travail de restauration s’exécutera toujours, mais il finira par échouer. Tant que vous n'aurez pas résolu le problème, le groupe Auto Scaling risque de se trouver à un état d'échec qui ne lui permet plus de lancer les instances avec succès. Cela peut avoir un impact sur la disponibilité du service ou de l'application.

## Lancer manuellement une restauration
<a name="instance-refresh-manual-rollback"></a>

------
#### [ Console ]

**Pour lancer manuellement une restauration d’une actualisation d’instance (console)**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard du groupe Auto Scaling.

1. Dans l'onglet **Actualisation d'instance**, dans **Actualisation d'instance active**, sélectionnez **Actions**, **Lancer une restauration**.

1. Lorsque vous êtes invité à confirmer l’opération, choisissez **Confirmer**.

------
#### [ AWS CLI ]

**Pour lancer manuellement une restauration d’une actualisation d’instance (AWS CLI)**  
Utilisez la [rollback-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/rollback-instance-refresh.html)commande du AWS CLI et saisissez le nom du groupe Auto Scaling. 

```
aws autoscaling rollback-instance-refresh --auto-scaling-group-name my-asg
```

Exemple de sortie :

```
{
    "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**Astuce**  
Si cette commande génère une erreur, assurez-vous d'avoir mis à jour AWS CLI localement la dernière version.

------

## Lancer une actualisation d'instance avec restauration automatique
<a name="instance-refresh-using-auto-rollback"></a>

À l'aide de la fonction d'annulation automatique, vous pouvez annuler automatiquement l'actualisation de l'instance en cas d'échec, par exemple en cas d'erreur ou en cas de passage à l'`ALARM`état CloudWatch d'une alarme Amazon spécifiée.

Si vous activez la restauration automatique et que des erreurs se produisent lors du remplacement des instances, l’actualisation des instances tente de terminer tous les remplacements pendant une heure avant d’échouer et de restaurer les instances. Ces erreurs sont généralement causées par des facteurs tels que l’échec du lancement d’EC2, des surveillances de l’état mal configurées, le fait de ne pas ignorer ou d’autoriser la résiliation d’instances dans l’état `Standby` ou protégées contre la mise à l’échelle horizontale.

La spécification CloudWatch des alarmes est facultative. Pour définir une alarme, vous devez d’abord la créer. Vous pouvez créer des alarmes de métrique et des alarmes composites. Pour plus d'informations sur la création de l'alarme, consultez le [guide de CloudWatch l'utilisateur Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/). En utilisant les métriques de Elastic Load Balancing par exemple, si vous utilisez un Application Load Balancer, vous pouvez utiliser les métriques `HTTPCode_ELB_5XX_Count` et `HTTPCode_ELB_4XX_Count`.

**Considérations**
+ Si vous spécifiez une CloudWatch alarme mais que vous n'activez pas la restauration automatique et que l'état de l'alarme passe à`ALARM`, l'actualisation de l'instance échoue sans restauration.
+ Vous pouvez choisir un maximum de 10 alarmes lorsque vous lancez une actualisation d’instance.
+ Lorsque vous choisissez une CloudWatch alarme, celle-ci doit être dans un état compatible. Si l’état d’alarme est `INSUFFICIENT_DATA` ou `ALARM`, vous recevez un message d’erreur lorsque vous essayez de démarrer l’actualisation de l’instance. 
+ Lorsque vous créez une alarme à utiliser par Amazon EC2 Auto Scaling, l’alarme doit indiquer comment traiter les points de données manquants. Si une métrique manque fréquemment des points de données par conception, l'état de l'alarme est `INSUFFICIENT_DATA` pendant ces périodes. Dans ce cas, Amazon EC2 Auto Scaling ne peut pas remplacer les instances tant que de nouveaux points de données ne sont pas trouvés. Pour forcer l’alarme à maintenir l’état précédent `ALARM` ou `OK`, vous pouvez choisir d’ignorer les données manquantes. Pour plus d'informations, consultez la [section Configuration de la manière dont les alarmes traitent les données manquantes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) dans le *guide de CloudWatch l'utilisateur Amazon*.

------
#### [ Console ]

**Pour lancer une actualisation d’instance avec restauration automatique (console)**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard du groupe Auto Scaling.

1. Dans l’onglet **Actualisation d’instance**, dans **Actualisation d’instance active**, sélectionnez **Démarrer l’actualisation d’instance**.

1. Suivez la procédure [Lancer une actualisation d'instance (console)](start-instance-refresh.md#start-instance-refresh-console) et configurez vos paramètres d’actualisation d’instance selon vos besoins.

1. (Facultatif) Sous **Actualiser les paramètres**, pour les **CloudWatch CloudWatch alarmes****, choisissez Activer les alarmes**, puis choisissez une ou plusieurs alarmes pour identifier les problèmes éventuels et faire échouer l'opération si une alarme passe à l'`ALARM`état indiqué.

1. Dans **Paramètres de restauration**, choisissez **Activer la restauration automatique** pour restaurer automatiquement une actualisation d’instance ayant échoué à la configuration que vous avez enregistrée pour la dernière fois dans le groupe Auto Scaling avant de commencer l’actualisation d’instance.

1. Passez en revue vos sélections, puis choisissez **Démarrer l’actualisation de l’instance**. 

------
#### [ AWS CLI ]

**Pour lancer une actualisation d'instance avec restauration automatique (AWS CLI)**  
Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande et spécifiez `true` l'`AutoRollback`option dans le`Preferences`. 

L’exemple suivant montre comment démarrer une actualisation d’instance qui sera automatiquement restaurée en cas d’échec. Remplacez les valeurs de paramètre *`italicized`* par vos propres valeurs.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json`.

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true
    }
}
```

Sinon, pour revenir automatiquement en arrière lorsque l'actualisation de l'instance échoue ou lorsqu'une CloudWatch alarme spécifiée est active`ALARM`, spécifiez l'`AlarmSpecification`option dans le `Preferences` et fournissez le nom de l'alarme, comme dans l'exemple suivant. Remplacez les valeurs de paramètre *`italicized`* par vos propres valeurs.

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredConfiguration": {
      "LaunchTemplate": {
          "LaunchTemplateName": "my-launch-template",
          "Version": "1"
       }
    },
    "Preferences": {
      "AutoRollback": true,
      "AlarmSpecification": { "Alarms": [ "my-alarm" ] }
    }
}
```

Si elle aboutit, la commande renvoie un résultat semblable au suivant :

```
{
  "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
}
```

**Astuce**  
Si cette commande génère une erreur, assurez-vous d'avoir mis à jour AWS CLI localement la dernière version.

------

# Utiliser une actualisation d'instance avec la fonction Ignorer la correspondance
<a name="asg-instance-refresh-skip-matching"></a>

La fonction Ignorer la correspondance indique à Amazon EC2 Auto Scaling d'ignorer les instances qui disposent déjà de vos dernières mises à jour. De cette façon, vous ne remplacez pas plus d'instances que nécessaire. Cela est utile quand vous souhaitez vous assurer que votre groupe Auto Scaling utilise une version particulière de votre modèle de lancement et ne remplace que les instances qui utilisent une version différente.

Les considérations suivantes s'appliquent à la fonction Ignorer la correspondance :
+ Si vous lancez une actualisation d'instance à la fois avec la fonction Ignorer la correspondance et la *configuration souhaitée*, Amazon EC2 Auto Scaling vérifie si des instances correspondent à la configuration souhaitée. Ensuite, il remplace uniquement les instances qui ne correspondent pas à la configuration souhaitée. Une fois l'actualisation d'instance réussie, Amazon EC2 Auto Scaling met à jour le groupe pour qu'il corresponde à la configuration souhaitée. 
+ Si vous lancez une actualisation d'instance avec la fonction Ignorer la correspondance, mais que vous ne spécifiez pas la configuration souhaitée, Amazon EC2 Auto Scaling vérifie si des instances correspondent à la configuration que vous avez enregistrée pour la dernière fois dans le groupe Auto Scaling. Ensuite, il remplace uniquement les instances qui ne correspondent pas à la configuration que vous avez enregistrée la dernière fois.
+ Vous pouvez utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement, une nouvelle version du modèle de lancement ou un ensemble de types d'instance. Si vous activez la fonction Ignorer la correspondance, mais qu'aucune d'entre elles ne change, le rafraîchissement des instances réussira immédiatement sans remplacer aucune instance. Si vous avez apporté d'autres modifications à la configuration souhaitée (à votre politique d'allocation des instances Spot, par exemple), Amazon EC2 Auto Scaling attend la réussite de l'actualisation d'instance. Il met ensuite à jour les paramètres du groupe Auto Scaling pour refléter la nouvelle configuration souhaitée. 
+ Vous ne pouvez pas utiliser la fonction Ignorer la correspondance avec une nouvelle configuration de lancement.
+ Lorsque vous lancez une actualisation d'instance et que vous fournissez la configuration souhaitée, Amazon EC2 Auto Scaling garantit que toutes les instances utilisent la configuration souhaitée. Par conséquent, lorsque vous spécifiez l'une `$Default` ou `$Latest` l'autre version souhaitée pour votre modèle de lancement, puis que vous créez une nouvelle version du modèle de lancement alors qu'une actualisation d'instance est en cours, toutes les instances déjà remplacées seront remplacées à nouveau.
+ Skip matching ne permet pas de savoir si un script de données utilisateur du modèle de lancement extraira le code mis à jour et l'installera sur les nouvelles instances. Par conséquent, il se peut que le remplacement des instances sur lesquelles un code obsolète soit installé ne soit pas remplacé. Dans ce cas, vous devez désactiver la mise en correspondance des erreurs pour vous assurer que toutes les instances reçoivent votre dernier code, même si la version du modèle de lancement n'est pas mise à jour.

Cette section contient des AWS CLI instructions pour démarrer une actualisation d'instance en activant la mise en correspondance des sauts. Pour des instructions sur l'utilisation de la console, consultez [Lancer une actualisation d'instance (console)](start-instance-refresh.md#start-instance-refresh-console).

## Ignorer la correspondance (procédure de base)
<a name="skip-matching"></a>

Suivez les étapes décrites dans cette section AWS CLI pour effectuer les opérations suivantes :
+ Créez le modèle de lancement que vous souhaitez appliquer à vos instances.
+ Lancez une actualisation d'instance pour appliquer votre modèle de lancement à votre groupe Auto Scaling. Si vous n'activez pas la fonction Ignorer la correspondance, toutes les instances seront remplacées. Cela est vrai même si le modèle de lancement utilisé pour provisionner l'instance est le même que celui que vous avez spécifié pour la configuration souhaitée.

**Pour utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement**

1. Utilisez la [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)commande pour créer un nouveau modèle de lancement pour votre groupe Auto Scaling. Incluez l'option `--launch-template-data` et l'entrée JSON qui définit les détails des instances créées pour votre groupe Auto Scaling.

   Par exemple, utilisez la commande suivante pour créer un modèle de lancement de base avec l'ID d'AMI *`ami-0123456789abcdef0`* et le type d'instance `t2.micro`.

   ```
   aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \
     --launch-template-data '{"ImageId":"ami-0123456789abcdef0","InstanceType":"t2.micro"}'
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
      "LaunchTemplate": {
        "LaunchTemplateId": "lt-068f72b729example",
        "LaunchTemplateName": "my-template-for-auto-scaling",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "CreateTime": "2023-01-30T18:16:06.000Z",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
     }
   }
   ```

   Pour de plus amples informations, veuillez consulter [Exemples de création et de gestion de modèles de lancement à l'aide du AWS CLI](examples-launch-templates-aws-cli.md).

1. Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande pour lancer le flux de travail de remplacement d'instance et appliquez votre nouveau modèle de lancement avec l'ID*`lt-068f72b729example`*. Le modèle de lancement étant nouveau, il ne comporte qu'une seule version. Cela signifie que la version `1` du modèle de lancement est la cible de cette actualisation d'instance. Si un événement de montée en puissance se produit lors de l'actualisation d'instance et si Amazon EC2 Auto Scaling provisionne de nouvelles instances à l'aide de la version `1` de ce modèle de lancement, elles ne seront pas remplacées. Une fois l'opération terminée avec succès, le nouveau modèle de lancement est appliqué à votre groupe Auto Scaling. 

   ```
   aws autoscaling start-instance-refresh --cli-input-json file://config.json
   ```

   Contenu de `config.json`.

   ```
   {
       "AutoScalingGroupName": "my-asg",
       "DesiredConfiguration": {
         "LaunchTemplate": {
             "LaunchTemplateId": "lt-068f72b729example",
             "Version": "$Default"
          }
       },
       "Preferences": {
         "SkipMatching": true
       }
   }
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
     "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
   }
   ```

## Fonction Ignorer la correspondance (groupe d'instances mixtes)
<a name="skip-matching-mixed-instances-group"></a>

Si vous avez un groupe Auto Scaling doté d'une [politique d'instances mixtes](ec2-auto-scaling-mixed-instances-groups.md), suivez les étapes décrites dans cette section AWS CLI pour démarrer une actualisation d'instance en sautant la correspondance. Vous avez les options suivantes :
+ Fournissez un nouveau modèle de lancement à appliquer à tous les types d'instances spécifiés dans la politique.
+ Fournissez un ensemble actualisé de types d'instances avec ou sans modification du modèle de lancement dans la politique. Par exemple, il se peut que vous souhaitiez migrer les types d'instance indésirables. Vous utiliseriez le modèle de lancement tel quel, sans modifier l'AMI, les groupes de sécurité ou les autres spécificités des instances remplacées.

Suivez les étapes décrites dans l'une des sections suivantes, selon l'option qui répond à vos besoins.

**Pour utiliser la fonction Ignorer la correspondance avec un nouveau modèle de lancement**

1. Utilisez la [create-launch-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-launch-template.html)commande pour créer un nouveau modèle de lancement pour votre groupe Auto Scaling. Incluez l’option `--launch-template-data` et l’entrée JSON qui définit les détails des instances créées pour votre groupe Auto Scaling.

   Par exemple, utilisez la commande suivante pour créer un modèle de lancement avec l'ID d'AMI *`ami-0123456789abcdef0`*.

   ```
   aws ec2 create-launch-template --launch-template-name my-new-template --version-description version1 \
     --launch-template-data '{"ImageId":"ami-0123456789abcdef0"}'
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
      "LaunchTemplate": {
        "LaunchTemplateId": "lt-04d5cc9b88example",
        "LaunchTemplateName": "my-new-template",
        "CreatedBy": "arn:aws:iam::123456789012:user/Bob",
        "CreateTime": "2023-01-31T15:56:02.000Z",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
     }
   }
   ```

   Pour de plus amples informations, veuillez consulter [Exemples de création et de gestion de modèles de lancement à l'aide du AWS CLI](examples-launch-templates-aws-cli.md).

1. Pour consulter la politique d'instances mixtes existante pour votre groupe Auto Scaling, exécutez la [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)commande. Vous aurez besoin de ces informations à l'étape suivante, lorsque vous lancerez l'actualisation d'instance.

   L'exemple de commande suivant renvoie la politique d'instances mixtes configurée pour le groupe Auto Scaling nommé *`my-asg`*.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
     "AutoScalingGroups":[
       {
         "AutoScalingGroupName":"my-asg",
         "AutoScalingGroupARN":"arn",
         "MixedInstancesPolicy":{
           "LaunchTemplate":{
             "LaunchTemplateSpecification":{
               "LaunchTemplateId":"lt-073693ed27example",
               "LaunchTemplateName":"my-old-template",
               "Version":"$Default"
             },
             "Overrides":[
               {
                 "InstanceType":"c5.large"
               },
               {
                 "InstanceType":"c5a.large"
               },
               {
                 "InstanceType":"m5.large"
               },
               {
                 "InstanceType":"m5a.large"
               }
             ]
           },
           "InstancesDistribution":{
             "OnDemandAllocationStrategy":"prioritized",
             "OnDemandBaseCapacity":1,
             "OnDemandPercentageAboveBaseCapacity":50,
             "SpotAllocationStrategy":"price-capacity-optimized"
           }
         },
         "MinSize":1,
         "MaxSize":5,
         "DesiredCapacity":4,
         ...
       }
     ]
   }
   ```

1. Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande pour lancer le flux de travail de remplacement d'instance et appliquez votre nouveau modèle de lancement avec l'ID*`lt-04d5cc9b88example`*. Le modèle de lancement étant nouveau, il ne comporte qu'une seule version. Cela signifie que la version `1` du modèle de lancement est la cible de cette actualisation d'instance. Si un événement de montée en puissance se produit lors de l’actualisation d’instance et si Amazon EC2 Auto Scaling provisionne de nouvelles instances à l’aide de la version `1` de ce modèle de lancement, elles ne seront pas remplacées. Une fois l'opération terminée avec succès, la politique d'instances mixtes mise à jour est appliquée à votre groupe Auto Scaling.

   ```
   aws autoscaling start-instance-refresh --cli-input-json file://config.json
   ```

   Contenu de `config.json`.

   ```
   {
     "AutoScalingGroupName":"my-asg",
     "DesiredConfiguration":{
       "MixedInstancesPolicy":{
         "LaunchTemplate":{
           "LaunchTemplateSpecification":{
             "LaunchTemplateId":"lt-04d5cc9b88example",
             "Version":"$Default"
           },
           "Overrides":[
             {
               "InstanceType":"c5.large"
             },
             {
               "InstanceType":"c5a.large"
             },
             {
               "InstanceType":"m5.large"
             },
             {
               "InstanceType":"m5a.large"
             }
           ]
         },
         "InstancesDistribution":{
           "OnDemandAllocationStrategy":"prioritized",
           "OnDemandBaseCapacity":1,
           "OnDemandPercentageAboveBaseCapacity":50,
           "SpotAllocationStrategy":"price-capacity-optimized"
           }
         }
       }
     },
     "Preferences":{
       "SkipMatching":true
     }
   }
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
     "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b"
   }
   ```

Dans cette procédure suivante, vous allez fournir un ensemble actualisé de types d'instances sans modifier le modèle de lancement. 

**Pour utiliser la fonction Ignorer la correspondance avec un ensemble actualisé de types d'instances**

1. Pour consulter la politique d'instances mixtes existante pour votre groupe Auto Scaling, exécutez la [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)commande. Vous aurez besoin de ces informations à l'étape suivante, lorsque vous lancerez l'actualisation d'instance.

   L'exemple de commande suivant renvoie la politique d'instances mixtes configurée pour le groupe Auto Scaling nommé *`my-asg`*.

   ```
   aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
   ```

   Si elle aboutit, la commande renvoie un résultat semblable au suivant :

   ```
   {
     "AutoScalingGroups":[
       {
         "AutoScalingGroupName":"my-asg",
         "AutoScalingGroupARN":"arn",
         "MixedInstancesPolicy":{
           "LaunchTemplate":{
             "LaunchTemplateSpecification":{
               "LaunchTemplateId":"lt-073693ed27example",
               "LaunchTemplateName":"my-template-for-auto-scaling",
               "Version":"$Default"
             },
             "Overrides":[
               {
                 "InstanceType":"c5.large"
               },
               {
                 "InstanceType":"c5a.large"
               },
               {
                 "InstanceType":"m5.large"
               },
               {
                 "InstanceType":"m5a.large"
               }
             ]
           },
           "InstancesDistribution":{
             "OnDemandAllocationStrategy":"prioritized",
             "OnDemandBaseCapacity":1,
             "OnDemandPercentageAboveBaseCapacity":50,
             "SpotAllocationStrategy":"price-capacity-optimized"
           }
         },
         "MinSize":1,
         "MaxSize":5,
         "DesiredCapacity":4,
         ...
       }
     ]
   }
   ```

1. Utilisez la [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande pour lancer le flux de travail de remplacement d'instance et appliquer vos mises à jour. Si vous souhaitez remplacer les instances qui utilisent des types d'instance spécifiques, la configuration souhaitée doit spécifier la politique d'instances mixtes comprenant uniquement les types d'instance que vous souhaitez. Vous pouvez choisir d'ajouter de nouveaux types d'instance à leur place.

   L'exemple de commande suivant lance une actualisation d'instance sans le type d'instance indésirable *`m5a.large`*. Lorsqu'un type d'instance de votre groupe ne correspond pas à l'un des trois types d'instances restants, les instances sont remplacées. (Notez qu'une actualisation d'instance ne choisit pas les types d'instance à partir desquels les nouvelles instances doivent être approvisionnées ; ce choix revient aux [stratégies d'allocation](allocation-strategies.md).) Une fois l'opération terminée avec succès, la politique d'instances mixtes mise à jour est appliquée à votre groupe Auto Scaling.

   ```
   aws autoscaling start-instance-refresh --cli-input-json file://config.json
   ```

   Contenu de `config.json` 

   ```
   {
     "AutoScalingGroupName":"my-asg",
     "DesiredConfiguration":{
       "MixedInstancesPolicy":{
         "LaunchTemplate":{
           "LaunchTemplateSpecification":{
             "LaunchTemplateId":"lt-073693ed27example",
             "Version":"$Default"
           },
           "Overrides":[
             {
               "InstanceType":"c5.large"
             },
             {
               "InstanceType":"c5a.large"
             },
             {
               "InstanceType":"m5.large"
             }
           ]
         },
         "InstancesDistribution":{
           "OnDemandAllocationStrategy":"prioritized",
           "OnDemandBaseCapacity":1,
           "OnDemandPercentageAboveBaseCapacity":50,
           "SpotAllocationStrategy":"price-capacity-optimized"
           }
         }
       }
     },
     "Preferences":{
       "SkipMatching":true
     }
   }
   ```

# Ajouter des points de contrôle à une actualisation d'instance
<a name="asg-adding-checkpoints-instance-refresh"></a>

Lorsque vous utilisez une actualisation d'instance, vous pouvez choisir de remplacer les instances par phases, afin de pouvoir effectuer des vérifications sur vos instances au fur et à mesure. Pour effectuer un remplacement par phases, vous devez ajouter des points de contrôle qui permettront de mettre l'actualisation d'instance en pause. L'utilisation de points de contrôle vous permet de mieux contrôler la façon dont vous choisissez de mettre à jour votre groupe Auto Scaling. Cela vous aide à vous assurer que votre application fonctionnera de manière fiable et prévisible.

**Topics**
+ [Comment ça marche](#instance-refresh-checkpoints-how-it-works)
+ [Considérations](#instance-refresh-checkpoints-considerations)
+ [Activer les points de contrôle](enable-checkpoints-console-cli.md)

## Comment ça marche
<a name="instance-refresh-checkpoints-how-it-works"></a>

Lorsque vous lancez une actualisation d'instance, vous spécifiez les points de contrôle sous forme de pourcentages du nombre total d'instances du groupe Auto Scaling. Ces points de contrôle indiquent le pourcentage minimum d'instances du groupe Auto Scaling qui doivent être de nouvelles instances avant que le point de contrôle soit considéré comme atteint. Par exemple, si vos points de contrôle le sont`[20, 50, 100]`, le premier point de contrôle est atteint lorsque 20 % des instances sont nouvelles, le second lorsque 50 % sont nouvelles et le dernier point de contrôle lorsque toutes les instances sont nouvelles. 

Amazon EC2 Auto Scaling accélère le remplacement des instances afin de respecter les pourcentages de points de contrôle spécifiés tout en maintenant le pourcentage de santé minimum du groupe. Pour atteindre un pourcentage de point de contrôle, Amazon EC2 Auto Scaling remplace parfois un nombre de points de contrôle inférieur, mais jamais plus que ce que permet le pourcentage minimal valide.

Prenons l’exemple du groupe Auto Scaling suivant qui compte 10 instances. Les pourcentages de points de contrôle sont `[20,50,100]`, le pourcentage minimal valide est de 80 % et le pourcentage maximal valide est de 100 %. Pour maintenir le pourcentage minimal valide, seulement deux instances peuvent être remplacées à la fois. Le graphique suivant résume le processus de remplacement des instances avant qu’un point de contrôle ne soit atteint.

![\[Ce diagramme montre comment les points de contrôle affectent le flux d’actualisation d’une instance.\]](http://docs.aws.amazon.com/fr_fr/autoscaling/ec2/userguide/images/checkpoints-instance-refresh.png)


Dans l'exemple ci-dessus, il existe une période de préchauffage pour chaque nouvelle instance qui démarre. Vous pouvez également avoir un hook de cycle de vie qui met une instance en attente, puis exécute une action personnalisée lors de son lancement ou de sa résiliation. 

Amazon EC2 Auto Scaling émet des événements pour chaque point de contrôle, à l'exception du point de contrôle complet à 100 %. Vous pouvez ajouter une EventBridge règle pour envoyer les événements à une cible telle qu'Amazon SNS. De cette façon, vous recevez une notification lorsque vous pouvez effectuer les vérifications requises. Pour de plus amples informations, veuillez consulter [Créez des EventBridge règles pour les événements d'actualisation, par exemple](monitor-events-eventbridge-sns.md).

## Considérations
<a name="instance-refresh-checkpoints-considerations"></a>

Lorsque vous utilisez des points de contrôle, gardez à l'esprit les considérations suivantes :
+ Étant donné que les points de contrôle sont basés sur des pourcentages, le nombre d'instances à remplacer change en fonction de la taille du groupe. Lorsqu'une activité de scale-out se produit et que la taille du groupe augmente, une opération en cours peut à nouveau atteindre un point de contrôle. Dans ce cas, Amazon EC2 Auto Scaling envoie une autre notification et applique à nouveau le délai d'attente spécifié entre les points de contrôle avant de continuer.
+ Dans certaines circonstances, un point de contrôle peut être ignoré. Par exemple, supposons que votre groupe Auto Scaling contienne deux instances et que les pourcentages associés à vos points de contrôle soient de `[10,40,100]`. Une fois la première instance remplacée, Amazon EC2 Auto Scaling calcule que 50 % du groupe a été remplacé. Étant donné que 50 % est un pourcentage supérieur à ceux des deux premiers points de contrôle, il ignore le premier point de contrôle (`10`) et envoie une notification pour le deuxième point de contrôle (`40`).
+ L'annulation de l'opération empêche tout remplacement ultérieur. Si vous annulez l'opération ou qu'elle échoue avant d'atteindre le dernier point de contrôle, l'ancienne configuration des instances qui ont déjà été remplacées n'est pas restaurée.
+ Dans le cas d'une actualisation partielle, lorsque vous relancez l'opération, Amazon EC2 Auto Scaling ne redémarre pas à partir du dernier point de contrôle et ne s'arrête pas lorsque seules les instances antérieures sont remplacées. Cela dit, il cible d'abord les instances antérieures à remplacer avant de cibler les nouvelles. 
+ Le pourcentage réel d'achèvement peut être supérieur au pourcentage pour ce point de contrôle lorsque le pourcentage du point de contrôle est trop faible par rapport au nombre d'instances du groupe. Supposons, par exemple, que le pourcentage du point de contrôle soit de 20 % et que le groupe compte quatre instances. Si Amazon EC2 Auto Scaling remplace l’une des quatre instances, le pourcentage remplacé réel (25 %) sera supérieur au pourcentage du point de contrôle (20 %).
+ Une fois qu'un point de contrôle est atteint, le pourcentage global d'achèvement affiché n'est mis à jour qu'une fois le préchauffage des instances terminé. Par exemple, vos pourcentages de points de contrôle correspondent `[20,50]` à un délai de 15 minutes et à un pourcentage de santé minimum de 80 %. Votre groupe Auto Scaling compte 10 instances et effectue les remplacements suivants :
  + 0:00 : deux instances antérieures sont remplacées par des nouvelles. 
  + 0:10 : deux nouvelles instances finissent leur préparation. 
  + 0:25 : deux instances antérieures sont remplacées par des nouvelles. (Seulement deux instances sont remplacées pour maintenir le pourcentage minimal valide.)
  + 0:35 : deux nouvelles instances finissent leur préparation. 
  + 0:35 : une instance antérieure est remplacée par une nouvelle.
  + 0:45 : une nouvelle instance finit sa préparation.

  À 0:35, l'opération cesse de lancer de nouvelles instances. Le pourcentage d'achèvement ne reflète pas encore avec précision le nombre de remplacements terminés (50 %), car la nouvelle instance n'a pas encore terminé sa préparation. Une fois que la nouvelle instance a terminé sa période de préchauffage à 0h45, le pourcentage d'achèvement indique 50 %.
+ Si plusieurs points de contrôle sont activés, le point de contrôle d'actualisation de l'instance doit être défini sur 100 % pour garantir le remplacement complet de toutes les instances. Si vous définissez le point de contrôle final sur un pourcentage inférieur à 100 % (par exemple, 50 %), l'actualisation des instances cessera de remplacer les instances après avoir atteint ce pourcentage de point de contrôle et ne se poursuivra pas automatiquement jusqu'à 100 % d'achèvement.

# Activez les points de contrôle à l'aide du ou AWS Management Console AWS CLI
<a name="enable-checkpoints-console-cli"></a>

Vous pouvez utiliser le AWS Management Console ou AWS CLI pour activer les points de contrôle.

## Activer les points de contrôle (console)
<a name="enable-checkpoints-console"></a>

Vous pouvez activer des points de contrôle avant de démarrer une actualisation d'instance pour remplacer des instances à l'aide d'une approche progressive ou par phases. Cela donne plus de temps pour la vérification.

**Pour lancer une actualisation d'instance qui utilise des points de contrôle**

1. Ouvrez la console Amazon EC2 à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), puis sélectionnez **Auto Scaling Groups** dans le volet de navigation.

1. Cochez la case située en regard de votre groupe Auto Scaling.

   Un volet fractionné s'ouvre dans la partie inférieure de la page **Groupes Auto Scaling**. 

1. Dans l'onglet **Instance refresh** (Actualisation d'instance), dans **Active instance refresh** (Actualisation d'instance active), sélectionnez **Start instance refresh** (Démarrer l'actualisation d'instance).

1. Sur la page **Start instance refresh** (Lancer une actualisation d'instance), choisissez les valeurs à attribuer dans les champs **Minimum healthy percentage** (Pourcentage minimal d'instances saines) et **Instance warmup** (Préparation d'instance). 

1. Cochez la case **Enable checkpoints** (Activer les points de contrôle).

   Vous accédez alors à une zone dans laquelle vous pouvez définir le seuil, en pourcentage, du premier point de contrôle. 

1. Pour **Proceed until \$1\$1\$1\$1 % of the group is refreshed** (Continuer jusqu'à ce que \$1\$1\$1\$1 % du groupe soit actualisé), saisissez un nombre (entre 1 et 100). Cela définit le pourcentage pour le premier point de contrôle. 

1. Pour ajouter un autre point de contrôle, choisissez **Add checkpoint** (Ajouter un point de contrôle), puis définissez le pourcentage à associer à celui-ci.

1. Pour spécifier le délai à l'issue duquel Amazon EC2 Auto Scaling pourra reprendre l'actualisation d'instance après avoir atteint un point de contrôle, mettez à jour les champs du paramètre **Patienter `1` `hour` entre des points de contrôle**. Le temps peut être exprimé en heures, en minutes ou en secondes.

1. Lorsque vous en avez terminé avec les sélections d’actualisation d’instance, sélectionnez **Démarrer l’actualisation de l’instance**. 

## Activer les points de contrôle (AWS CLI)
<a name="enable-checkpoints-cli"></a>

Pour démarrer une actualisation d'instance avec des points de contrôle activés à l'aide de AWS CLI, vous avez besoin d'un fichier de configuration qui définit les paramètres suivants :
+ `CheckpointPercentages` : spécifie des valeurs de seuil pour le pourcentage d'instances à remplacer. Ces valeurs de seuil fournissent les points de contrôle. Lorsque le pourcentage d'instances remplacées et prêtes atteint l'un des seuils spécifiés, l'opération attend la fin du délai spécifié. Vous devez spécifier ce délai (en secondes) dans `CheckpointDelay`. Une fois le délai spécifié écoulé, l'actualisation d'instance reprend jusqu'à ce qu'elle atteigne le point de contrôle suivant (le cas échéant).
+ `CheckpointDelay` : spécifie le délai, en secondes, à l'issue duquel l'actualisation d'instance pourra reprendre après avoir atteint un point de contrôle. Choisissez une période qui offre suffisamment de temps pour effectuer vos vérifications.

La dernière valeur affichée dans le tableau `CheckpointPercentages` décrit le pourcentage du groupe Auto Scaling qui doit être remplacé avec succès. L’opération affiche `Successful` une fois que ce pourcentage a été remplacé avec succès et que chaque instance est considérée comme ayant terminé son initialisation. 

**Pour créer plusieurs points de contrôle**  
Pour créer plusieurs points de contrôle, utilisez l'exemple de [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande suivant. Cet exemple illustre la configuration d'une actualisation d'instance qui actualise initialement 1 % du groupe Auto Scaling. Après avoir attendu 10 minutes, il actualise ensuite les 19 % suivants et attend encore 10 minutes. Enfin, il rafraîchit le reste du groupe avant de conclure l'opération.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json` :

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [1,20,100],
      "CheckpointDelay": 600
    }
}
```

**Pour créer un point de contrôle unique**  
Pour créer un point de contrôle unique, utilisez l'exemple de [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande suivant. Cet exemple illustre la configuration d'une actualisation d'instance qui actualise initialement 20 % du groupe Auto Scaling. Après avoir attendu 10 minutes, il actualise ensuite le reste du groupe avant de conclure l'opération.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json` :

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [20,100],
      "CheckpointDelay": 600
    }
}
```

**Pour actualiser partiellement le groupe Auto Scaling**  
Pour remplacer uniquement une partie de votre groupe Auto Scaling, puis l'arrêter complètement, utilisez l'exemple de [start-instance-refresh](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/start-instance-refresh.html)commande suivant. Cet exemple illustre la configuration d'une actualisation d'instance qui actualise initialement 1 % du groupe Auto Scaling. Après avoir attendu 10 minutes, il actualise ensuite les 19 % suivants avant de conclure l'opération.

```
aws autoscaling start-instance-refresh --cli-input-json file://config.json
```

Contenu de `config.json` :

```
{
    "AutoScalingGroupName": "my-asg",
    "Preferences": {
      "InstanceWarmup": 60,
      "MinHealthyPercentage": 80,
      "CheckpointPercentages": [1,20],
      "CheckpointDelay": 600
    }
}
```