Supprimer temporairement des instances du groupe Auto Scaling - Amazon EC2 Auto Scaling

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.

Supprimer temporairement des instances du groupe Auto Scaling

Vous pouvez faire passer une instance du statut InService au statut Standby, mettre à jour ou dépanner l'instance, puis la remettre en service. Les instances en veille font toujours partie du groupe Auto Scaling, mais elles ne gèrent pas activement le trafic de l'équilibreur de charge.

Cette fonctionnalité vous permet d'arrêter et de démarrer les instances ou de les redémarrer sans craindre qu'Amazon EC2 Auto Scaling mette fin aux instances dans le cadre de ses bilans de santé ou lors d'événements de montée en puissance.

Par exemple, vous pouvez modifier l'Amazon Machine Image (AMI) d'un groupe Auto Scaling à tout moment en modifiant le modèle de lancement ou la configuration de lancement. Toutes les instances ultérieures lancées par le groupe Auto Scaling l'utilisentAMI. Cependant, le groupe Auto Scaling ne met pas à jour les instances actuellement en service. Vous pouvez mettre fin à ces instances et laisser Amazon EC2 Auto Scaling les remplacer, ou utiliser la fonction d'actualisation des instances pour résilier et remplacer les instances. Vous pouvez également placer les instances en veille, mettre à jour le logiciel, puis remettre les instances en service.

Le détachement des instances d'un groupe Auto Scaling est similaire à la mise en veille des instances. Le détachement d'instances peut être utile si vous souhaitez les associer à un autre groupe ou les gérer comme des EC2 instances autonomes et éventuellement les mettre hors service. Pour de plus amples informations, veuillez consulter Détachez ou attachez des instances de votre groupe Auto Scaling.

Comment fonctionne l'état de veille ?

L'état de veille fonctionne comme suit pour vous aider à temporairement supprimer une instance d'un groupe Auto Scaling :

  1. Vous mettez une instance en état de veille. L'instance reste dans cet état jusqu'à ce qu'elle change de statut.

  2. Si un groupe cible d'équilibreur de charge ou Classic Load Balancer est attaché à votre groupe Auto Scaling, l'instance est désenregistrée de l'équilibreur de charge. Si Connection Draining est activée pour l'équilibreur de charge, Elastic Load Balancing attend 300 secondes par défaut avant de terminer le processus de désenregistration, ce qui permet aux demandes en cours d'exécution de se terminer.

  3. Vous pouvez mettre à jour ou dépanner l'instance.

  4. Vous remettez l'instance en service en la sortant de l'état de veille.

  5. Si un groupe cible d'équilibreur de charge ou un Classic Load Balancer est attaché au groupe Auto Scaling, l'instance est enregistrée avec l'équilibreur de charge.

Pour plus d’informations sur le cycle de vie des instances dans un groupe Auto Scaling, consultez Cycle de vie de l'instance Amazon EC2 Auto Scaling.

Considérations

Les points suivants doivent être pris en compte lors du placement d’instances dans et hors de l’état de veille :

  • Lorsque vous mettez une instance en veille, vous pouvez soit réduire la capacité souhaitée par le biais de cette opération, soit conserver la même valeur.

    • Si vous choisissez de ne pas réduire la capacité souhaitée du groupe Auto Scaling, Amazon EC2 Auto Scaling lance une instance pour remplacer celle en veille. L'objectif est de vous aider à préserver la capacité pour votre application tandis qu'une ou plusieurs instances sont en veille.

    • Si vous choisissez de réduire la capacité souhaitée du groupe Auto Scaling, cela empêche le lancement d’une instance pour remplacer l’instance en veille.

  • Une fois l’instance remise en service, la capacité souhaitée est incrémentée pour refléter le nombre d’instances du groupe Auto Scaling.

  • Pour procéder à l’incrémentation (et à la décrémentation), la nouvelle capacité souhaitée doit être comprise entre la taille de groupe minimale et maximale. Sinon, l'opération échoue.

  • Si, après avoir mis une instance en veille ou remis l'instance en service en sortant de l'état de veille, il s'avère que votre groupe Auto Scaling n'est pas équilibré entre les zones de disponibilité, Amazon EC2 Auto Scaling compense en rééquilibrant les zones de disponibilité, sauf si vous suspendez le processus. AZRebalance Pour de plus amples informations, veuillez consulter Suspendre et reprendre les processus Amazon EC2 Auto Scaling.

  • Vous êtes facturé pour les instances en état de veille.

État de santé d'une instance en veille

Amazon EC2 Auto Scaling n'effectue aucun contrôle de santé sur les instances en état de veille. Lorsque l'instance est en veille, son état de santé reflète le statut qu'elle avait avant que vous ne la mettiez en veille. Amazon EC2 Auto Scaling n'effectue aucun contrôle de santé sur l'instance tant que vous ne l'avez pas remise en service.

