この記事は約 5 分で読めます。
筆者プロフィール: ソフトウェアエンジニア。「知った気にならない。いつまでも学び続ける」を信条に、業務と個人開発の両輪で技術を磨いています。AI 駆動開発で複数の個人開発アプリを構築・運用中。
👉 ポートフォリオ: 筆者ホームページ
「Supabase Free でも超過したら従量課金で動き続ける」 — これは 誤った前提 です。本記事では、運用中の SaaS 「たすきば Knowledge Relay」 で踏んだ罠と、Free Plan の制約を組み込んだ設計を整理します。
サービスの機能紹介・画面イメージ・コンセプトは公式プロダクトページをご覧ください。
👉 たすきば Knowledge Relay — 公式プロダクトページ
何が問題か
個人開発で Supabase Free を使うとき、こう考えがちです。
「容量超過しても、たぶん従量課金で動き続ける」
これは間違い。
Supabase Free Plan は、
| 超過条件 | 動作 |
|---|---|
| DB 容量 500 MB 超過 | read-only モード |
| 月次転送量 5 GB 超過 | read-only モード |
| 2 週間アクセスなし | pause (一時停止) |
のいずれかでアクセス制限がかかります。「従量課金でカバーされる」のではなく、機能制限が発動 します。
1. なぜ前提を間違えるか
AWS や GCP の感覚で「無料枠超過 → 自動課金 → 動き続ける」と思いがちです。
しかし Supabase Free は、
| 観点 | 内容 |
|---|---|
| 課金情報 | 登録していない (無料枠を意図したユーザ) |
| 超過時 | 機能制限で対応 |
| Spend Cap | Pro Plan の機能 (Free からは選択不可) |
「意図的な無料 ↔ 有料の境目」になっています。
2. Spend Cap が Pro 専用の意味
Supabase Pro Plan は Spend Cap を設定できます。
| 観点 | 内容 |
|---|---|
| 基本料金 | $25 / 月 |
| Spend Cap | 「この金額を超えたら停止」の上限 |
つまり:
| プラン | 容量超過時 |
|---|---|
| Free | read-only / pause (停止) |
| Pro + Spend Cap 設定 | 上限まで動く、超えたら停止 |
| Pro + Spend Cap なし | 無制限 (青天井で課金) |
「安全に従量課金で動かしたい」なら、Pro + Spend Cap が必要。
3. たすきばの対応 — 容量を厳密に管理
たすきばは、ユーザに DB 容量・ファイル容量の 使用率 を可視化しています。
[テナント設定 > リソース利用]
DB 容量: 1.2 GB / 上限 5.0 GB 24%
ファイル: 0.8 GB / 上限 5.0 GB 16%
━━━━━━━━━━━━░░░░░░░░░░
ユーザ自身が容量を意識できる ようにします。
4. Supabase Free → Pro 移行計画
リリース後、Supabase Free 上限に近づいたら Pro へ移行 する計画。
| 項目 | 内容 |
|---|---|
| 移行コスト | 月 $25 |
| 吸収方法 | Beginner / Expert / Pro プラン全体の収益で吸収 |
| ユーザ影響 | なし (Pro / Free の切替はトランスペアレント) |
Pro 移行は 機能制限を回避するため。ユーザの操作には影響しません。
5. データの自動アーカイブ機能
長期間アクセスのない古いデータは、自動アーカイブ する機能を計画中。
| 条件 | 動作 |
|---|---|
| 1 年以上更新がないナレッジ | アーカイブ (Supabase Storage の安価層に移動) |
| アクセス時のみ復元 | ホット DB に乗るデータ量を抑える |
6. pause で起きること
Supabase Free Plan で 2 週間アクセスがないと、DB が pause されます。
| pause 時の挙動 | 影響 |
|---|---|
| すべての DB 接続が失敗 | API レスポンスがすべて 500 |
| 復活操作 | Supabase Dashboard から手動 resume |
たすきばは本番サービスなので、毎日のアクセスがあれば pause は起きません。staging 環境では pause が頻発 するため、cron-job.org で「1 時間に 1 回 staging に ping」することで pause を回避しています。
7. read-only モードで起きること
DB 容量 500 MB を超えると、Supabase は DB を read-only モード に切り替えます。
| read-only 時の挙動 | 内容 |
|---|---|
| SELECT | 可能 |
| INSERT / UPDATE / DELETE | 失敗 |
| ユーザ体験 | 「サービスが半壊している」状態 |
容量管理で 予防するしかない。
8. 代替 DB を視野に入れる
Supabase 以外の選択肢も視野に。
| DB | Free 制限 | コメント |
|---|---|---|
| Supabase | 500 MB | 現行 |
| Neon | 3 GB | 無料枠が大きい |
| Railway PostgreSQL | $5/月から | 安価 |
| AWS RDS | 12 ヶ月無料 | AWS 移行視野 |
ADR-0012 で「MVP 期は Supabase Free」と決めたが、長期的には AWS RDS への移行も視野 に入れています。
おわりに — 無料には「何ができないか」の制限がある
「無料」には「何ができないか」の制限がある。
無料サービスを使うとき、「何ができるか」だけ見て判断してはいけません。「何ができないか」「何で制限されるか」も必ず確認 します。
Supabase Free の場合:
- 制限される条件 (read-only / pause になる)
- 自動課金で動き続けるかどうか
- Spend Cap が使えるかどうか
これらは Pricing ページに書いてあるが、見落としやすい。
| 学んだこと | 行動 |
|---|---|
| Free Plan は超過で read-only / pause | 容量管理を厳密にする |
| Spend Cap は Pro 専用 | Pro 移行時に Spend Cap を必ず設定 |
| pause は 2 週間アクセスなしで発動 | Staging に定期 ping |
| 代替 DB を視野 | 長期的選択肢を持つ |
個人開発の Free Plan 運用は、「動いている」ことに油断せず「いつ動かなくなるか」を意識 します。
本記事の Supabase 運用は、運用中の SaaS 「たすきば Knowledge Relay」 の実装ベースです。
👉 たすきば Knowledge Relay — 公式プロダクトページ