完全なアクセス許可または root アクセス許可を持っていても、Amazon S3 コンソールまたは AWS CLI を使用して S3 バケットを削除できないのはなぜですか?
最終更新日: 2021 年 1 月 5 日
Amazon S3 コンソールまたは AWS コマンドラインインターフェイス (CLI) を使用して、Amazon Simple Storage Service (S3) バケットを削除しようとしています。私はバケットに対する完全なアクセス許可または root アクセス許可があります。しかし、削除リクエストは失敗し、バケットはまだ利用できます。バケットの削除方法を教えてください。
簡単な説明
バケットに 10 万個以上のオブジェクトが含まれている場合、Amazon S3 コンソールを使用して S3 バケットを削除することができません。バージョニングが有効な場合は、AWS CLI を使用して S3 バケットを削除できません。詳細情報については、バケットを削除または空にするを参照してください。
注: AWS CLI コマンドの実行時にエラーが発生した場合は、 AWS CLI の最新バージョンを使用していることを確認してください。どちらのシナリオでも、S3 バケットを削除するには、最初にバージョニングを停止し (有効な場合)、次にライフサイクルルールを設定し、バケットのオブジェクトを 1 日後に期限切れにします。オブジェクトを削除後、バケットを削除できます。
解決方法
警告: 次の手順によって、S3 バケットのすべてのデータが完全に削除されます。バケットから削除および消去されたデータは復元できません。続行前に、バケット内のすべてのオブジェクトとデータを見直しして、これらが本当に必要ないことを確認してください。
以下のステップに従いバージョニングを停止し、バケット内のオブジェクトを削除するために、ライフサイクルルールを設定してください。
1. Amazon S3 コンソールを開きます。
2. バケットの名前を選択して、削除するバケットを開きます。
3. (オプション) バージョニングが有効になっている場合は、バケットのバージョニングを停止します。
4. [管理] ビューを開きます。
5. [ライフサイクルルール] で、[ライフサイクルルールの作成] を選択します。
6. [ライフサイクルルール名] に、ライフサイクルルールの名前を入力します。
7. バケット全体でルールを実行するには、[このルールは、バケット内のすべてのオブジェクトに適用されます] を選択します。特定のプレフィックスでルールを実行するには、[1 つまたは複数のフィルターを使用してこのルールの範囲を制限する] を選択します。次に、[プレフィックス] にプレフィックス名を入力します。
8. [ライフサイクルルールのアクション] で、次を選択します。
オブジェクトの現在のバージョンを失効させる
以前のバージョンのオブジェクトを完全に削除する
失効した削除マーカーまたは不完全なマルチパートアップロードを削除する。
9. [オブジェクトの現在のバージョンを失効させる] で、[オブジェクト作成後の日数] に「1」と入力します。
10. [以前のバージョンのオブジェクトを完全に削除する] で、[オブジェクトが以前のバージョンになった後の日数] に「1」と入力します。
11. [失効した削除マーカーまたは不完全なマルチパートアップロードを削除する] で、[不完全なマルチパートアップロードを削除] を選択します。次に、「1」と入力して日数を指定します 。
12. [ルールの作成] を選択します。
注:「このルールには (previous_rule_name) と重複するプレフィックスがあります」というエラーメッセージが表示された場合でも、ルールを保存できます。
ライフサイクルルールは、協定世界時 (UTC) の午前 0 時頃に実行されます。ライフサイクルルール実行後、オブジェクトは直ちに削除されませんが、削除対象としてマークされます。オブジェクトが削除対象としてマークされると、そのオブジェクトは課金されなくなります。詳細情報については、オブジェクトの有効期限の設定を参照してください。
バケット内に多数のオブジェクトがある場合、それらのオブジェクトは Amazon S3 コンソールに数日間表示され続けることがあります。この条件は、バージョニングが有効になっている Amazon S3 バケットに特に適用されます。バケットのバージョニングが有効な場合、現在のバージョンのオブジェクトが削除された後に削除マーカーが作成されます。削除マーカーが 1 日以上経過すると、ライフサイクルルールは削除マーカーも消去します。削除マーカーが 1 日経過するまでに、またライフサイクルルールが日数の経過を検出し、これを削除するまでに数日かかることがあります。
(削除マーカーを含む) オブジェクトの完全削除後、バケットを削除できます。