はじめに

クラウドインテグレーション事業部の南川です。
今回は、S3のサービスである「S3ライフサイクルポリシー」について紹介させていただきます。
S3のバケットの中を削除する時に「時間がかかった」経験はありませんか?
少しでも作業時間を短縮していただくために記載させていただきます。

S3ライフサイクルポリシーとは

Amazon S3のライフサイクルポリシーは、S3バケット内のオブジェクトのライフサイクル管理を設定するための機能です。
S3バケットに保存されたオブジェクトは、時間の経過や特定のイベントに基づいて、異なるストレージクラスに移行または削除することができます。

やりたいこと

オブジェクトを保存するS3バケットを一括で削除するように、ライフサイクルルールを設定したい。
特定のS3バケットで一定期間を過ぎたオブジェクト(ファイル)を削除します。
そんな、ライフサイクルポリシーを使った手順を紹介させていただきます。
※バケットの中のオブジェクトが残っていることを確認する

手順

1.Amazon S3サービスを開き、左ペインのバケットを選択して対象のバケットを選択する。

2.対象のバケットの【管理】タブを選択して、「ライフサイクルルール作成」を押下する

3.任意のライフサイクルの名前を入力いただき、以下のように選択する

・ルールスコープを選択「バケット内のすべてのオブジェクトに適用」を押下する
・このルールがバケット内のすべてのオブジェクトに適用されることを確認しますを押下する
・ライフサイクルルールのアクションで以下を選択する

オブジェクトの現在のバージョンを失効させる
期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除する

4.オブジェクトの現行バージョンの有効期限が切れるフィールドで「オブジェクト作成後の日数」の箇所を「1」と入力する。期限切れのオブジェクトの削除マーカーまたは不完全なマルチパートアップロードの削除フィールドで、不完全なマルチパートアップロードの削除 を選択します。 次に日数フィールドに 「1」 を入力する。

※削除されるのが最短の日程で設定していますので任意でも大丈夫です

5.ルールの作成を押下する

6.作成された「ライフサイクルルール」を確認する

7.ライフサイクルルールを設定した時間から1日後に対象のバケットを確認してオブジェクトがないことを確認する

まとめ

今回はライフサイクルポリシーを使った、期限の過ぎた「バケット」の削除方法を紹介させていただきました。
大量にバケットが存在する時、是非利用してみてください!

参考

https://repost.aws/ja/knowledge-center/s3-empty-bucket-lifecycle-rule