完全なアクセス許可または 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 日経過するまでに、またライフサイクルルールが日数の経過を検出し、これを削除するまでに数日かかることがあります。

(削除マーカーを含む) オブジェクトの完全削除後、バケットを削除できます。