ややこしすぎるAmazon Glacierのデータダウンロード料金まとめ

まだまだ続くGlacierネタ、もうしばらくお付き合いくださいまし。

1GB/1セント/月の料金で個人向けバックアップサービスとしても注目のAmazon Glacierですが、その安さの仕組みゆえか、ややこしいのが料金体系。

特にデータダウンロードの方は料金表を見てるだけではいくらかかるかまったく分からない複雑さで、FAQを読み解いてようやく理解しかけてきたところ。せっかくなのでまとめておきます。

時間がない方向け:公式の計算機を使いましょう

Amazon Web Services Simple Monthly Calculator

身も蓋もないですが、金額を把握したいだけならそれが一番手っ取り早いです。計算しとけばあとで驚く心配なし。

awscalc
↑200GB保管、50GBを1日でダウンロードの例。

では次に、データダウンロード料金計算の仕組みを知りたい方向けに、実際に料金体系を分解してみます。

データをダウンロードするには、「データを取り出し」てから「データを転送」する必要がある

まず、ダウンロードにはデータ取り出しとデータ転送、2つの料金がかかることを理解しましょう。レンタル倉庫に例えると分かりやすくて、業者が管理する倉庫(Amazon Glacier)から荷物を取り出してもらう(データ取り出し)手間、そして郵送(データ転送)してもらう手間、その2つの手間に対して業者にお金を払うようなイメージです1

先にシンプルなデータ転送の方から説明すると、こちらは1GBいくらで支払います。利用するデータンターにもよりますが、概ね12~20セント/GBくらい。詳しくは公式の料金表を確認してください。

データ取り出し料金:大事なのは「無料枠」「ピーク取り出しレート」

一方、複雑なのがデータ取り出し料金。ポイントは「無料枠」と「ピーク取り出しレート」です。

無料枠の「月平均保管量の5%」ってどういうこと?

無料で取り出せるのは、1 か月当たり、お客様の月平均保管量の 5% まで(1 日ごとに案分)です。
Amazon Glacier FAQs

逆に一日あたりどの程度が無料枠になるのかを考えると分かりやすいです。例えば

200GB(取り出し実行日時点の保管量)
× 5%(無料枠率)
÷ 31日(12月なので31。2月なら28)
= 0.32GB/日(月平均保管量の 5%)

200GB保管していると、12月なら1日あたり0.32GBを無料で取り出すことが出来ます。1ヶ月30日分なりでこの計算をした値の合計が、月平均保管量の 5%となるわけです。

個別の取り出しには課金せず、ピーク取り出しレートにのみ課金する

取り出し料金は、毎月の請求可能なピーク取り出しレートに基づいて計算します。
Amazon Glacier FAQs | Q: Amazon Glacier から大量のデータを取り出すときの請求額はどのように計算されるのですか?

海外フォーラムでも複雑だ!!と話題になっていますが、ピーク取り出しレートを用いた計算、というのが一見ピンと来ないわけです2。おそらく、サービスに高い負荷をかけて欲しくないという発想で決められた料金体系だと思います。

実際のピーク取り出しレートの計算ですが、例えば4GBのデータを取り出す場合、

4GB(4時間あたりの取り出し要求したデータ量)
÷ 4時間(ピーク取り出しレート算出単位)
= 1GB/時(ピーク取り出しレート)

この計算のポイントは「4時間」という時間を決め打ちしてるところです。

  1. 1日を4時間ごとに区切った枠3内で、取り出しを要求したデータ量の合計を
  2. データ取り出しに要する時間の4時間(課金用に仮定。実際は3~5時間)で割る

という流れで計算されます4。ややこしくなってきましたね、あと一息です。ここに、上で算出した無料枠を加味してみます。

1GB/時(ピーク取り出しレート)
- 0.32GB/日(無料枠) ÷ 24時間(単位合わせ)
= 0.986GB/時(ピーク取り出しレートの有料枠)

この値がピーク取り出しレートの有料枠になります。そして料金計算の最後、ここがとても乱暴、かつ従量課金じゃないところなのですが、

0.986GB/時(ピーク取り出しレート有料枠)
× 0.01米ドル(有料枠1GBあたりの取り出し料)
× 24時間×30日
= 7.1米ドル/月

求めたピーク取り出しレート有料枠に取り出し料をかけ、かつ1ヶ月間ずっと取り出し続ける仮定で時間をかけて料金を算出します。この例でいえば、

  • 1ヶ月の間に一度だけ4GBのデータ取り出しを要求しようが
  • 4時間おきに4GBデータ取り出しを1ヶ月間要求し続けのべで720GBになろうが

データ取り出し料金は変わらないということです。使った分だけ支払うが最大の特徴であるはずのAmazon Web Serviceでは異端ともいえる料金体系です。それだけ極端なサービス、とも言えるのかもしれません。


(2012/12/18 追記)
(2012/12/20 リンク先更新につき再追記)
Cost of Transitioning S3 Objects to Glacier - Alestic.com

「S3からGlacierにファイルを転送した場合の料金」についての記事が話題になってるようです。ポイントは2つあって、

  • 350GB500万ファイルを転送したら数万円の請求がきたよ(アップロードにも1,000ファイルあたり0.05ドルかかるため)
  • サイズが13KB未満のファイルは、Glacierに移すよりS3に置いておくほうが得だよ(631,613/(アップしたファイルサイズの平均-13,011)=元を取るのにかかる月数)
  • 1KBのファイル1つを転送すると、元を取るのに50年かかるよ(631,613/アップしたファイルサイズの平均=元を取るのにかかる月数)

サードパーティソフトウェアが次に組み込むべきは「Glacierへのアップロード料金計算機」かも。
(追記おしまい)


ざっくりとですがAmazon Glacierのデータダウンロード料金についてまとめてみました。ご利用は計画的に。


  1. この例だと実際の輸送料は、ユーザーが支払うネット回線利用料に相当しますね。Amazonに払う転送料とは別に自己負担です。

  2. 完全従量課金なはずのAmazon Web Serviceが、いかにも従量課金しそうなところでそうしない決断をしたところに、Amazon Glacierの異端児感が良く出ている気がします。

  3. 時間枠については推測。00:00:00UTC~03:59:59UTC、16:00:00UTC~19:59:59UTCといった具合。日本時間は+9時間なので01:00:00~04:59:59や09:00:00~12:59:59で区切られることになるはずです。

  4. データ量は合計なので、例えば3GB、2GB、5GB、2GBと1時間おきに取り出しを要求すると、12GB÷4時間=3GB/時がピーク取り出しレートになります。