web-dev-qa-db-ja.com

空のS3バケットを削除できません

100%空のS3バケットがあります。バケットでバージョン管理が有効になることはありませんでした。ただし、バケットを削除することはできません。コンソールとCLIツールを使用してみました。コンソールでは、エラーメッセージなしで「エラー」と表示されます。 cliとapiから、「DeleteBucket操作を呼び出すときにエラーが発生しました(BucketNotEmpty):削除しようとしたバケットは空ではありません」と表示されます。次のすべてを試しました。

aws s3 rb s3://<bucket_name> --force-> BucketNotEmpty

aws s3 rm s3://<bucket_name> --recursive->出力なし(すでに空であるため)

aws s3api list-object-versions --bucket <bucket_name>->出力なし(バージョニングが有効になっていないため)

aws s3api list-multipart-uploads --bucket <bucket_name>->出力なし

aws s3api list-objects --delimiter=/ --prefix= --bucket <bucket_name>->出力なし(空だから)

  • 依存関係はありません(cloudfrontなど、私が知っている他のものでは使用されません)。
  • バケットは約5日間空です。
  • 同じIAMユーザーを持つ非常に類似した別のバケットを削除できました。さらに、IAMユーザーには管理者アクセス権があります。
26
Tim Martin

私はこの同じ問題に直面していました。バケットに入り、バケットの「バケットポリシー」を削除することで問題を修正できました。その後、バケットの削除は正常に機能しました。

Elastic Beanstalkによって作成されたS3バケット(つまりelasticbeanstalk-us-west-2-861587641234)に対して、AWSコンソールを使用してこれを行いました。作成スクリプトには、人々が誤ってバケットを削除しないようにするポリシーが含まれていると思います。

68
Federico

同様の問題があり、一晩待ってからバケットを削除できました。これは非常に弱いソリューションですが、あなたや他の人が時間を節約できるかもしれません。

コメント内のすべてのアクションを実行してもまだ削除されない場合は、AWSサポートのみが適切に修正できることがいくつかあります。再び弱い回答ですが、AWSサポートにチケットを登録し、他の人への回答としてここにそれらの応答を投稿します。

6
Eric Nord

これは私のために働いていたものです。バケットでバージョン管理を有効にしていませんでした。 s3バケットからオブジェクトを削除すると、そのオブジェクトに「削除マーカー」が付けられ、リストから非表示になります。 「表示」バージョンボタンをクリックすると、削除されたオブジェクトと削除マーカーが表示されます。このオブジェクト(マーカーを削除)を選択して、もう一度削除します。これは永久削除です。これでオブジェクトは本当になくなり、バケットは本当に空になりました。この後、バケットを削除できました。

Versioning = trueは、同じ名前でアップロードした場合にs3がオブジェクトのバージョンを作成することを意味するだけだと思います。

3
Savita

私は同じ問題を抱えていましたが、少し調査した後、バケットを削除する前にバケットポリシーを削除する必要がありました。

enter image description here

2
Dan

同じ問題があり、ポリシーがなかったため、ログインして保存したメールの許可を追加しました。自分に許可を与えた後、バケットを削除することができました。ポリシーのある別のバケットもあったので、ポリシーを削除し、そのバケットも削除できました。

1
Dustin

バケットを削除しようとしても、実際には削除されないことがありますが、権限は失われます。

私の場合、「許可」タブに移動し、自分に許可を再付与し、それを削除することができました

1
Alex

Elastic Beanstalkストレージバケットを削除するには(コンソール)

1. Open the Amazon S3 Management Console
2. Select the Elastic Beanstalk storage bucket.
3. Choose Properties.
4. Choose Permissions.
5. Choose Edit Bucket Policy - Allow to delete and make it public.
6. Save.
7. Choose Actions and then choose Delete Bucket.
8, Type the name of the bucket and then choose Delete.
0
VYN

私はs3バケットをパブリックに許可し、全員にアクセスを許可しました。その後、AWSコンソールからバケットを削除できました。

0
Manjunath

AWSコンソールを使用して、バケットの削除を実行しています。

同じ問題があり、上記のすべての解決策を試してみましたが、うまくいきませんでした。その後、別の方法を見つけました。バケットはElasticBeanによって使用され、バケットを削除するたびにElasticBeanはバケットを自動的に作成しました。次に、ElasticBeanサービスを削除し、バケットを再度削除しようとしましたが、今回は再び動作しませんでした。バケットは空でしたが、削除できませんでした。権限を変更しようとしましたが、バケットはまだそこにありました。

最後に、バケットポリシーを削除し、戻ってバケットを削除しましたが、それは消えていました。問題が解決しました

0
Mohamed

同様の問題に直面しているユーザー向け。 @Federicoソリューションを試してみましたが、まだ成功していません。削除する隣に他のオプション「空」がありました。

だから私は最初にバケットを空にしてから削除しようとしましたが、うまくいきました。

0
karthick