GCEの無料枠をオーバーしてたのでサポートに理由を聞いてみた
GCEの無料枠用に使っているサーバーがある日無料枠をオーバーしたとして課金されていたので、どういう仕組みで課金されたのかサポートに理由を聞いてみました。
公開日: 2022.1.24
GCEのAlywas Freeがなぜか課金された
ことの発端はGoogle Cloudの課金アラートが飛んできたことでした。毎月無料で使えるAlywas Free枠で使っているGCEのe2-microサーバーが、課金されたという内容のアラートメールで、これまで半年くらい同じように使っていて、毎月課金されていないはずなのになぜ?と思ってGoogleのサポートに問い合わせてみました。
ちなみに、Goolgeは基本的にサポートを一切せず、コミュニティに質問をしてGoogleの中の人ではない誰かが答えてくれるという「完全人任せサポートスタイル」の会社ですが、Googleにお金を払っている”お客様”であるGoogle Cloudに関しては有人サポートが使えます。ただし、課金に関するサポートだけで英語チャット限定です。
Googleサポートに聞いてみた
ということで下記がやりとりの一部抜粋です。
=================================================
自分:「E2 Instance Ram running in Americas」という項目で課金が発生しているんだけど、どの辺がAlways Freeを超えているのか教えて欲しい。
Gサポ:OK、調べてみるね・・・。君は今月Always Freeの枠以上に使っているよ。Coreインスタンス時間も、RAMの使用量もね。それが原因だよ。Always Freeの枠については下記のドキュメントをみてね。
https://cloud.google.com/free/docs/gcp-free-tier?hl=en#free-tier-usage-limits
自分: E2 Instance RamのAlways Free枠っていくつなの? 月間時間だから、744GBってこと?
Gサポ:それに対する確定情報はないよ。ドキュメントのComputeエンジンに関する記述のみだよ。 ちなみに課金するのはRAMじゃなくてCoreインスタンス時間だけね。
自分: (???)どういう仕組みで課金されるのかわからないんじゃ、このまま課金して使い続ければ良いのか判断できないんだよなぁ。
Gサポ: OK。なんで課金になっているか詳しく説明するから、ちょっと調査するよ。5分時間ちょうだい。
自分:OK、ありがとう。
Gサポ: 君は毎日6インスタンス時間を消費してて、今月19日までで114時間使っているよ。これでE2 Instance CoreのAlways Freeの使用時間を使い切ったから、20日からは課金されたってことだよ。
(一日6インタンス時間までってこと?さっきのページに書いてないじゃん・・・)
自分: ちなみに、1インスタンス時間ってどうやって計算してんの?CPU使用率100%を1インスタンス時間ってしてるの?
Gサポ: そこはシステムが計算するからね。多分そうなんだと思うけど、どうやって計算するのかっていう確定情報はないよ。もし、課金されたくないのであれば必要じゃない時はインスタンスを止めるしかないね。
自分: でも、インスタンスを止めたら外部IPアドレスに課金が発生するよね。それじゃ意味ないんじゃない?
Gサポ: Always Free枠では外部IPに課金はしないよ。さっきのドキュメントに書いてあるよ。でも、Google Cloudは2020年6月から外部IPアドレスに課金を開始したからね。
自分: いや、だからそれがインスタンスを止めたら外部IPに課金されるってことじゃないの?
Gサポ: Always Freeのインスタンスを止めたら、君が確保している外部IPアドレスはAlways Freeのためじゃないということになるから、Always Freeから外れて外部IPは課金されるよ。
自分:(だから、そうやって言ってるじゃん・・・) OK、わかった。ありがとう。
Gサポ: どういたしまして。今回は、GCEがどのように課金されたかを確認して、Always Free枠について議論できました。Google Cloudサポートとチャットをしてくれてありがとう。
という感じで、なんかわかったようなわからないような感じでした。
よくよく調べてみたら、GCEのE2シリーズのインスタンスについては「micro マシンに対して 0.25 vCPUを割り当てる」とドキュメントに書いてあったので、これが一日あたり6インスタンス時間の根拠っぽいです(24時間の25% = 24 / 4 = 6時間)。
こういうのを教えて欲しかったんだけどなぁ。。。
GCEのAlways Free枠のドキュメントには、
無料枠の e2-micro インスタンスの上限は、インスタンス数ではなく時間に基づきます。当月内の合計時間数と同等の時間数を使い切るまで、毎月のすべての e2-micro インスタンスの使用は無料になります。使用量は、サポートされているリージョンすべての合計が集計されます。
とあるので、この情報とサポートとのチャットを見る限り、GCEでは1ヶ月分のインスタンス時間が付与されるのではなく、GAEのように毎日6インスタンス時間が割り振られて、それを超過すると課金するという仕組みのようです。
翌日レポートを再度チェックしてみると・・・
Google Cloudサポートに問い合わせた日の段階では「E2 Instance Ram running in Americas」という項目で4円の課金(推定コストではなく、実課金)が発生していたのですが、翌日にレポートを更新してみたらまた0円に戻っていました。ちなみにその間にインスタンスは1秒も停止していません。
ということは、今回の請求レポートで課金が積み上がったのは、
- 何かしらの処理でインスタンスの使用率が100%を超える時間が多めに発生した
- その段階でCoreインスタンス時間がAlways Free枠を超過したので課金した
- でも、翌日以降に使用率が下がったのでインスタンス時間の積み上げが少なくなったので、Always Free枠に収まった
ということでしょうか。
Google Cloudのサポートについて
今回の担当の方だけなのかもしれませんが、Google Cloudのサポートは、
- Google Cloudサポートは自分が見ているレポートを見れる
- そのレポートと公開されているドキュメントを参照して答えるだけ
- ドキュメントに書いてある以上のことは教えてくれない
ということみたいでした。対応が悪いわけではなく、それ以上は言えないみたいな感覚を受けました。
結局、自分で調べて解決するんじゃ、サポートの意味ってなんでしょう。クラウドって怖いなぁと思いました。