# Firebase

Firebase（Google）は Spark 無料枠で商用利用可。Blaze 有料枠は従量課金。Hosting のカスタムドメインは無料。

Firebase は Google の BaaS：Firestore、Auth、Hosting、Cloud Functions、Realtime Database 等。 Spark（無料）で商用利用可。Cloud Functions から Google 以外への外部 HTTP を行うには Blaze が必要。

## 解説と実務上の注意

### 無料の Spark プランは「外部と通信できない」

Firebase の無料 Spark プランは商用利用も可能で寛大に見えますが、**設計上の壁が1つあります。公式の料金ページは Spark の Outbound networking を「該当なし」としており、Cloud Functions から Google 以外のサービスへ HTTP リクエストを送れません。**

これが意味するのは、以下が**すべて Blaze（従量課金）必須**だということです。

- 決済プロバイダの API 呼び出し（Stripe、PayPal など）
- LLM API の呼び出し（OpenAI、Anthropic など）
- 外部サービスへの Webhook 送信
- 自社の別 API との連携
- 通知サービス（SendGrid、Slack など）

**外部連携が要件に1つでもあるなら、Firebase の無料枠は最初から選択肢になりません。** 多くのプロジェクトが構築の途中でこれに気付きます。

対して Supabase の Edge Functions は無料枠でも外部 HTTP を発行できます。外部 API 連携が主要件なら、この一点で比較の結論が決まります。

### Blaze の従量課金は上限なし。事故が実際に起きている

Blaze は完全な従量課金で、**上限を設定していないと請求が青天井になり得ます。**

特に危険なのが Firestore の課金構造です。**「読み取ったドキュメント数」で課金される**ため、以下が直接コストになります。

- 一覧画面で大量のドキュメントを取得する実装
- ループの中でクエリを発行する実装
- リアルタイムリスナーの張りすぎ

非効率なクエリが一晩で高額請求を生む事故は実際に起きています。**Blaze を有効にするなら、予算アラートの設定は運用開始時の必須作業**です。推奨ではありません。

### Firestore は「クエリを先に決める」データベース

Firestore は NoSQL のドキュメントストアです。SQL に慣れていると設計を誤ります。

- **JOIN がない**
- 集計が苦手（件数を数えるだけでも工夫が要る）
- 「この画面でこう表示する」に合わせて**データを非正規化して持つ**のが基本設計

書き込み時にコストを払って読み込みを速くするモデルなので、はまれば非常に速い。反面、**後から画面要件が変わるとデータ構造そのものを作り直す**ことになりがちです。要件が固まっていない段階では、後からデータモデルを変えられる Postgres 系のほうが安全です。

### 出口が狭い

長期で見て最大のリスクはここです。**Firestore は Firestore にしか存在しません。** データをエクスポートできても、その形のまま動く移行先がない。移行は実質的にデータ設計とアプリケーションの書き直しになります。

これは Firebase が悪いという話ではなく、**深く使うほど生産性が上がる代わりに離脱コストが上がる**という取引です。取引だと理解したうえで選ぶなら問題ありません。

### Hosting は素直に無料

静的ホスティングについては制約が少なく、**カスタムドメインと SSL が Spark でも無料**です。フロントエンドの配信だけに使うなら、無料枠でも実用になります。

### 定期実行

Cloud Scheduler と Cloud Functions の組み合わせで実現しますが、**これも Blaze が必要**です。無料で定期実行したい場合は成立しません。

- slug: `firebase`
- 種別: ホスティング / デプロイ基盤
- ステータス: 提供中
- 公式サイト: https://firebase.google.com
- 公式ドキュメント: https://firebase.google.com/docs

## 権利

| 項目 | 値 | 条件 | 出典 | 確認日 |
|---|---|---|---|---|
| commercial_use_allowed | 可 |  | https://firebase.google.com/pricing | 2026-07-23 |

## 制約

| 項目 | 値 | 条件 | 出典 | 確認日 |
|---|---|---|---|---|
| api_available | 可 |  | https://firebase.google.com/pricing | 2026-07-23 |
| cron_available | 可 | Cloud Scheduler と Cloud Functions の組み合わせで実現するが、これには Blaze プランが必要。無料の Spark プランは外部ネットワーク接続が対象外とされており、Google 以外のサービスを関数から呼び出せない。 | https://firebase.google.com/pricing | 2026-07-23 |
| custom_domain_available | 可 |  | https://firebase.google.com/pricing | 2026-07-23 |
| webhook_available | 可 |  | https://firebase.google.com/pricing | 2026-07-23 |

## 一次情報

- [Firebase Pricing](https://firebase.google.com/pricing) — official_pricing (primary), 確認日: 2026-07-23
- [FAQ about Cloud Storage for Firebase changes announced in September 2024](https://firebase.google.com/docs/storage/faqs-storage-changes-announced-sept-2024) — official_docs (primary), 確認日: 2026-07-24
- [Firebase Terms of Service](https://firebase.google.com/terms) — official_terms (primary), 確認日: 2026-07-23

## 最近の変更

- [2026-02-03] Cloud Storage for Firebase の利用に従量課金の Blaze プランが必須化。無料の Spark プランのままの場合、2026-02-03 以降はバケットの読み書きができなくなり、API は 402 / 403 を返す。データは削除されないが、アップグレードするまで取り出せない。

---
Canonical HTML: https://atlas.lb-product.com/entities/firebase
