メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

S3のオブジェクトのライフサイクル設定のメモ

自分が使用しているS3バケット内には、毎分2〜10個ものログファイルが追加で貯まっている。
この貯まったログファイルを自動で削除したいが、その為の機能が有るだろうかとネット上で調べたところ、すぐにライフサイクルポリシーがヒットした。
今回はS3のライフサイクルポリシーを設定する事で自動での過去ログ削除を試みた。


・条件
バケットに蓄積されたログファイル logsxxxxxxx(xxxxxxxxは生成された年月日-時分秒の数値)を削除。
生成後14日経ったログファイルが削除対象。

・当方の環境は以下のとおり。
EC2インスタンス: 1台。t2.micro (amzn2-ami-hvm-2.0.20180622.1-x86_64-gp2)
S3バケット: 1台。
リージョン: ap-northeast-1a


1.Amazon S3の画面にて対象のバケットに入り、「管理」タブを開く

2.「管理」画面内の「ライフサイクルルールの追加」をクリック。

3.「ライフサイクルルール」ウインドウ内の「①名前とスコープ」欄内「ルール名を入力する」にて、任意の文字列を入力。
自分の場合はdelete_old_log とした。
続いて「フィルターを追加してプレフィックス/タグのみを対象にする」欄にて、バケット内のlogs******ファイルを削除対象とする為にlogsを入力。「次へ」をクリック。

4.「②以降」欄内の「移行設定」にはチェックを入れず、「次へ」をクリック。

5.「③有効期限」欄内の「設定の失効」は以下のとおり。
「現行バージョン」にチェックを入れる。
「以前のバージョン」にもチェックを入れない。ログファイルはS3に放り込まれた後はそのまま放置につき、現行バージョンのログしか無い為。
「オブジェクトの現行バージョンを失効する」にチェックを入れる。
「次の後: 日間オブジェクト作成からの日数」。生成後何日経過したらオブジェクトを削除したいか日数を入力。
自分の場合は生成後7日経過したオブジェクトを削除したい為、14と入力した。
「次へ」をクリック。

6.「④確認」欄内にて設定内容を確認し「保存」をクリック。