AWS S3 でライフサイクルポリシーを使い、古くなったファイルを自動削除する
AWS の S3 ではライフサイクルポリシー機能を使うことで、古くなったファイルを自動的に削除したり、退避することが可能です。 今回は「作成から 1 日経過したファイルを削除する」ライフサイクルポリシーを設定する方法をメモします。 今回はテスト用に「2 日」としましたが、日付は勿論設定変更可能です。 尚、前提として今回のテスト用 S3 Bucket はバージョニング機能を無効化してあります。
注意点¶
S3 は「ファイルサーバ」では無く、オブジェクトストレージです。 ですので一般的なフォルダ / ファイルの概念とは異なる動作をします。 よくあるのが「フォルダ (に見えるもの) 内部のオブジェクトを全て削除するとフォルダも消えた」という事象ですが、これは S3 の正しい動作です。 その為、ライフサイクルルールを「1 日」にしたり、もしくは「オブジェクトが生成されるよりも早いタイミングでライフサイクルルールを実行する」と、フォルダ内が空になってしまい、フォルダ自体も削除されてしまいます。 ライフサイクルルールを適切に運用するには、この点にも配慮する必要があります。
Step.1¶
AWS の S3 Bucket を選択し、管理 → ライフサイクル → ライフサイクルルールの追加
をクリックします。
Step.2¶
任意のルール名を入力し、次へ
をクリックします。 特定フォルダだけを対象にしたい場合は、フォルダ名 (フィルタ) を追加しておきます。
Step.3¶
ストレージクラスの移行設定を行います。 古くなったファイルを S3 Glacier へ退避する場合はここで設定を行います。 今回は Glacier への退避は行わないので 次へ
をクリックして次へ進みます。
Step.4¶
現行バージョン
と オブジェクトの現行バージョンを失効する
にチェックを入れ、次の後
欄にオブジェクトを失効させる日付を入力します。 今回は「2 日経過したら失効」にしますので 2
を入力しました。 次へ
をクリックして次へ進みます。
Step.5¶
設定の最終確認を行います。 表示された内容に問題無ければ 保存
をクリックして完了します。
Step.6¶
ライフサイクルルールが作成されました。