バージョニングを有効にしたけどうっかりライフサイクルポリシーを設定し忘れてどんどん過去バージョンのファイルが溜まっていって
気づいたら容量がとんでもないことになっていることってありますよね(ない)。
時すでに遅いがとりあえず過去バージョンのファイルを削除せねば、でもファイルをちまちま削除するのは面倒だし。。。
もしかしてライフサイクルポリシーを設定すれば一気に削除できるもんなのだろうか?
というわけで検証してみました。

結論:できる

ライフサイクルポリシーが有効になった時点以降のファイルしかポリシーが適用されないのではないのかしらん?とか思っていたのですが、そんなことはありませんでした。ちゃんとバケット内のファイル全て(プレフィックスを設定していれば対象のファイル)に適用されます。
結論としては、設定した日数を経過しているファイルはすべてポリシー通りに削除されます。

設定手順

S3コンソールにアクセスし、バケットの管理からライフサイクルルールの追加を選択します。
ストレージクラスの移行はしないのでそこは設定しませんでした。
次に失効の設定ですが、ここらへんは各々の要件にしたがって入力してください。
自分の場合は現行のファイルも過去バージョンのファイルもある程度日数が経過したら削除したいので、現行のバージョン以前のバージョンにチェックを入れました。
001.png

設定後の話

すぐにファイルが削除されるのかなと思ったのですが、S3コンソールを確認すると特に変化は見られませんでした。ライフサイクル設定の要素によると、オブジェクトが作成された日時を翌日の00:00UTC(日本時間9:00)に丸めてアクションを実行するようです。
でもバージョニングされたファイルの場合はすぐにアクションが実行されそうですが、結果整合性の関係もありすぐに削除されなさそうです。翌日に再度確認してみるとファイルが削除されてました。

なお数百万ファイルで200GBくらいの規模のバケット×2にライフサイクルの設定を行ったところ、一方のバケットは翌日にファイルが削除されていたのですが、もう一方のバケットは翌日になってもファイルが削除されていませんでした。
バケットポリシーで何か引っかかってるのかなとか見返してみたのですが、特に変なところもないので何でだろーと思っていたところ次の日には消えていたので、たぶんS3の結果整合性の関係で反映に時間がかかったのだと思います。

ご応募はこちら

正社員の募集~首都圏にお住まいの方

中途採用Ⅰ(首都圏に在住の方)

正社員の募集~地方にお住まいの方

中途採用Ⅱ(地方に在住の方)

応募前に会社のことをもっと知りたい方へ

カジュアル面談

働きながら、まずは会社のことを知りたい方
(高校生から社会人経験者の方まで)

インターン

フリーランス・個人事業主の募集

フリーランス

募集内容や応募に関するご質問はこちらへ

お問い合わせ

おすすめ情報

AWS技術支援

AWS技術支援サービス

AIRz

AWSコストマネジメントサービス「AIRz」

会社情報

会社情報