0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Supabase Free 超過時の挙動 — 「pause で従量課金にならない」前提を信用しない

0
Posted at

この記事は約 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 — 公式プロダクトページ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?