AlwaysFreeのGCEでCPUバーストによって請求が来た
個人的に色々使う目的でGCPのGCEのインスタンスを一つ持っているのですが、f1-microでAlways Freeの範疇に収めているつもりが、今月に突然422円 請求が来ました。
費用の内訳から、この422円の出どころを調べてみたら、どうやら「Micro Instance with burstable CPU running in Americas」が請求を発生させていました。この請求額は継続利用割引が適用された額であり、割引適用前は595円でした。
f1-micro程度のスペックで、この額の請求が毎月来たら非常にまずいという事で、「Micro Instance with burstable CPU running」が何者かについて軽く調べました。
GCEの共有コア マシンタイプには、バースト機能と呼ばれるものが存在しており、この機能を使用することでインスタンスが追加の物理CPUを短時間使用可能になります。この機能は追加料金なしで利用可能とはなっているのですが、f1-micro、g1-small、e2 shared-coreについては、追加料金が課せられる事となっています。課せられる追加料金については、下記のURLを確認してください。
VM instances pricing | Compute Engine: Virtual Machines (VMs)
問題はどのタイミングでこの機能を使っているのかということですが、バースト機能は任意で使用するものではなく、インスタンスが割り当てよりも多くの物理CPUを必要とした場合に、自動的に使用される物となっています。つまり非常に重い処理をしたら勝手に課金して処理をすぐに終わらせるようにするということです。
基本的にはバースト機能は一時的な利用を想定したものであり、常時バースト機能が動いている状況だと、マシンをアップグレードしたほうが安くなります。
バースト機能を無効化する方法についても、一応調べてみたのですが、少なくともGCP側か らそのようなオプションは提供されていませんでした。CPUの利用率制限などをかけることで、バースト機能が発動前に止めることはできるとは思いますが、そこまで手間をかけたいとは個人的に思いません。
請求された422円ですが、一体どのタイミングでそんなに処理をしたのか心当たりがありません。というか、そもそも執筆時点で一ヶ月あたり$3.88になっています。今の米ドル/円で431.57円なので、ほぼ一ヶ月間CPUバーストつけっぱなしでぶん回していたことになります。全く心当たりが無いというか、ウェブパネル動かしていただけなので、そんなに処理が続くとも思えない。今回請求が来てしまったものはしょうがないとしても、早期に何らかの対策をしないとまずいですね。自宅にラズパイが余っているので、ラズパイに移行すればいいとは思うんですが、ARMでちゃんと動作してくれない問題があるので、なんとかしないと行けないですね...