はじめに
S3ではいくつかの種類のストレージが提供されており、それぞれ下記の通り料金が異なります。
- S3 スタンダードストレージ($0.025/GB)
- 標準 – 低頻度アクセスストレージ($0.0138/GB)
- Glacierストレージ($0.005/GB)
- 低冗長化ストレージ($0.0264/GB)
※上記の価格は東京リージョン
低冗長化ストレージは、スタンダードよりも冗長性が低い代わりにコストが安いというもののはずだったのですが、S3の価格改定によりスタンダードの方が安くなっているのが現状です。
スタンダードストレージでも1GBあたり$0.025と低コストではありますが、不要なデータをそのまま放っておくと無視できないコストになってきます。
その為、ある程度の期間が経過したログファイルなど、滅多にアクセスしないものは、より安いストレージに移すことでコスト削減を図ることができます。
そのようなときの為に、S3では一定期間経過したファイルを自動で他のストレージに移す機能が用意されています。
ということで、今回は一番安価なGlacierストレージへの移行を試してみたいと思います。
Glacierストレージとは?
正式名は、Amazon S3 Glacier(読み方は「グレイシア」)です。
前段で触れた通りアーカイブ専用となっており、S3で最も低コストなストレージになります。
安全性と耐久性はスタンダードと同様に高いのですが、取り出しや削除に時間と費用がかかるという制約があります。
データを取り出すには基本的に3〜5時間ほど必要です。
また、取り出しにかかる費用もサイズ・リクエスト回数に応じた従量制の為、アクセス頻度の高いデータを格納してしまうと、逆にコストがかさんでしまうことになるので注意が必要です。
試してみる
それでは実際に設定していきましょう。
まずは適当なバケットを作ります。
作成したバケットを選択して、「管理」->「ライフサイクル」と進み、「ライフサイクルの追加」を選択します。
ルールの作成画面が表示されるので、まずは適当なルール名を入れましょう。
一部のディレクトリ以下にだけ適用したい場合などはプレフィックスを設定しますが、今回は全体で良いので空欄にしておきます。
次は移行の設定です。バージョニング機能とも組み合わせられるんですね。
今回はバージョニングは使用していないので、「現行バージョン」のみにチェックを入れましょう。
下側で移行先と移行までの日数を設定できます。
今回は検証ということで、Glacierに1日で設定しておきます。
こうすることで、アップロードの1日後にGlacierに移動してくれるはずです。
設定の失効では、一定期間経過したファイルを削除する設定をすることができます。
例えば、3ヶ月経過後にGlacierに移行し、さらに1年経過したら削除する、というような運用が可能です。
今回は特に設定はしないのでそのまま先に進みましょう。
設定内容を確認して、問題がなければ保存で設定完了です。
それでは実際にファイルをアップロードしてみましょう。
ストレージクラスの部分に注目してください。
アップロードしたばかりなのでスタンダードストレージに格納されているのが分かるかと思います。
あとはじっと待つだけです。1日くらい置いておきます。
自分の場合は1日半くらいこのままだったので、厳密に24時間というわけではないのかもしれません。
気長に待ってみましょう。
しばらく待ってから確認すると…。
ストレージクラスがGlacierに変わっていますね。
無事に移行が完了したようです。
おわりに
冒頭でも触れた通り、Glacierは保存にかかる費用はスタンダードの1/5と非常に安いですが、いくつかの制約があります。
その為、使い方を誤ると逆にコストが高くなってしまったり、ファイルが必要になった際にすぐに取り出せない、というようなことが発生してしまいます。
とはいえ、アクセスする機会はほとんどないけれど念のために残しておきたい、というようなファイルを残すにはうってつけなので、賢く使っていきたいですね。