既存バケットのAmazon S3バージョニング機能を有効化する際「ライフサイクルルールの更新が必要になる場合」とは

AWS

2023.3.20

Topics

はじめに

本記事では、既にオブジェクトが存在するS3バケットに対してバージョニング機能を有効化する際にチェックするポイントをご紹介します。

S3バージョニング機能について

S3バージョニング機能を有効化すると、バケットに保存されているオブジェクトのバージョンを保持、取得、復元できます。
そのため、意図せずオブジェクトを削除してしまったり上書きしてしまった場合でも、簡単に復元することができます。
デフォルトではS3バージョニング機能は無効になっており、明示的に有効化する必要があります。

既存バケットのS3バージョニング機能を有効化する際の考慮点

既に存在するバケットに対してバージョニング機能を有効化すると、以下のような注意メッセージが表示されます。

バケットのバージョニングを有効にした後、オブジェクトの以前のバージョンを管理するためにライフサイクルルールを更新する必要がある場合があります。

バージョニングを有効化する際は、S3のライフサイクルルールを確認しましょう。
ライフサイクルルールとは、一定期間が経過したオブジェクトをより安価なストレージクラスに自動で移動させたり、削除できる機能となります。
S3のストレージコストを最適化する目的で利用されます。

ライフサイクルルールでは、以下のアクションを設定できます。


  • オブジェクトの最新バージョンをストレージクラス間で移動
  • オブジェクトの非現行バージョンをストレージクラス間で移動
  • オブジェクトの現行バージョンを有効期限切れにする
  • オブジェクトの非現行バージョンを完全に削除
  • 有効期限切れのオブジェクト削除マーカーまたは不完全なマルチパートアップロードを削除

確認すべきポイントは、「非現行バージョン」に対するアクションです。
「非現行バージョン」に対するアクションが定義されていないと、以前のバージョンに対してライフサイクルが適用されません。
たとえば「30日以上前の非現行バージョンについては、2世代分を残し全て削除する」という世代管理を行いたい場合、以下のようなライフサイクルを設定します。


  • オブジェクトが現行バージョンでなくなってからの日数 : 30日
  • 保持する新しいバージョンの数 : 2世代

古いバージョンが高価なストレージクラスに残ったり、削除されずに保管されたままになることで、余計なコストが発生してしまいます。
バージョニング機能を有効化した際は、併せてライフサイクルルールも見直すようにしましょう。

参考資料

オブジェクトの有効期限 – Amazon Simple Storage Service

GENSAI

2014年入社。 関東近郊の山と銭湯と飲み屋を巡り歩いてます。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら