Passer au contenu

Pourquoi ne puis-je pas résilier mon instance EC2 ?

Lecture de 4 minute(s)
0

Je souhaite résilier mon instance Amazon Elastic Compute Cloud (Amazon EC2).

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Il est possible que vous ne puissiez pas résilier votre instance Amazon EC2 pour les raisons suivantes.

La protection contre l’arrêt est activée pour l'instance

Vous ne pouvez pas résilier une instance EC2 si la protection contre l’arrêt est activée. Pour vérifier si la protection contre l’arrêt est activée et pour la désactiver, vous pouvez utiliser l'interface de ligne de commande AWS ou la console Amazon EC2.

Utiliser l’interface de ligne de commande AWS

Pour vérifier si la protection contre l’arrêt est activée sur une instance EC2, exécutez la commande describe-instance-attribute suivante :

aws ec2 describe-instance-attribute --instance-id i-1234567890 --attribute disableApiStop

Si la sortie renvoie vrai, la protection contre l'arrêt est activée pour l'instance.

Pour désactiver la protection contre l'arrêt afin de pouvoir résilier l'instance, exécutez la commande modify-instance-attribute suivante :

aws ec2 modify-instance-attribute --instance-id i-1234567890 --no-disable-api-stop

Utiliser la console Amazon EC2

Pour vérifier le statut de la protection contre l’arrêt depuis la console Amazon EC2, procédez comme suit :

  1. Ouvrez la console Amazon EC2.
  2. Sélectionnez Actions.
  3. Sélectionnez Paramètres de l’instance.
  4. Sélectionnez Modifier la protection contre l'arrêt.

Si Activer est sélectionné, désactivez la case à cocher pour désactiver la protection contre l’arrêt.

La protection contre la résiliation est activée pour l'instance

Vous ne pouvez pas résilier une instance EC2 si la protection contre la résiliation est activée. Pour vérifier si la protection contre la résiliation est activée et pour la désactiver, vous pouvez utiliser l'interface de ligne de commande AWS ou la console Amazon EC2.

Utiliser l’interface de ligne de commande AWS

Pour vérifier si la protection contre la résiliation est activée sur une instance EC2, exécutez la commande describe-instance-attribute suivante :

aws ec2 describe-instance-attribute --instance-id i-1234567890 --attribute disableApiTermination

Si la sortie renvoie vrai, la protection contre la résiliation est activée pour l'instance.

Pour désactiver la protection contre la résiliation afin de pouvoir résilier l'instance, exécutez la commande modify-instance-attribute :

aws ec2 modify-instance-attribute --instance-id i-1234567890 --no-disable-api-termination

Utiliser la console Amazon EC2

Pour vérifier l'état de la protection contre la résiliation à partir de la console Amazon EC2, procédez comme suit :

  1. Ouvrez la console Amazon EC2.
  2. Sélectionnez Actions.
  3. Sélectionnez Paramètres de l’instance.
  4. Sélectionnez Modifier la protection contre la résiliation.

Si la protection contre la résiliation est activée, sélectionner Oui, désactiver, puis cliquez sur Enregistrer pour désactiver la protection contre la résiliation.

La stratégie IAM attachée à votre entité IAM n'inclut pas l'autorisation de résilier l'instance

Pour résilier une instance, la stratégie IAM de votre entité AWS Identity and Access Management (IAM) doit autoriser de façon explicite l'action d’API TerminateInstances.

Exemple de stratégie :

{  
    "Version": "2012-10-17",  
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Action": "ec2:TerminateInstances",  
            "Resource": [  
                "arn:aws:ec2:us-west-2:123456789012:instance/i-0abcd1234efgh5678",  
                "arn:aws:ec2:us-west-2:123456789012:instance/i-1wxyz9876lmno4321"  
            ]  
        }  
    ]  
}

Si la stratégie gérée par AWS AmazonEC2FullAccess ou AdministratorAccess est attachée à votre entité IAM, celle-ci est autorisée à effectuer l'action TerminateInstances. Si AmazonEC2FullAccess ou AdministratorAccess n'est pas attaché à votre entité IAM, vous devez modifier votre stratégie gérée par le client pour autoriser l'action TerminateInstances. Vous pouvez également créer une stratégie gérée par le client qui autorise l'action TerminateInstances.

L'instance fait partie d'un groupe Auto Scaling

Lorsque vous résiliez une instance EC2 faisant partie d'un groupe Auto Scaling, celui-ci peut lancer une instance de remplacement. L'instance de remplacement permet au groupe Auto Scaling de maintenir le nombre d'instances attendu. Pour résilier l'instance et ajuster la taille du groupe Auto Scaling, exécutez la commande terminate-instance-in-auto-scaling-group de l’interface de ligne de commande AWS.

Informations connexes

Résilier des instances Amazon EC2

AWS OFFICIELA mis à jour il y a un an