Pourquoi ne puis-je pas supprimer mon compartiment Amazon S3 ?

Lecture de 5 minute(s)
0

Je souhaite savoir pourquoi je n'arrive pas à supprimer mon compartiment Amazon Simple Storage Service (Amazon S3) et résoudre ce problème.

Résolution

Prérequis

Avant de supprimer un compartiment Amazon S3, effectuez les actions suivantes :

  • Pour les compartiments que vous hébergez sous forme de site Web statique, vérifiez et mettez à jour les paramètres de zone hébergée d'Amazon Route 53 qui se rapportent au compartiment.
  • Si le compartiment reçoit des données de journal d'Elastic Load Balancing (ELB), arrêtez la distribution des journaux au compartiment avant de le supprimer.

Remarque : Si vous supprimez le nom d'un compartiment, il devient accessible à tous les utilisateurs. Si un autre compte AWS utilise le nom du compartiment, vous ne pouvez pas le réutiliser. Il est recommandé de ne pas supprimer le compartiment. À la place, videz-le.

Le compartiment Amazon S3 n'est pas vide

Pour supprimer un compartiment Amazon S3, celui-ci doit être vide. Utilisez la console Amazon S3, l'interface de ligne de commande AWS (AWS CLI) ou le SDK pour vider manuellement le compartiment. Si le compartiment est volumineux et que vous avez configuré la gestion des versions, la suppression manuelle de l'objet prend beaucoup de temps. Dans ces cas, utilisez la configuration Amazon S3 Lifecycle pour vider les compartiments.

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

Pour les compartiments que vous avez configurés avec la gestion des versions ou dont l'état est Suspendu, incluez les règles suivantes dans la configuration de votre cycle de vie :

  • Règle 1 : Toutes les versions actuelles des objets expirent X jours après leur création. Supprimez définitivement toutes les versions non actuelles des objets Y jours lorsqu’elles sont devenues obsolètes.
  • Règle 2 : Tous les marqueurs de suppression uniques et les téléchargements partitionnés incomplets expirent après Z jours.

Pour les compartiments que vous n'avez pas configurés avec la gestion des versions, incluez les règles suivantes dans la configuration de votre cycle de vie :

  • Règle 1 : Toutes les versions actuelles des objets expirent X jours après leur création.
  • Règle 2 : Tous les téléchargements partitionnés incomplets expirent après Z jours.

Remarque : Pour supprimer rapidement le compartiment, définissez X, Y et Z sur 1 jour.

Les règles de cycle de vie d'Amazon S3 s'exécutent une fois par jour. Une fois les règles du cycle de vie exécutées, tous les objets éligibles à l'expiration sont marqués pour suppression. Les actions de la politique de cycle de vie étant asynchrones, il faut plusieurs jours pour que les objets soient physiquement supprimés du compartiment. Une fois qu'un objet est marqué pour suppression, l'espace de stockage associé à cet objet ne vous est plus facturé.

Utiliser l’interface de ligne de commande AWS

Exécutez la commande suivante pour supprimer définitivement des objets d'un compartiment Amazon S3 que vous n’avez pas configuré avec la gestion des versions :

aws s3 rm s3://bucket-name --recursive

Exécutez la commande suivante pour supprimer définitivement tous les objets d'un compartiment Amazon S3 qui est suspendu ou que vous avez configuré avec la gestion des versions :

aws s3api delete-objects --bucket bucket-name --delete "$(aws s3api list-object-versions --bucket bucket-name --output=json --query='{Objects: Versions[].{Key:Key,VersionId:VersionId}}')"

Remarque : Remplacez bucket-name par le nom de votre compartiment Amazon S3.

Utiliser la console Amazon S3

Procédez comme suit :

  1. Ouvrez la console Amazon S3.
  2. Dans le volet de navigation, sélectionnez le compartiment que vous souhaitez vider, puis choisissez Vide.
  3. Sur la page Compartiment vide, saisissez supprimer définitivement dans le champ de texte pour supprimer tous les objets du compartiment, puis choisissez Vide.
  4. (Facultatif) Examinez la page Compartiment vide : Statut pour afficher la progression.

Remarque : Si les versions d'objet d'un compartiment Amazon S3 sont verrouillées en mode gouvernance, l'identité AWS Identity and Access Management (IAM) requiert l’autorisation s3:BypassGovernanceRetention. Pour contourner le mode gouvernance, vous devez inclure l'en-tête x-amz-bypass-governance-retention:true dans votre requête. Pour les requêtes effectuées dans la console de gestion AWS, la console applique automatiquement l'en-tête aux requêtes disposant des autorisations requises pour contourner le mode de gouvernance.

Pendant la période de conservation, une identité IAM ne peut pas supprimer les versions d'objet protégées en mode conformité, y compris l'](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)utilisateur racine du compte AWS[. Après la période de conservation, supprimez les objets qui sont protégés conformément à la réglementation. Une fois le compartiment vide, supprimez le compartiment Amazon S3.

Les points d'accès sont associés au compartiment

Avant de supprimer le compartiment Amazon S3, supprimez tous les points d'accès associés au compartiment. Vous ne pouvez pas supprimer des compartiments auxquels sont rattachés des points d'accès S3 ou des points d'accès multirégionaux au sein du même compte.

L'identité IAM ne dispose pas d'autorisations suffisantes

Dans la politique IAM pour l'identité IAM que vous utilisez pour supprimer le compartiment, accordez les autorisations DeleteBucket. Vous pouvez également inclure l'action d’API delete-bucket dans la politique de compartiment.

Instruction DENY explicite empêchant la suppression

Une instruction DENY explicite est prioritaire par rapport à une instruction ALLOW explicite. Vérifiez que les politiques IAM en matière d'identité, de compartiment et de cloud privé virtuel (VPC) ne contiennent pas d'instructions DENY explicites.

Lorsqu'AWS Elastic Beanstalk crée un compartiment, les politiques contiennent des instructions DENY explicites par défaut. Avant de supprimer le compartiment Amazon S3, supprimez l'instruction DENY explicite ou la politique du compartiment.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois