初心者がつまづいたGAEの無料枠の話
この記事を何も考えずに信用されても困りますし、それによって不利益があっても僕は知りません。ちゃんと原典にあたってください。
僕はGCP初心者です。
GAEとはGoogle App Engineの略です。
Google App Engineとは、Google Cloud Platformで提供されている、おそらく典型的にはHTTPサーバをたてるような、Webアプリを動かすためのものです。Herokuみたいなものだと思っています。
今年夏、とある事情からついにGoogle Cloud Platformに登録しました。
登録から1年間、あと280日で$300のクレジットを使い切らなくてはなりません。
しかし僕はお金を使うのが本当に不得意なので、クレジットさえも消費されると悲しくなってしまいます。
ところでGCPには無料枠というのがあり、トライアル期間中かどうかに関係なくいつまでも無料で使える枠があります。
僕の感覚からすると、無料枠でだいたい収まるアプリが、たまに枠をはみ出してクレジットをじりじり削っていくくらいがいいのです。
なにが無料枠で使えるのかというと、↓ここに細かいことは抜きにしてざっとしたことがリストになっています。
cloud.google.com
この記事の焦点はGAEなわけですが、ここでGAEの欄に書かれていることの詳細は、
欄をクリックしたここにあります。
僕は頭が悪いので、この文章の解釈がぱっとできませんでした。
そのせいで10日間で\841がクレジットから飛んでいったので、その話をします。
とんでいった料金の確認
- まずコンソールにアクセスします https://console.cloud.google.com
- メニューを出して、「お支払い」を押します。クレジットの残高はここに見えます。
- 「料金の履歴」を押します。
- 各月で、いくらか請求が発生し、その分がクレジットから引かれて、実際の請求は\0となっていることが確認できます。
ちなみに、「お支払い」で「予算とアラート」から適当に予算を作って「クレジットを予算として含める」と、クレジットが減るとメールが飛んできて悲しくなれます。
GAE無料枠の使い方
フレキシブル環境とスタンダード環境
GAEには「フレキシブル環境」と「スタンダード環境」が用意されています。
僕の重大なミスは、なんとなくフレキシブル環境を使ってしまったことでした。
今から思えば、語感から考えても「フレキシブル」のが強そう=高そうなのに、なんだか弱そうに感じてしまったのでした。
ここの文章で、「無料」を含む文章は、スタンダード環境での文脈です。
このページには28インスタンス時間が無料とありますが、これはフレキシブル環境では一切関係ありません。
Scalingの設定をして1 instanceしか起動しないように設定しようとも、ここの表の通り課金されます。
これより、スタンダード環境にない、たとえばRubyやNode.jsでアプリを書いてしまった時点で、それはGAE無料枠では動きません。
Scaling
GAEのScaling手法には、Automatic, Basic, Manualの3種類があります。
ここにあるように、Automaticに関しては28インスタンス時間が無料枠になりますが、
他のBasic, Manual scalingをとった場合、無料枠は9インスタンス時間となります。
この無料インスタンス時間の違いもそうですが、scaling手法は、単にscalingがどうなるか以外にもかなり意味を持つようなので注意しましょう。
特にここが参考になります。
インスタンスクラス
GAE Standard環境には、インスタンスクラスというのがあります。
ここに列挙されていますが、
書いてある通り、scaling手法によって使えるクラスが変わったりします。
で、無料枠との兼ね合いがどうなるのかという話で、これはちゃんと検証もせず、無責任に書くことなのですが、
今のところクラスを上げると時間が減ることを匂わせるような記述には出会っていません。
無料枠を突破したあとはクラスが高いほど高額の請求が来ることは自明なんですが、
クラスによって無料枠の長さは変わらないことが期待できるかもしれません。
設定によって無料枠を突破しない自信があるなら、高いクラスを指定してみてもよいかもしれません。