2024/06/04
Google Cloud Functionsで課金が発生していることに気づいた。
Firebase側のconsoleでは請求が発生していないのに、Google Cloud Consoleを開いたら費用がかかっているとの表示が。(115円)

GCPはまだ決済連携のテストでしか使っていないのに、なぜ?
CPU時間が主な要因のようなので確認してみる。
すると、Firebase Cloud Functionsを第2世代に移行するときに参考に貼り付けたものが影響していそうだ。
setGlobalOptions({
region: "asia-northeast1",
memory : "1GiB",
timeoutSeconds : 3600
});
- 扱う処理的にスペックはこんなに要らないし、タイムアウトもよく見ると3600秒で、なんと1時間になっている。ここまで長くなくて良い。
- 課金された可能性としては、このオプション指定の結果CPUスペックを確保した状態で、作り途中のコードなどが適切に終わらず長時間実行が続いてしまうケースが発生したのかもしれない。いったんメモリやタイムアウトを大きく減らして様子を見てみる。
額は少なかったものの、テストしただけで費用発生はちょっと驚き。気づいて良かった。
そしてレポートをさらに見てみると、費用は発生したがクレジットで相殺されて結局無料?

よく分からない。
たとえば新規ユーザに付与されるらしい“無料クレジット枠”を実は持っていてそこから充填されているのか?と思ったが、無料クレジット残高らしきものは私は無かった。
そうするとなぜ・・・?
そこで念の為サポートに確認してみた結果、「ここでは各機能の無料枠も含めて課金と表示して、そのうえで無料枠を差し引いている。割当を超えない限り実際には請求されない」という説明だった。
つまり結局のところ、各機能の無料枠に収まっていて請求は無しということなのか。紛らわしい……。
そして機能別に調べるにはレポート画面で1つずつSKUベースでフィルタが必要なようだ。

CPU時間で104円使ったとあるが、100ms あたり $0.000001650 のはずなので、私は気づかずにいったいどれだけの時間CPUを使ったのか……。恐ろしい。
ひとまず請求には至らないようなので良しとしよう。
ちなみにGCPのサポートには英語のチャットで問い合わせたのだが、なかなか要領を得ない回答が続いて辛かった。
海外サポートあるあるな気がする。
今日はCloud Functionsの課金調査でとても時間を使ってしまったが、決済代行会社のkomojuとの連携実装も引き続き行い、サブスクリプションの期限が来たときの仕組み作りに取り組んだ。
※開発日記は当時の記録をもとに作成し、必要に応じて加筆・補足しています
この記事はアイディア整理ソフト「idea Lane」の開発記録です
↓どなたでも、ユーザ登録だけで無料ですぐに使えます↓
テキストベースの思考整理ツール「idea Lane」
コメント / Comment