Amazon Simple Storage Service (Amazon S3) バケットに何百万ものオブジェクトが格納されています。ストレージ料金が請求されないよう、ライフスタイル設定ルールを使用してバケットを空にしたいと考えています。
解決策
重要: 次の解決策では、Amazon S3 バケット内のすべてのデータが完全に削除されます。データの復元はできません。削除する前にバケット内のすべてのオブジェクトとデータを確認してください。
オブジェクトの現行バージョンを期限切れにし、オブジェクトの以前のバージョンを完全に削除するライフサイクル設定ルールを作成するには、以下の手順を実行します。
- Amazon S3 コンソールを開きます。
- バケットの一覧から、空にするバケットを選択します。
- [管理] タブを選択します。
- [ライフサイクルルールの作成] を選択します。
- [ライフサイクルルール名] にルールの名前を入力します。
- [ルールの範囲を選択] で、[バケット内のすべてのオブジェクトに適用] を選択します。
- [このルールがバケット内のすべてのオブジェクトに適用されることに同意する] を選択します。
- [ライフサイクルルールのアクション] で、次のオプションを選択します。
オブジェクトの現行バージョンを期限切れにする
オブジェクトの非現行バージョンを完全に削除する
期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除する
- [オブジェクトの現在のバージョンを期限切れにする] フィールドの、[オブジェクト作成後の日数] フィールドに 1 と入力します。
- [オブジェクトの非現行バージョンを完全に削除する] フィールドの [オブジェクトが最新バージョンでなくなってからの日数] フィールドに 1 と入力します。
- すべてのバージョンを削除するには、[保持する新しいバージョンの数 (オプション)] フィールドを空白のままにしてください。
- [不完全なマルチパートアップロードを削除] を選択し、 [日数] フィールドに 1 と入力します。
- [ルールの作成] を選択します。
- 2 つ目のライフサイクルルールを作成するには、ステップ 4 ~ 7 を繰り返します。
- 次のオプションを選択します。 期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除する。
- [期限切れのオブジェクト削除マーカーを削除する] を選択します。
- [ルールの作成] を選択します。
Amazon S3 はライフサイクルルールを毎日 1 回実行します。Amazon S3 が初めてルールを実行した後で、有効期限の対象となるすべてのオブジェクトに削除マークが付けられます。これで、削除対象としてマークされたオブジェクトの料金は請求されなくなります。
Amazon S3 はオブジェクトバージョンを非同期的に期限切れにし、削除マーカーを削除します。バケットが空になるまでに、ルールの実行に数日かかる場合があります。Amazon S3 でのこの非同期オブジェクト削除の詳細については、「オブジェクトの有効期限」を参照してください。
AWS コマンドラインインターフェイス (AWS CLI) を使用して S3 バケットを空にするライフサイクルルールを作成することもできます。
JSON の例:
{
"Rules": [{
"Expiration": {
"Days": 1
},
"ID": "FullDelete",
"Filter": {
"Prefix": ""
},
"Status": "Enabled",
"NoncurrentVersionExpiration": {
"NoncurrentDays": 1
},
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": 1
}
},
{
"Expiration": {
"ExpiredObjectDeleteMarker": true
},
"ID": "DeleteMarkers",
"Filter": {
"Prefix": ""
},
"Status": "Enabled"
}
]
}
関連情報
期限切れオブジェクト削除マーカーを削除する
ストレージのライフサイクルの管理
Amazon S3 オブジェクトとバケットを削除するにはどうすればよいですか?
バケットの削除
バケットにライフサイクル設定の指定