Par exemple, si vous mettez une instance saine en veille puis que vous la mettez hors service, Amazon EC2 Auto Scaling continue de signaler que l'instance est saine. Si vous tentez de remettre en service une instance interrompue qui était en veille, Amazon EC2 Auto Scaling effectue un contrôle de santé de l'instance, détermine qu'elle est hors service et qu'elle est défectueuse, puis lance une instance de remplacement. Pour de plus amples informations, veuillez consulter Surveillance de l’état des instances dans un groupe Auto Scaling.

Supprimer temporairement une instance en la mettant en veille

Utilisez l'une des procédures suivantes pour mettre temporairement une instance hors service en la plaçant en mode veille.

Console
Pour supprimer temporairement une instance
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/et choisissez Auto Scaling Groups dans le volet de navigation.

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

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

  3. Sous l’onglet Gestion des instances) dans Instances, sélectionnez une instance.

  4. Choisissez Actions, Set to Standby (Régler sur Veille).

  5. Dans la boîte de dialogue Régler sur Veille, gardez la case à cocher Remplacer l’instance sélectionnée pour lancer une instance de remplacement. Désactivez la case à cocher pour réduire la capacité souhaitée.

  6. Lorsque vous êtes invité à confirmer, tapez standby pour confirmer le placement de l’instance spécifiée dans l’état Standby, puis choisissez Régler sur Veille.

  7. Vous pouvez mettre à jour ou dépanner l’instance le cas échéant. Lorsque vous avez terminé, continuez avec l’étape suivante pour remettre l’instance en service.

  8. Sélectionnez l'instance, choisissez Actions, Définir sur InService. Dans la InService boîte de dialogue Définir sur, choisissez Définir sur InService.

AWS CLI

Pour supprimer temporairement une instance de votre groupe Auto Scaling, utilisez les exemples de commandes suivants. Remplacez chacun user input placeholder avec vos propres informations.

Pour supprimer temporairement une instance
  1. Utilisez la describe-auto-scaling-instancescommande suivante pour identifier l'instance à mettre à jour.

    aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg`]'

    L'exemple suivant montre le résultat produit lorsque vous exécutez cette commande.

    Prenez note de l'ID de l'instance que vous souhaitez supprimer du groupe. Vous aurez besoin de cet identifiant à l'étape suivante.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceId": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }
  2. Passez l'instance à l'état Standby avec la commande enter-standby suivante. L'option --should-decrement-desired-capacity réduit la capacité souhaitée afin que le groupe Auto Scaling ne lance pas d'instance de remplacement.

    aws autoscaling enter-standby --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg --should-decrement-desired-capacity

    Voici un exemple de réponse.

    { "Activities": [ { "ActivityId": "3b1839fe-24b0-40d9-80ae-bcd883c2be32", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance to Standby: i-05b4f7d5be44822a6", "Cause": "At 2023-12-15T21:31:26Z instance i-05b4f7d5be44822a6 was moved to standby in response to a user request, shrinking the capacity from 4 to 3.", "StartTime": "2023-12-15T21:31:26.150Z", "StatusCode": "InProgress", "Progress": 50, "Details": "{\"Subnet ID\":\"subnet-c934b782\",\"Availability Zone\":\"us-west-2a\"}" } ] }
  3. (Facultatif) Vérifiez que l'instance est active à Standby l'aide de la describe-auto-scaling-instancescommande suivante.

    aws autoscaling describe-auto-scaling-instances --instance-ids i-05b4f7d5be44822a6

    Voici un exemple de réponse. Notez que l'état de l'instance est désormais Standby.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "Standby" }, ... ] }
  4. Vous pouvez mettre à jour ou dépanner l’instance le cas échéant. Lorsque vous avez terminé, continuez avec l’étape suivante pour remettre l’instance en service.

  5. Remettez l'instance en service avec la commande exit-standby suivante.

    aws autoscaling exit-standby --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg

    Voici un exemple de réponse.

    { "Activities": [ { "ActivityId": "db12b166-cdcc-4c54-8aac-08c5935f8389", "AutoScalingGroupName": "my-asg", "Description": "Moving EC2 instance out of Standby: i-05b4f7d5be44822a6", "Cause": "At 2023-12-15T21:46:14Z instance i-05b4f7d5be44822a6 was moved out of standby in response to a user request, increasing the capacity from 3 to 4.", "StartTime": "2023-12-15T21:46:14.678Z", "StatusCode": "PreInService", "Progress": 30, "Details": "{\"Subnet ID\":\"subnet-c934b782\",\"Availability Zone\":\"us-west-2a\"}" } ] }
  6. (Facultatif) Vérifiez que l'instance est remise en service avec la commande describe-auto-scaling-instances suivante.

    aws autoscaling describe-auto-scaling-instances --instance-ids i-05b4f7d5be44822a6

    Voici un exemple de réponse. Notez que l'état de l'instance est InService.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, ... ] }