Comment résoudre les problèmes liés à la suppression de mon instantané Amazon EBS ?

Lecture de 7 minute(s)
0

J'essaie de supprimer mon instantané Amazon Elastic Block Store (Amazon EBS), mais je n'y arrive pas. Comment résoudre ce problème ?

Brève description

Les raisons les plus courantes pour lesquelles la suppression des instantanés Amazon EBS échoue sont les suivantes :

  • L'utilisateur ou le rôle AWS Identity and Access Management (IAM) n'est pas autorisé à exécuter l'action d'API DeleteSnapshot.
  • Un autre compte possède l'instantané et le partage avec votre compte AWS.
  • L'instantané du périphérique racine du volume EBS est utilisé par une Amazon Machine Image (AMI) enregistrée.
  • L'instantané se trouve dans la corbeille.
  • L'instantané est créé dans AWS Backup, ou l'instantané créé dans AWS Backup est restauré à partir de la corbeille.
  • L'instantané est créé à l'aide d'Amazon Data Lifecycle Manager et se trouve dans la corbeille ou y est restauré.
  • Les résultats de l'API DeleteSnapshot ne sont pas immédiatement visibles pour les commandes suivantes.

Solution

Remarque : si vous recevez des erreurs lors de l'exécution des commandes de l'interface de la ligne de commande AWS (AWS CLI), assurez-vous d'utiliser la version la plus récente de l'AWS CLI.

L'utilisateur ou le rôle IAM n'est pas autorisé à exécuter l'action d'API DeleteSnapshot

Dans AWS CloudTrail, vous recevez le message d'erreur suivant : «Vous n'êtes pas autorisé à effectuer cette opération. Message d'échec d'autorisation chiffré : Bght_tAZ......»

Pour décoder le message d'échec d'autorisation, exécutez la commande suivante :

$  aws sts decode-authorization-message --encoded-message encoded_message

Remarque : Remplacez encoded_message par le message d'échec d'autorisation codé que vous avez reçu.

Vous pouvez également utiliser le simulateur de politiques IAM pour résoudre les problèmes. Vérifiez la politique associée à l'utilisateur ou au rôle IAM pour voir si elle contient une règle qui refuse l'action ec2:DeleteSnapshot.

Exemple de politique JSON qui refuse l'action ec2:DeleteSnapshot :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Deny",
      "Action": "ec2:DeleteSnapshot",
      "Resource": "*"
    }
  ]
}

Vérifiez également les règles qui rejettent toutes les conditions qui doivent être satisfaites pour que l'opération soit terminée, telles que ec2:SnapshotID. Mettez à jour la politique d'utilisateur ou de rôle IAM pour autoriser la suppression des instantanés.

Pour obtenir la liste des clés de condition associées, consultez la section DeleteSnapshot de la section Actions, ressources et clés de condition pour Amazon EC2.

L'instantané est détenu et partagé par un autre compte AWS

Le message d'erreur suivant s'affiche : «L'instantané 'snap-abcdef1234567890' n'existe pas. »

Vous ne pouvez pas supprimer de votre compte un instantané qu'un autre compte possède et partage avec le vôtre. Si vous avez accès au compte propriétaire de l'instantané, vous pouvez le supprimer. Si ce n'est pas le cas, vous devez contacter le propriétaire de ce compte.

Pour vérifier le propriétaire de l'instantané, exécutez la commande describe-snapshots AWS CLI suivante :

$ aws ec2 describe-snapshots --snapshot-id snap-abcdef1234567890

Remarque : remplacez snap-abcdef1234567890 par l'ID de votre instantané.

Vous pouvez également trouver des informations sur l'instantané dans la console Amazon Elastic Compute Cloud (Amazon EC2). Pour plus d'informations, voir Afficher les informations instantanées d'Amazon EBS.

Si vous êtes propriétaire de l'instantané et que vous souhaitez annuler le partage de l'instantané avec d'autres comptes, procédez comme suit :

  1. Ouvrez la console Amazon EC2.
  2. Dans le panneau de navigation, choisissez Snapshots (Instantanés).
  3. Sélectionnez l'instantané que vous avez partagé, puis choisissez Actions, Modifier les autorisations.
  4. Sous Comptes partagés, sélectionnez l'identifiant du compte à partir duquel vous souhaitez annuler le partage d'instantanés. Choisissez ensuite Supprimer la sélection.
  5. Choisissez Save Changes (Enregistrer les modifications).

L'instantané du périphérique racine du volume Amazon EBS est utilisé par une AMI enregistrée

Le message d'erreur suivant s'affiche : «L'instantané 'snap-abcdef1234567890' est actuellement utilisé par ami-abcdef1234567890. »

Utilisez AWS Management Console ou l'interface de ligne de commande AWS (AWS CLI) pour annuler l’enregistrement de votre AMI. Supprimez ensuite l'instantané.

Vous pouvez trouver l'ID de l'image AMI dans le message d'erreur. Vous pouvez également exécuter la commande describe-snapshots de l'AWS CLI suivante :

