Pourquoi une instance EC2 que j'ai résiliée a-t-elle été automatiquement redémarrée ?

Date de la dernière mise à jour : 12/01/2022

J'ai résilié une instance Amazon Elastic Compute Cloud (Amazon EC2). Ensuite, une autre instance du même type s'est lancée automatiquement sur mon compte. Comment cela se fait-il et que faire pour empêcher le lancement de nouvelles instances ?

Brève description

Certains services vous permettent de lancer automatiquement des instances pour remplacer les instances résiliées. Cela permet d'augmenter la tolérance aux pannes d'une application.

Par exemple :

  • Vous pouvez configurer vos groupes Amazon EC2 Auto Scaling pour lancer une instance qui remplace une instance en cours de maintenance.
  • Les environnements AWS Elastic Beanstalk incluent généralement des groupes Auto Scaling par défaut.
  • Vous pouvez configurer EC2 Fleet avec le type de demande Maintenir. Dans ce scénario, EC2 Fleet envoie une demande asynchrone pour votre capacité souhaitée, et maintient la capacité en réapprovisionnant automatiquement toutes les instances Spot interrompues.
  • Vous pouvez configurer le type de demande de parc d'instances Spot sur Maintenir. Dans ce scénario, le parc d'instances Spot envoie une demande asynchrone pour la capacité souhaitée, et maintient la capacité en réapprovisionnant automatiquement toutes les instances Spot interrompues.

Pour empêcher les services de lancer des instances de remplacement, procédez comme suit :

Résolution

Remarque : Les actions suivantes suppriment définitivement les ressources AWS sélectionnées. Créez une sauvegarde de votre instance EC2 avant de procéder à cette résolution. La sauvegarde vous permet de revenir à votre état de travail précédent, si nécessaire.

Supprimer le groupe Auto Scaling

1.    Notez l'ID d'instance de l'instance qui a été redémarrée.

2.    Vérifiez quel groupe Auto Scaling est à l'origine du redémarrage :
Ouvrez la console Amazon EC2. Les ressources Amazon EC2 sont spécifiques à la région. Assurez-vous que vous êtes dans la bonne région. Si ce n'est pas le cas, choisissez la région appropriée dans la barre de navigation située en haut de l'écran.
Sélectionnez Auto Scaling groups (Groupes Auto Scaling) dans le volet de navigation de gauche et ouvrez-le dans une nouvelle fenêtre.
Choisissez le groupe Auto Scaling, puis sélectionnez l'onglet Activity History (Historique des activités).
Vérifiez l'ID d'instance de l'instance redémarrée.
Remarque : si l'ID d'instance ne correspond pas, ou si vous ne disposez d'aucun groupe Auto Scaling dans cette région, passez à la section Résilier l'environnement Elastic Beanstalk suivante.

3.    Choisissez Actions, Delete (Supprimer).

4.    Sélectionnez Yes, delete (Oui, supprimer).

5.    Sélectionnez Instances dans le panneau de navigation de gauche. L'instance est résiliée et une nouvelle instance ne se lance pas.

Résilier l'environnement Elastic Beanstalk

1.    Ouvrez la console AWS Elastic Beanstalk. Les ressources Amazon EC2 sont spécifiques à la région. Assurez-vous que vous êtes dans la région appropriée, sinon choisissez la région qui convient dans la barre de navigation située en haut de l'écran.

2.    Sélectionnez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

3.    Vérifiez que le nom de l'instance EC2 relancée est identique à l'environnement Elastic Beanstalk.

Remarque : si l'ID d'instance ne correspond pas, passez à la section Supprimer EC2 Fleet suivante.

4.    Choisissez Environment actions (Actions de l'environnement), puis Terminate environment (Résilier l'environnement).

5.    Confirmez la résiliation de l'environnement. Elastic Beanstalk peut prendre quelques minutes pour résilier les ressources AWS exécutées dans l'environnement.

Supprimer EC2 Fleet

EC2 Fleet est disponible uniquement via l'API ou AWS CLI. Nous allons utiliser AWS CLI pour supprimer la flotte.

1.    Assurez-vous qu'AWS CLI est installée et configurée sur votre ordinateur.

2.    Avant de continuer, assurez-vous que vous vous trouvez dans la bonne région, sinon définissez la région appropriée en exécutant la commande suivante :

aws configure

3.    Vérifiez si vous avez des parcs EC2 Fleet existants en exécutant la commande suivante :

aws ec2 describe-fleets

4.    Pour vérifier l'ID d'instance EC2 à relancer, exécutez la commande suivante pour vérifier les informations relatives à des parcs EC2 Fleet spécifiques. Dans la commande suivante, remplacez fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE par votre ID EC2 Fleet.

aws ec2 describe-fleet-instances --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

Remarque : si l'ID d'instance ne correspond pas, passez à la section Annuler le parc d'instances Spot suivante.

5.    Exécutez la commande suivante pour supprimer EC2 Fleet et résilier les instances en cours d'exécution dans le cadre de Fleet. Dans la commande suivante, remplacez fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE par l'ID de votre EC2 Fleet.

aws ec2 delete-fleets --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --terminate-instance

Annuler le parc d'instances Spot

1.    Ouvrez la console Amazon EC2. Les ressources Amazon EC2 sont spécifiques à la région. Assurez-vous que vous êtes dans la région appropriée, sinon choisissez la région qui convient dans la barre de navigation située en haut de l'écran.

2.    Sélectionnez Spot Requests (Demandes Spot).

3.    Confirmez quelle demande de parc d'instances Spot est à l'origine du redémarrage. Sélectionnez votre demande de parc d'instances Spot. Pour voir les détails de configuration, sélectionnez Description.

4.    Pour vérifier les instances Spot du parc d'instances Spot, sélectionnez Instances.

5.    Choisissez votre demande de parc d'instances Spot.

6.    Sélectionnez Actions, Cancel Spot request (Annuler une demande Spot).

7.    Dans Cancel spot request (Annuler une demande d'instance Spot), vérifiez que vous souhaitez annuler le parc d'instances Spot. Assurez-vous que l'option Terminate instances (Résilier les instances) est sélectionnée si vous souhaitez résilier les instances actuelles et les instances relancées par ce parc d'instances Spot. Lorsque vous êtes prêt, choisissez Confirm (Confirmer).

OU

Vous pouvez utiliser la commande cancel-spot-fleet-requests suivante pour annuler la demande de parc d'instances Spot spécifiée et résilier les instances. Dans la commande suivante, remplacez sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE par l'ID de votre parc d'instances Spot.

aws ec2 cancel-spot-fleet-requests --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \--terminate-instances

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?