batchiです。

S3のバージョニングとライフサイクルについて。

前回までバージョニングについて説明したので、
今回はライフサイクルについて説明します。

ライフサイクルの概要として抑えておくべき項目は以下のあたりかと思います。

アクションの種類

  • 移行
  • 失効

アクションの対象

  • 最新のバージョン
  • 最新でないバージョン

ルールの範囲

  • バケット全体
  • プレフィックス指定

*

1.アクションの種類について

バケット内のオブジェクトに対するアクションは、
移行か失効の2種類のみです。

バージョニングなし
ご覧のとおり、2種類のみですね。

「3種類あるじゃないか」と言いたくもなりますが、
Glacierへのアーカイブも「移行」アクションに含まれているわけです。

1-1.移行について

移行とは、オブジェクトの「ストレージクラス」を変更することを指します。
現在提供されているストレージクラスは下記となります。
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/storage-class-intro.html

  • スタンダード
  • STANDARD_IA(標準低頻度アクセス)
  • GLACIER
  • RRS(REDUCED_REDUNDANCY/低冗長化)

ただ、移行によって自由にストレージクラスを変更できるというわけではなく、
いくつか制限事項があるので注意が必要です。

スタンダード→STANDARD_IA→GLACIERの移行の方向が不可逆であったり、
他のストレージクラスからRRSには移行不可であったりといった具合です。
詳しくは下記を参照ください。
http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-general-considerations-transition-sc

1-2.失効について

失効は、オブジェクトを有効期限切れにすることを指します。
まどろっこしい言い方ですが、概ね「削除」と同じ意味です。

失効後のオブジェクトは「論理的な削除」「完全削除」いずれかになります。
これについては後述します。

2.アクションの対象について

バケットのバージョニングが有効化されていれば、
アクションの対象が2種類に分かれます。

バージョニングあり

2種類のアクション×2種類の対象で、
計4つの設定項目が生じます。

  • 最新のバージョンに対する移行アクション
  • 最新のバージョンに対する失効アクション
  • 最新でないバージョンに対する移行アクション
  • 最新でないバージョンに対する失効アクション

これら4つはそれぞれ独立して設定することが可能で、
「アクションを設定しない」という設定も可能です。

2-1.最新のバージョンに対する失効アクションについて

「削除マーカー」が新たな「最新のバージョン」となります。
基本的にはオブジェクトの状態は「論理的な削除」になりますが、
バージョニングが停止している状態であると「完全な削除」になり得たりします。
ややこしいです。

バージョニング停止の場合

余談ですが、「失効」という言葉が、
アクションのみを指すのか、
失効アクションによる「論理的な削除」となった「状態」も表すのか、
よく分かっていないので知っている方がいたらご教示ください。

2-2.最新でないバージョンに対する失効アクションについて

最新でないバージョンを「完全削除」にします。
オブジェクト自体を「完全削除」したければ、
最新のバージョンが「削除マーカー」である必要があります。
ややこしいです。

3.ルールの範囲

ここまで述べてきたようなライフサイクルの設定は、
バケット全体に適用させることももちろん可能ですが、
もう少し範囲を絞ることも可能です。

3-1.プレフィックス指定について

簡単に言えば特定のフォルダを指定して、
その中身にだけルールをできるようなイメージです。

例えば東京リージョンのバケット「sample-versioning」内の、
フォルダ「test-folder」にある、
オブジェクト「Sample-file.txt」は下記のようなリンクで表されます。

https://s3-ap-northeast-1.amazonaws.com/sample-versioning/test-folder/Sample-file.txt

フォルダ「test-folder」内のオブジェクトは、
すべて「~/test-folder」が頭につくので、
プレフィックス(接頭辞)とされているわけです。

もっとわかりやすく「フォルダ指定」のような言い方にすればいいのに、
と思っていましたが、
「もしかしてワイルドカードとかも使えるんではないか」という
考えが頭をよぎったので、あまり大きな声では言わないことにしました。

実際に使えるのかの検証は又の機会に。

S3道はこれからだ!

概要だけ記す、という意気込みで書き始めたのですが、
書いているうちにどんどんハマりそうになったので、
ひとまず③で一区切りします。

こちらからは以上です。

TOP