$ aws ec2 describe-snapshots --snapshot-ids snap-abcdef1234567890

Vous trouverez l'ID de l'AMI dans la section Description :

{
  "Snapshots": [
    {
      "Description": "Created by CreateImage(i-abcdef1234567890) for ami-abcdef1234567890",
      "Encrypted": false,
      "OwnerId": "111122223333",
      "Progress": "100%",
      "SnapshotId": "snap-abcdef1234567890",
      "StartTime": "2022-11-12T03:15:16.272000+00:00",
      "State": "completed",
      "VolumeId": "vol-abcdef1234567890",
      "VolumeSize": 8,
      "StorageTier": "standard"
    }
  ]
}

L'instantané se trouve dans la corbeille

Le message d'erreur suivant s'affiche : «Une erreur s'est produite (InvalidSnapshot.NotFound) lors de l'appel de l'opération DeleteSnapshot. L'instantané « snap-abcdef1234567890 » n'existe pas. »

Si vous supprimez un instantané à l'aide de l'interface de ligne de commande AWS et que vous recevez le message d'erreur précédent, il se peut que l'instantané se trouve dans la corbeille. Vous ne pouvez pas supprimer un instantané qui se trouve dans la corbeille. L'instantané est supprimé uniquement à l'expiration de la période de conservation.

Pour vérifier si l'instantané se trouve dans la corbeille, exécutez la commande list-snapshots-in recycle-bin de l'AWS CLI :

aws ec2 list-snapshots-in-recycle-bin --snapshot-id snap-abcdef1234567890 --region region

Remarque : remplacez region (région) par votre Région AWS.

Exemple de sortie :

{
  "Snapshots": [
    {
      "SnapshotId": "snap-0460a240fc523552e",
      "RecycleBinEnterTime": "2022-11-13T16:33:54.707000+00:00",
      "RecycleBinExitTime": "2022-11-14T16:33:54.707000+00:00",
      "Description": "",
      "VolumeId": "vol-08d1428974b817a18"
    }
  ]
}

Si vous devez supprimer l'instantané avant l'expiration de la période de conservation, vous pouvez le restaurer à partir de la corbeille. Assurez-vous que votre utilisateur ou rôle IAM dispose des autorisations appropriées pour afficher et récupérer les instantanés qui se trouvent dans la corbeille.

Vérifiez ensuite les règles de rétention de votre région AWS. Pour une règle de rétention au niveau des balises, modifiez les balises de capture d'écran afin qu'elles ne correspondent pas à la règle de rétention. Supprimez ensuite l'instantané. Pour une règle au niveau de la région, supprimez la règle de rétention, puis supprimez l'instantané. La suppression de la règle de conservation n'affecte pas les autres instantanés de la corbeille.

L'instantané est créé dans AWS Backup, ou l'instantané créé dans AWS Backup a été restauré à partir de la corbeille

Le message d'erreur suivant s'affiche : «snap-abcdef1234567890 » Cet instantané est géré par le service AWS Backup et ne peut pas être supprimé via les API EC2. Si vous souhaitez supprimer cet instantané, veuillez le faire via la console de sauvegarde. »

Vous ne pouvez pas utiliser la console Amazon EC2 ou l'interface de ligne de commande AWS pour supprimer un instantané créé et géré dans AWS Backup. Vous devez supprimer l'instantané de la console AWS Backup. Notez l'ID du snapshot, puis suivez les étapes de suppression des sauvegardes.

Toutefois, vous ne pouvez pas utiliser la console AWS Backup pour supprimer un instantané créé dans AWS Backup, envoyé à la corbeille, puis restauré. Vous devez supprimer l'instantané à l'aide de la console Amazon EC2 ou de l'interface de ligne de commande AWS.

L'instantané est créé à l'aide d'Amazon Data Lifecycle Manager et est stocké dans la corbeille

Amazon Data Lifecycle Manager ne gère pas les instantanés dans la corbeille créés à l'aide d'Amazon Data Lifecycle Manager ou des politiques relatives aux instantanés. Vous devez utiliser la console Amazon EC2 ou l'interface de ligne de commande AWS pour supprimer l'instantané.

Les résultats de l'API DeleteSnapshot ne sont pas immédiatement visibles pour les demandes suivantes

Toutes les API Amazon EC2 suivent un modèle de cohérence final. Cela signifie que lorsque vous utilisez l'API DeleteSnapshot, les résultats peuvent ne pas être immédiatement visibles pour les commandes suivantes que vous exécutez.

Pour vérifier l'état d'un instantané récemment supprimé, exécutez la commande describe-snapshots de l'AWS CLI suivante :

$ aws ec2 describe-snapshots --region region --snapshot-ids snap-abcdef1234567890

Si le message d'erreur suivant s'affiche, l'instantané est supprimé avec succès : «Une erreur s'est produite (InvalidSnapshot.NotFound) lors de l'appel de l'opération DescribeSnapshots : Le snapshot 'snap-abcdef1234567890' n'existe pas. »


AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an