J' ai une instance Amazon Elastic Compute Cloud (Amazon EC2) résiliée. Toutefois, l'instance s’affiche comme étant saine (Healthy) et en veille (InStandby) dans la console Amazon EC2. Comment supprimer cette instance résiliée à partir de mon groupe Amazon EC2 Auto Scaling (EC2 Auto Scaling)?
Brève description
EC2 Auto Scaling n'exécute pas de vérifications de l'état pour les instances en veille. EC2 Auto Scaling n'est pas conscient des résiliations d'instance pour les instances en veille.
Vous pouvez supprimer les instances résiliées de votre groupe EC2 Auto Scaling toujours répertoriées comme étant saines et en veille à l'aide de l'une des méthodes suivantes :
- Résiliez l'instance à l'aide de l'interface de ligne de commande AWS.
- Détachez l'instance de votre groupe EC2 Auto Scaling, ce qui la supprime de la console EC2 Auto Scaling.
- Sortez l'instance du mode veille, pour permettre à Auto Scaling de découvrir la résiliation de l'instance à l'aide des vérifications de l’état.
Remarque : Si vous recevez des erreurs lors de l'exécution des commandes depuis AWS CLI, assurez-vous que vous utilisez la version AWS CLI la plus récente.
Résolution
Supprimez l’instance résiliée du groupe EC2 Auto Scaling à l'aide de la méthode appropriée à votre cas d'utilisation.
Résilier l'instance
Résiliez votre instance à l'aide de la commande suivante. Assurez-vous de remplacer YOUR-INSTANCE-ID par l’ID de ressource de votre instance.
aws autoscaling terminate-instance-in-auto-scaling-group --instance-id YOUR-INSTANCE-ID --no-should-decrement-desired-capacity
Important : si vous avez configuré le hook de cycle de vie EC2_INSTANCE_TERMINATING pour votre groupe EC2 Auto Scaling, utilisez CompleteLifecycleAction pour supprimer l'instance du groupe immédiatement.
Détacher l’instance
Détachez votre instance du groupe EC2 Auto Scaling à l'aide de la commande suivante. Assurez-vous de remplacer YOUR-INSTANCE-ID par l’ID de ressource de votre instance et YOUR_ASG_NAME par le nom de votre groupe EC2 Auto Scaling.
aws autoscaling detach-instances --instance-ids YOUR-INSTANCE-ID --no-should-decrement-desired-capacity --auto-scaling-group-name YOUR-ASG-NAME
Sortez l'instance du mode veille
1. Modifiez la taille maximale de votre groupe EC2 Auto Scaling à l'aide de l'interface de ligne de commande AWS ou de la console Amazon EC2. Lorsque vous remettez l'instance en service, la capacité souhaitée est incrémentée par 1 et ne doit pas dépasser la valeur de la taille maximale pour le groupe. Vous devez définir la taille maximale sur la valeur actuelle + le nombre d'instances remises en service (1), sinon vous pourriez recevoir un message d’erreur similaire à :
An error occurred (ValidationError) when calling the ExitStandby operation: AutoScalingGroup YOUR-ASG-NAME has min-size=1, max-size=1, and desired-size=1. To place in service 1 instance, please update the AutoScalingGroup sizes appropriately.
Remarque : une instance de remplacement est lancée pour correspondre à la capacité souhaitée une fois votre instance prévue résiliée.
2. Sortez votre instance du mode veille à l'aide de la commande suivante. Assurez-vous de remplacer YOUR-INSTANCE-ID par l’ID de ressource de votre instance et YOUR_ASG_NAME par le nom de votre groupe EC2 Auto Scaling.
aws autoscaling exit-standby --instance-ids YOUR-INSTANCE-ID --auto-scaling-group-name YOUR-ASG-NAME
Informations connexes
Suppression temporaire des instances de votre groupe Auto Scaling