[アップデート]S3ライフサイクルルールにオブジェクトのバージョン数を追加できるようになりました

S3ライフサイクルルールでオブジェクトのバージョン数に応じて、詳細なコントロールが可能になりました!
2021.11.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!コンサル部のinomaso(@inomasosan)です。

11/29からAWS re:Inventが開始されるためか、最近AWSのアップデートが沢山きますね。

今回はS3ライフサイクルルールにオブジェクトのバージョン数を追加できるようになったので、内容を紹介していきます。

概要

2021/11/23に、S3ライフサイクルルールにオブジェクトのバージョン数の指定が可能となりました。

いままでは日数のみ指定できましたが、今回のアップデートにより日数が経過した特定バージョン数以外を他のストレージクラス(Glacier等)へ移動や、完全削除できるようになります。

何が嬉しいの?

バージョニングで大きなメディアファイル等を使用している場合にストレージコストを節約できたり、非現行バージョンの世代管理が可能となりました。

全リージョンで使用可能?

今回のアップデートは、AWS GovCloud(US)リージョンを含むすべてのAWSリージョンで利用できます。

ライフサイクルルールはバージョン数の指定だけでも可能?

日数の指定は必須です。
バージョン数の指定はオプションなので、従来通り指定しなくても問題ありません。

やってみた

以下要件のS3ライフサイクルルールを設定してみます。

  • オブジェクトのバージョニングを有効化する
  • バージョニングから7日以上が経過した、非現行バージョンをGlacierに移動する
  • バージョニングから30日以上が経過した、最新の3個の非現行バージョン以外を削除する

1.S3バケット作成し、バージョニングを有効化

S3バケット作成時にバージョニングを有効化します。

2.ライフサイクルルール作成

新規作成したS3バケットの名前を選択し、管理ライフサイクルルールを作成するをクリックします。

ライフサイクルルールの設定

任意のライフサイクルルール名を入力しバケット内のすべてのオブジェクトに適用を選択します。
またこのルールがバケット内のすべてのオブジェクトに適用されることを了承します。にチェックを入れます。

ライフサイクルルールのアクション

オブジェクトの非現行バージョンをストレージクラス間で移動オブジェクトの非現行バージョンを完全に削除をチェックします。

現行バージョンではないオブジェクトをストレージクラス間で移行する

ストレージクラスの移行を選択Glacierを選択し、オブジェクトが現行バージョンでなくなってからの日数7を入力します。
また私は、このライフサイクルルールで小さなオブジェクトを移行する際、オブジェクトごとに 1 回限りのライフサイクルリクエストコストが発生することを認識しています。にチェックを入れます。

オブジェクトの非現行バージョンを完全に削除

オブジェクトが現行バージョンでなくなってからの日数30を入力し、保持する新しいバージョンの数3を入力します。

移行と有効期限切れのアクションを確認

ライフサイクルルールが意図した通りになっているかを確認しルールの作成をクリックします。

まとめ

バージョニングのライフサイクルルールに非現行バージョン数を指定できるようになったので、世代数管理を待ち望んでいた方々にとっては嬉しいアップデートだと思います!

この記事が、どなたかのお役に立てば幸いです。それでは!