S3でGlacierを活用したコスト削減

はじめに

S3ではいくつかの種類のストレージを提供しており、それぞれ料金が異なります。

・スタンダードストレージ($0.025/GB)
・標準 – 低頻度アクセスストレージ($0.019/GB)
・Glacier ストレージ($0.005/GB)
・低冗長化ストレージ($0.0264/GB)

# 上記の価格は東京リージョンのものです

低冗長化ストレージは、スタンダードより冗長性が低い代わりにコストが安いというもののはずだったのですが、S3の価格改定によりスタンダードの方が安くなっているのが現状です。

スタンダードストレージでも1GBあたり$0.025と低コストですが、不要なデータをそのまま放っておくと無視できないコストになってきます。
そのため、ある程度期間が経過したログファイルなど、めったにアクセスしないものは、より安いストレージに移すことで、コスト削減を図ることができます。

そのようなときのために、S3では一定期間経過したファイルを自動で他のストレージに移す機能が用意されています。
ということで、今回は一番安価な Glacier ストレージへの移行を試してみたいと思います。

Glacier ストレージとは?

前段で料金に触れましたが、S3で最も低コストなストレージです。

安全性と耐久性はスタンダードと同様に高いのですが、取り出しや削除に時間と費用がかかるという制約があります。
データを取り出すには基本的に3〜5時間ほど必要です。
また、取り出しにかかる費用もサイズ・リクエスト回数に応じた従量制のため、アクセスする頻度の高いデータを格納してしまうと、逆にコストがかさんでしまうことになるので注意が必要です。

試してみる

それでは実際に設定していきましょう。

まずは適当なバケットを作ります。
作成したバケットを選択して、「管理」->「ライフサイクル」と進み、「ライフサイクルの追加」を選択します。

ルールの作成画面が表示されるので、まずは適当なルール名を入れましょう。
一部のディレクトリ以下にだけ適用したい場合などはプレフィックスを設定しますが、
今回は全体でよいので、空欄にしておきます。

次は移行の設定です。
バージョニング機能とも組み合わせられるんですね。
今回はバージョニングは使用していないので、「現行バージョン」のみにチェックを入れましょう。
下側で移行先と移行までの日数を設定できます。
今回は検証ということで、Glacierに1日で設定しておきます。
こうすることで、アップロードの1日後にGlacierに移動してくれるはずです。

設定の失効では、一定期間経過したファイルを削除する設定をすることができます。
例えば、3ヶ月経過後にGlacierに移行し、さらに1年経過したら削除する、というような運用が可能です。
今回は特に設定はしないのでそのまま先に進みましょう。

設定内容を確認して、問題がなければ保存で設定完了です。

それでは実際にファイルをアップロードしてみましょう。

ストレージクラスの部分に注目してください。
アップロードしたばかりなので、スタンダードストレージに格納されているのがわかるかと思います。

あとはじっと待つだけです。1日くらい置いておきます。
自分の場合は1日半くらいこのままだったので、厳密に24時間というわけではないのかもしれません。
気長に待ってみましょう。

しばらく待ってから確認すると・・・

ストレージクラスがGlacierに変わっていますね。
無事に移行してくれたようです。

おわりに

冒頭でも触れた通り、Glacierは保存にかかる費用はスタンダードの1/5と非常に安いですが、いくつかの制約があります。
そのため、使い方を誤ると、逆にコストが高くなってしまったり、ファイルが必要になった際にすぐに取り出せない、というようなことになってしまいます。

とはいえ、アクセスする機会はほとんどないけれど念のために残しておきたい、というようなファイルを残すにはうってつけなので、賢く使っていきたいですね。

APN Consulting Partner
スーパーソフトウエアはAWSパートナーネットワーク(APN)のコンサルティングパートナーです。