Google Cloudの無料トライアルには期限があります。期限が来て、フルアカウントにアップグレードしていないと、リソースが停止します。
そして自分の場合、その失効日がコンテストの審査期間のど真ん中でした。
審査員がアプリを触っている最中に、FirestoreとCloud Functionsが止まる。デモ動画もストア掲載も無事なのに、実機で開くと何も動かない。気づいたのは、失効の46日前でした。
まず、期限を確認する方法
ここで最初につまずきました。CLIでは取れません。
gcloud billing accounts describe 012A11-412AAD-E43B6A
返ってくるのは通貨と open 状態だけで、クレジットの残高も残日数も含まれていません。 実地で確認しました。
コンソールの請求先アカウントの画面を開いて、上部のバナーを読むしかありません。
無料トライアルのステータス: ¥48,488 クレジット、残り 46 日
このバナーが出ていなければ、そのアカウントは既に有料アカウントです。判定はこれで足ります。「ⓘ 有料のアカウント」という表示も出ます。
アプリごとに請求先が違うので、1つ見ても分からない
自分は4つのプロジェクトを持っていて、全部が別々の請求先アカウントにぶら下がっていました。作った時期が違うので当然といえば当然です。
| アプリ | プロジェクト | トライアル状況 |
|---|---|---|
| ナラブ | gyoretsu-app | トライアル中(残46日) |
| Kiroku | ai-diary-shipaton-744bb | 既に有料アカウント |
| Nemuru | shipaton-ehon | 既に有料アカウント |
1つ確認して安心したら事故ります。 トライアルの期限は請求先アカウントごとに独立しているので、全部見る必要がありました。
ついでに気づいたのですが、ai-diary-shipaton(末尾のハッシュ無し)という紛らわしい別プロジェクトも存在していました。そちらは billingEnabled=false で、実体は -744bb のほうです。プロジェクト名だけで判断すると、動いていないプロジェクトの請求を見て「¥0だから安全」と誤解します。
で、有料アカウントにすると請求はいくらになるのか
ここが本題です。「フルアカウント化=課金が始まる」と思っていました。違いました。
順序はこうです。
① 無料枠(Always Free)で相殺 → ② 残クレジットから消費 → ③ 超過分だけ課金
無料枠は、有料アカウントになっても消えません。 これが最大の誤解でした。
既に有料アカウントで動いていた2本の、実際の数字がこれです(2026/08/01〜08/26)。
| アプリ | 費用 | コスト削減(無料枠) | 総費用 |
|---|---|---|---|
| Kiroku | ¥6 | −¥6 | ¥0 |
| Nemuru | ¥2 | −¥2 | ¥0 |
| ナラブ | ¥14 | −¥14 | ¥0 |
3本とも総費用¥0。当月の予想総費用も¥0でした。
さらに決定的だったのが、クレジット残高が1円も減っていなかったことです。ナラブの残高は¥48,488で、これはトライアル開始時の額と同じ。つまりこの¥14は、②のクレジット消費にすら到達しておらず、①の無料枠だけで賄われています。
③に届くには、いまの数百倍の使用量が要ります。使い方を変えない限り、請求は¥0のままです。
この数字を見てからアップグレードを実行しました。「有料アカウントにしても実質の追加負担はほぼ無い」ことが、机上の試算ではなく同じ構成の別アプリの実測で裏づけられていたので、判断は10秒で済みました。
クレジット48,488円は、使われないまま消える
これは笑えない話です。トライアルのクレジットはアップグレードしても延長されません。 自分の場合、失効日は2026年10月11日です。
いまの消費ペース(月¥14相当、しかも全額が無料枠内)で、¥48,488を使い切ることは絶対にありません。実質的に、1円も使われないまま消えます。
なので、このクレジットを事業計画の原資として当てにしてはいけません。 「クレジットが5万円ぶんあるから、全国展開のクロールを回せる」という発想は、期限で死にます。
予算アラートで最初に間違えるところ
保険として予算アラートを入れました。月¥1,000で、50%・90%・100%の3段階です。
ここに設定項目が1つあります。予算の対象に「クレジットを含めるか、除外するか」。 これを意識せずに作ると、アラートが期待と違う動きをします。
- クレジット適用後(含める) — 実際に請求される額を監視する。「お金が出ていくこと」に反応させたいならこちら
- クレジット適用前(除外する) — 使用量そのものを監視する。クレジットで隠れている異常な使用増に反応させたいならこちら
個人開発で怖いのは後者です。 バグでFunctionsが無限ループしても、クレジットが潤沢なうちは請求が¥0のままなので、クレジット適用後のアラートは残高が尽きるまで鳴りません。 尽きた瞬間に、実費が本気で走り出します。
自分は「使用量の異常を早く知りたい」ほうを優先しました。アラートは、被害が出てから鳴るのでは遅い。
まとめ
- 無料トライアルの残日数はコンソールのバナーでしか読めない。CLIでは取れない
- 請求先アカウントはプロジェクトごとに別。1つ確認しても他は分からない
- 有料アカウント化しても無料枠は消えない。 個人開発規模なら実測で総費用¥0
- トライアルのクレジットは延長されないので、当てにしない
- 予算アラートはクレジットを除外した使用量ベースでも1本張っておく
余談ですが、アップグレードそのものは実課金が発生しうる操作なので、自動化の対象から明示的に外し、人間が手で実行するルールにしています。ここだけは効率化しないと決めました。
実際の請求額の全体像はアプリ3本を1ヶ月動かして請求22円に、収益側の設計はリワード広告がサブスクを上回った話に書いています。