Google App Engine の課金

Google App Engineは,フリーで使えるQuotaが設定されていて,それを超える分に課金される.というか,Quotaを超える資源を購入できる.このモデルと予定価格だけはかなり早いうちから公開されていたのだけど,今に至るまでこの課金オプションは実現されていない.

でも昨年の12月にこのブログ記事で(比較的)詳細な課金モデルが公開されたり,roadmapの6月までに実現する予定の中に課金オプションが含まれていたりして,いよいよ実現されそうなので,今分かっている情報をまとめておく.

Free Quota

無料で使える量.現在はこのQuotaを超えると使えなくなる.1日あたりに対して設定されている量の場合,1日はアメリカの西海岸時間の真夜中にリセットされる.例えばネットワークを使いすぎて使えなくなっても,(アメリカの)真夜中までまてば,また使えるようになる.この辺りのロジックは2008年の12月に変更があったらしい.

このQuotaは現在次のようになっている.

ディスク         500MB 
入力トラフィック 10GB/day
出力トラフィック 10GB/day
CPUサイクル      200 million megacycles/day
電子メイル       2,000/day

CPUサイクルがわかりにくいのでちょっと計算してみた.後述する予想値段で定義されるCPUは1.2GHzのx86相当と定められている.このCPUで換算すると,200million megacyclesは大体46.3時間ぐらいに相当する.App Engine の場合コンテナを並列に動かすことが前提になってるので,こんなすごい値なんだろうなあ.

ちなみに,現在のところ資源を買うことができないかわりに,メイルでQuotaを増やしてくれとお願いすることができるようだ.

値段

予想値段は2008年の5月に出たこの記事以降更新されていないらしい.

ディスク          $0.15 - $0.18 / GB月
入力トラフィック  $0.09 - $0.11 / GB
出力トラフィック  $0.11 - $0.13 / GB
CPUサイクル       $0.10 - $0.12 / hour

このころはメイルを送出する機能がまだ無かったのか,それともQuotaが設定されていなかったのか,値段が設定されていない.

課金モデル

昨年の12月に出たこのブログ記事の内容をまとめてみる.

  • ユーザは,1日のバジェット(予算)を決める.たとえば1日2ドル,とか.
  • バジェットをそれぞれの資源に割り振る.たとえば0.9ドルをディスクに,1.1ドルを出力トラフィックに,など.
  • ある資源の実際の使用量がFreeQuotaを超えると,その資源のバジェットが消費される.設定したバジェットが枯渇すると,その資源が使えなくなる.例えば,出力トラフィックが$0.11/GBだったとすると,出力トラフィックが無料の10(GB) + 1.1($)/0.11($/GB) で20GBまで使い切ると,出力ができなくなる.で,大西洋時間の真夜中になると復活する,と.

所感

前出の記事では,ディスクも同じ枠組みで扱うように書かれている.でもディスクはかなり性質が違うような.ネットワークなんかはバジェットが足りなくなったら遮断すればいいとおもうけど,ディスクの場合,既に書かれているデータを消しちゃうってわけにもいかないだろうし.どうするつもりなんだろう.