数百万個のオブジェクトを保存する Amazon Simple Storage Service (Amazon S3) バケットがあります。これ以上ストレージの料金を請求されないように、バケットを空にしたいと考えています。ライフサイクル設定ルールを使用してバケットを空にするにはどうすればよいですか?
簡単な説明
バケットに使用しているバージョニングのタイプに応じて、バケット内のすべてのオブジェクトを削除するには、さまざまなライフサイクル設定ルールが必要です。
バージョニングがオフになっているバケットの場合、オブジェクトの現在のバージョンを期限切れにしてから、不完全なマルチパートアップロードを完全に削除します。
バージョニングがオンになっているバケットとバージョニングが一時停止されたバケットではの場合、次の 2 つのライフサイクルルールを作成する必要があります。
- オブジェクトの現在のバージョンを期限切れにしてから、最新でないバージョンを完全に削除します。
- バケットに存在する単一の削除マーカーを期限切れにしてから、不完全なマルチパートアップロードを完全に削除します。
この場合、[現在のバージョンのオブジェクトを期限切れにする] を選択しても [期限切れオブジェクトの削除マーカーの削除] アクションは完了しないため、個別のルールが必要です。
設定に応じて、この記事の関連する解決方法セクションを参照してください。
注: Amazon S3 は、毎日 1 回ライフサイクルルールを実行します。Amazon S3 が初めてルールを実行すると、有効期限切れに該当するすべてのオブジェクトに削除マーカーが付けられます。削除対象としてマークされたオブジェクトに対する料金は請求されなくなります。ただし、オブジェクトバージョンの期限切れやマーカーの削除は非同期の手順であり、完了するまでに数日かかる場合があります。Amazon S3 でのこの非同期オブジェクトの削除の詳細については、オブジェクトの期限切れを参照してください。
解決方法
バージョニングがオンになっているバケットとバージョニングが一時停止されているバケット
1. Amazon S3 コンソールを開きます。
2. バケットのリストから、空にするバケットを選択します。
3. [Management] (管理) タブを開きます。
4. [Create lifecycle rule] (ライフサイクルルールを作成する) を選択します。
5. [Lifecycle rule name] (ライフサイクルルール名) に、ルール名を入力します。
6. [ルールスコープを選択] で、[バケット内のすべてのオブジェクトに適用] を選択します。
7. [I acknowledge that this rule will apply to all objects in the bucket] (このルールがバケット内のすべてのオブジェクトに適用されることを確認します) を選択します。
8. [ライフサイクルルールのアクション] で、以下を選択してライフサイクルルールを作成します。
オブジェクトの現在のバージョンを失効させる
オブジェクトの非現行バージョンを完全に削除する
9. [Expire current versions of objects] (オブジェクトの現在のバージョンを失効させる) フィールドで、[Days after object creation] (オブジェクト作成後の日数) フィールドに「1」と入力します。
10. [オブジェクトの非現行バージョンを完全に削除] フィールドで、[オブジェクトが非現行バージョンになってからの日数] フィールドに「1」を入力します。
11. すべてのバージョンを削除するには、[保持する新しいバージョンの数] フィールドを空白のままにします。
13. [Create rule] (ルールの作成) を選択します。
14. ステップ 4~7 を繰り返して、2 番目のライフサイクルルールを作成します。
15. [ライフサイクルルール アクション] で、[期限切れのオブジェクトの削除] マーカーまたは不完全なマルチパートアップロードの削除を選択します。
16. [Delete expired object delete markers] (期限切れのオブジェクト削除マーカーを削除する) を選択します。
17. [不完全なマルチパートアップロードを削除] を選択します。次に、[日数] フィールドに [1] を入力します。
17. [ルールの作成] を選択します。
バージョニングがオフになっているバケット
1. Amazon S3 コンソールを開きます。
2. バケットのリストから、空にするバケットを選択します。
3. [Management] (管理) タブを開きます。
4. [Create lifecycle rule] (ライフサイクルルールを作成する) を選択します。
5. [Lifecycle rule name] (ライフサイクルルール名) に、ルール名を入力します。
6. [ルールスコープを選択] で、[バケット内のすべてのオブジェクトに適用] を選択します。
7. [このルールがバケット内のすべてのオブジェクトに適用されることに同意します] を選択します。
8. [ライフサイクルルールのアクション] で、以下を選択してライフサイクルルールを作成します。
オブジェクトの現在のバージョンを失効させる
期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除する
9. [Expire current versions of objects] (オブジェクトの現在のバージョンを失効させる) フィールドで、[Days after object creation] (オブジェクト作成後の日数) フィールドに「1」と入力します。
10. [期限切れのオブジェクトの削除マーカーまたは不完全なマルチパートアップロードの削除] フィールドで、[不完全なマルチパートアップロードの削除] を選択します。 次に**、** [日数] フィールドに [1] を入力します。
11. [ルールの作成] を選択します。
関連情報
失効したオブジェクト削除マーカーの削除
ストレージのライフサイクルを管理する
Amazon S3 のオブジェクトとバケットを削除するにはどうすればよいですか?
バケットの削除