クラウドサーバー

Google Cloud Storageでライフサイクルを設定してコストを削減する

Google Cloud Storageでライフサイクルを設定してコストを削減する方法と、ライフサイクルを設定する際の注意点をまとめました。

Google Cloud Storageの料金を確認しよう

Google Cloud Storageでは、4つのストレージクラスがあり、どのクラスを利用するかでよって料金が異なります。

ストレージクラス 最低保持期間 1GBあたりの「保存」料金
Standard Storage なし $0.02
Nearline Storage 30日 $0.01
Coldline Storage 90日 $0.004
Archive Storage 365日 $0.0012

通常はStandard Storageを利用しますが、この場合は1GBあたり約2円なのに対して、一つ下のNearline Storageは半額の約1円、一番安いArchive Storageに関しては0.13円と激安になります。

Standard Storage以外は最低期間と取得料金がかかる

Google Cloud Storageでは、Standard Storage以外のストレージクラスには、

  1. 最低期間
  2. 取得料金

の二つが設定されています。最適期間はその名の通り、一度保存した次に削除できるまでの期間です。

取得料金については、データまたはメタデータの読み取り、コピー、書き換え時に発生します。「表に出ないところで保存されているデータを表に出すための料金」とでも考えておけば良いでしょうか。料金は下記のようになります。

ストレージクラス 1GBあたりの「取得」料金
Standard Storage なし
Nearline Storage 30日
Coldline Storage 90日
Archive Storage 365日

保存料金が安いストレージクラスほど、取得料金が高くなります。Nearline Storage、Coldline Storage、Archive Storageについては「使わない代わりに安く保存しておくよ」というプランなのです。

うまく運用しないと料金が安くならない

Google Cloud Storageでコスト削減をしようとしたら、

  1. データを削除する
  2. ストレージクラスを落とす

の二つのパターンがあります。データを削除できる場合はそれがベストですが、ストレージクラスを落とす場合は、データを取捨選択しないとコストが削減できません。

例えば、月に1回ほどアクセスがあるファイルをNearline Storageに移動すると、保存料金は$0.01と半額になりますが、呼び出しをした際に取得料金が1GBあたり$0.01かかるので、コストは同じになります。もし、Nearline Storageの呼び出し回数が何回もあると、Standard Storageよりもコストが高くなります。

ストレージクラスを最適化できるのが「ライフサイクル設定」

そんな悩みを解決してくれるのが、Google Cloud Storageの「ライフサイクル設定」です。

ライフサイクル設定では、

  1. オブジェクトの年齢
  2. 新しいバージョンの数
  3. ライブ状態
  4. 非現行になってからの日数

など複数の条件からオブジェクトのストレージクラスを自動で変更してくれます。手動でやると面倒な作業を全て自動で行ってくれるので、Google Cloud Storageを使うなら必須の設定です。

ライフサイクル設定は、ブラウザからGoogle Cloud Consoleにログインして、Cloud Storageのバケット名をクリックすると、タブで「ライフサイクル」というボタンが出てくるので、そちらから設定可能です。

また、APIやコマンドラインツールからも設定できます。

オブジェクトのライフサイクルの管理 | Google Cloud

「ライフサイクル設定」でどれくらいコストカットできる?

仮に1GBのファイルをGoogle Cloud Storageで保存したケースで考えてみましょう。あくまで保存しただけで、読み取りなどをしない前提とします。

Standard Storageのままなら、年間で$0.24、もしArchive Storageに落としておけば$0.0144ですから、Archive Storageに落としておくだけで、年間の保存コストは約1/20に圧縮できます。

1GBのファイルだけでなら小さな差ですが、100GB($24 vs $1.4)、10TB($2,400 vs $140)などの大容量になればなるほど、ここのコストカットはかなり効いてきます。

ただし、この1GBのファイルをArchive Storageに落とした状態で頻繁に呼び出しされてしまうと、取得料金が1GBあたり$0.05かかるので、結果としてStandard Storageよりも保存費用が高くなってしまうので要注意です。

より綿密な運用はAPIやgsutilで行おう

Google Cloud Storageの「ライフサイクル設定」は、基本的には「Standard Storage以外に落す」という設定なので、突然使われるようになったオブジェクトをStandard Storageに戻すなどは自動化されません。

ですので、こうした細かな設定は、APIやコマンドラインツール(gsutil)を利用するなどでして、オブジェクトが呼び出された時点でストレージクラスを変更する処理を入れると良いでしょう。

オブジェクトのストレージ クラスの変更 | Googl Cloud

なお、Standard Storage以外のクラスに設定した場合は、「データまたはメタデータの読み取り、コピー、書き換え時」をした時点で取得料金の課金対象になるので、この点には注意が必要です。


Google Cloud Storageでライフサイクルを設定してコストを削減する方法をみてきました。

意外とデフォルトのStandard Storageのままで運用しがちなGoogle Cloud Storageですが、きちんと管理をすれば、かなり安い値段でデータが保存できます。

ぜひ使ってみてください。


価格は記載がある場合を除き、すべて税抜きです。

この記事の関連キーワード

クラウドサーバーの記事