個人開発 × AI × SaaS

Supabaseの料金は無料枠でどこまで?超過課金の落とし穴

本記事にはプロモーション(広告)が含まる場合があります。

「Supabaseの料金って、結局いくらかかるの?」
「Supabaseの無料枠でどこまで作れるのか知りたい!」

Supabaseの料金は「無料か、月25ドルか」の二択に見えます。ところが実際に運用すると、25ドルのはずが40ドルになったり、無料のまま使っていたプロジェクトが勝手に止まったりします。
この記事では、Supabaseの料金がどう積み上がるのかを分解して、請求が跳ねる場所を先に潰しておく方法をまとめました。

結論から書くと、Supabaseの請求額は「プランの基本料 + コンピュート + 従量課金」の3層で決まります。個人開発で読み違えるのは後ろの2つで、金額表を眺めていても気づけません。

この記事でわかること

  • Free・Pro・Team・Enterpriseの月額と、含まれている上限値
  • 無料枠でどこまで作れるかと、7日間で止まる一時停止ルールの正体
  • エグレス・コンピュート・容量という、請求が跳ねる3つの入口
  • 規模別の月額シミュレーションと、請求を抑えるための初期設定
著者について
🧑‍💻
Web Director|Engineer

ITエンジニア歴15年超。設計・実装・運用まで一気通貫でこなすエンジニア。最近はAIエージェント開発・今後のキャリアを軸に発信中。

AIエージェント開発 フルスタックエンジニア インフラ構築・運用

Supabaseの料金プランの全体像を先に押さえる

Supabaseの料金は、無料のFreeから月599ドルのTeamまで、用途の違う4段階に分かれています。

ここでは、それぞれのプランが「誰のために用意されているのか」から整理します。

Supabaseの料金プランの読み分け

  • Freeプランで何ができて、どこで足りなくなるのか
  • Proプランの月25ドルに何が含まれているのか
  • TeamプランとEnterpriseプランが必要になる条件
Supabaseの料金を決める3つの層の図解

Freeプランは月0ドルで、検証と小さな公開までカバー

Freeプランは月0ドルです。クレジットカードの登録すら求められないので、思いついたその日にプロジェクトを立てられます。

入っているものは、500MBのデータベース、1GBのファイルストレージ、5GBのエグレス(外向きのデータ転送量)、そして5万MAU(月間アクティブユーザー)まで。
APIリクエストの回数には上限がないので、「呼びすぎて破産する」タイプの事故は起きません。

個人開発の検証用としては、正直かなり余裕があります。ただしFreeプランで同時に動かせるプロジェクトは、1つの組織あたり2つまでです。趣味のアプリを3つ4つと並べたい人は、ここで最初の壁に当たります。

Freeプランに含まれるもの

  • データベース 500MB/ファイルストレージ 1GB
  • エグレス 5GB+キャッシュ経由 5GB
  • 月間アクティブユーザー 5万人まで
  • APIリクエスト回数は無制限
  • 同時に動かせるプロジェクトは2つまで

逆に言うと、ここに挙がっていないものは付いていません。自動バックアップや長期のログ保持は有料プランの領域です。

Supabaseそのものの始め方はSupabaseの使い方でまとめているので、まだ触っていない方はそちらから読んでみてください。

Proプランは月25ドルからの「従量課金つき定額」

Proプランは月25ドルから始まります。「から」と書いたのは、25ドルが上限ではなく下限だからです。

含まれるのは、プロジェクトあたり8GBのデータベース、100GBのファイルストレージ、250GBのエグレス、10万MAU。
加えて10ドル分のコンピュートクレジットが毎月付き、これが1つ目のプロジェクトの計算資源代をちょうど相殺します。

公式の料金ページにも「First project included. Additional projects from $10/mo.」と書かれていて、2つ目からは別料金になることが明示されています。

Supabaseの料金プランの公式ページ

(出典:Supabase 公式料金ページ/2026年8月時点)

Proに上げるいちばんの理由は、実は容量ではありません。プロジェクトが一時停止されなくなることと、7日分の日次バックアップが付くこと。この2つが「人に使ってもらうアプリ」の最低ラインになります。

無料枠のまま公開して、ある朝いきなり落ちていた——という経験を一度でもすると、25ドルはかなり安く感じられるはずです。

TeamプランとEnterpriseプランはチームと監査要件向け

Teamプランは月599ドルです。個人開発の感覚からすると急に跳ね上がって見えますが、含まれる容量はProとほとんど変わりません。

差が出るのは、SOC 2レポートの提供、SSO、読み取り専用メンバーなどの権限管理、14日分のバックアップといった組織として説明責任を果たすための機能です。容量ではなくガバナンスを買うプラン、と考えるとわかりやすいと思います。

プラン選びで間違えやすいところ

  • 「容量が足りないからTeam」は基本的に不要(Proの従量課金で足りる)
  • Teamが必要になるのは監査・SSO・メンバー権限が要件になったとき
  • Enterpriseは個別見積もりで、SLAや専任サポートが付く

ひとりまたは数人で作っているうちは、TeamプランもEnterpriseプランも視界に入れなくて大丈夫です。

判断が必要になるのは、法人のクライアントから「セキュリティチェックシートに答えてほしい」と言われたタイミングでしょう。

Supabaseの無料枠でどこまで作れるのか

Supabaseの無料枠は、数字だけ見ると小さく感じるかもしれません。実際に何が入るのかを換算すると、印象はかなり変わります。

ここでは、無料枠の上限値を実感できる単位に置き換えたうえで、無料プロジェクトが止まる条件まで確認していきます。

Supabaseの無料枠の実力と限界

  • 無料枠に含まれる上限値の全体像
  • 500MBのデータベースに入るデータ量の目安
  • 7日間の低活動でプロジェクトが止まるルール
  • 止まったときの復帰手順と、止めないための運用

無料枠に含まれる上限値を項目ごとに読む

無料枠は5つの数字を押さえれば十分です。データベース500MB、ファイルストレージ1GB、エグレス5GB、MAU5万、プロジェクト2つ。

このうち個人開発でいちばん早く底を突くのはエグレスで、次にデータベース容量が続きます。MAU5万は、よほど当たらないかぎり到達しません。

項目 Free Pro(月25ドル〜)
データベース容量500MB8GB+0.125ドル/GB
ファイルストレージ1GB100GB+0.0213ドル/GB
エグレス5GB250GB+0.09ドル/GB
月間アクティブユーザー5万10万+0.00325ドル/人
一時停止7日間の低活動で停止停止なし

表の右列にある「+◯ドル/GB」が従量課金の単価です。Proに上げた瞬間に課金されるのではなく、含まれている枠を超えた分にだけ乗る形になります。

Edge Functionsの実行回数も100万回あたり2ドルで、リアルタイム通信は100万メッセージあたり2.5ドル。どちらも個人開発の規模ではほぼ無視できる金額でした。

500MBのデータベースに入るデータ量の目安

500MBと言われても、多いのか少ないのか判断できないですよね。ざっくり換算すると輪郭が見えてきます。

テキスト中心のレコード(ID・日時・数百文字の本文)は、1行あたりおおむね1KB前後に収まります。単純計算で50万行ほど。個人ブログの記事、タスク管理のタスク、家計簿の明細なら、何年分でも入る計算です。

問題になるのは、画像やPDFをデータベースに直接入れてしまうケース。1枚500KBの画像を1,000枚入れれば、それだけで500MBを使い切ります。

データベース容量が急に減る原因

  • 画像・音声・PDFをテーブルに直接保存している(Storageに逃がす)
  • ログテーブルを作りっぱなしで削除していない
  • インデックスを付けすぎている(本体より肥大することがある)
  • 論理削除したレコードが残り続けている

ファイルはデータベースではなくStorageに置く。これだけで500MBは驚くほど長持ちします。

逆に、ログや履歴を貯めるタイプのアプリは早めに枠を使い切るので、保持期間を決めて定期的に消す仕組みを最初から入れておきましょう。

無料プロジェクトは7日間の低活動で一時停止される

Supabaseの無料枠でいちばん驚くのが、この一時停止ルールです。金額の話ではないのに、無料枠を使うかどうかの判断を左右します。

公式ドキュメントには「We may pause applications on the Free Plan that exhibit low activity in a 7-day period to save on server resources.」と書かれています。
つまり7日間ほとんどアクセスがないプロジェクトは、サーバー資源を節約するために停止されるということです。

一時停止で実際に起きること

  • APIもダッシュボードからのDB接続も、まとめて使えなくなる
  • 停止の約1週間前に警告メール、停止後に確認メールが届く
  • 復帰は自動ではなく、ダッシュボードから手動で行う
  • 停止中はアプリ側から見ると「サーバーが落ちている」状態と変わらない

怖いのは、作った本人がアクセスしていないだけで、実際には誰かが使っているかもしれない、という状況です。ポートフォリオとして公開したアプリが、採用担当者に見られる直前で止まっていた——というのは、わりとよく聞く話でした。

データが消えるわけではないので、復帰させれば元どおりになります。それでも、止まっている間の機会損失は戻ってきません。

詳細な条件はSupabase公式ドキュメントのProject Pausingに記載があります。

一時停止から復帰する手順と、止めないための運用

止まってしまった場合の復帰は、手順としては単純です。ダッシュボードにログインして、対象プロジェクトの「Restore project」を押すだけ。

ただし復帰には数分から、規模によっては十数分かかります。ボタンを押した瞬間に戻るわけではないので、「見せたいときにすぐ見せる」用途には向きません。

止めないための運用は、大きく3つに分かれます。どれを選ぶかは、そのプロジェクトを人に見せる可能性がどれくらいあるかで決めてください。

一時停止を避けるための選択肢

  • 週に数回、実際にアプリを触ってDBリクエストを発生させる
  • 警告メールが来たらダッシュボードを開いてアクティビティを作る
  • 人に見せる可能性があるならProプランへ上げて停止対象から外す

外部の監視サービスから定期的に叩いて起こしておく、という手も技術的には可能です。ただ、これはサーバー資源の節約という制度の趣旨に逆行するやり方なので、常用するなら素直に有料化したほうが気持ちよく使えます。

月25ドルは、日割りにすると1日あたり100円ちょっと。「止まっていないか気にする時間」を買うと考えると、判断はそれほど難しくありません。

Supabaseの料金で請求が跳ねる3つの入口

Proプランに上げたあと、請求が25ドルで収まらなくなる原因はだいたい決まっています。

ここでは、個人開発で実際に効いてくる順に、料金が増える入口を並べていきます。

Supabaseの請求が増える入口

  • 画像や動画の配信で膨らむエグレス
  • 重くなったデータベースに追加するコンピュート
  • 気づかないうちに増えるデータベース容量とストレージ

【入口1】画像や動画の配信で増えるエグレス

エグレスは、Supabaseから外に出ていったデータの総量です。APIのレスポンス、Storageから配信した画像、Edge Functionsの返り値——全部ここに合算されます。

単価は超過分1GBあたり0.09ドル。安く見えますが、エグレスは「1枚の重さ × 配信された回数」で決まるので、アクセスが増えると一気に伸びます。

画像配信でエグレスの無料枠を超える目安の図解

図のとおり、500KBの画像なら月1万回の配信でFreeの5GBをちょうど使い切ります。Proの250GBは月50万回相当なので、個人開発ならしばらく余裕がある計算です。

危ないのは、圧縮していない画像をそのまま置いているケース。
スマホで撮った写真は1枚3MB前後あり、そのまま配信すると500KBの6倍のスピードで枠が減っていきます。

もうひとつ見落としやすいのが、SELECTで全カラムを取ってくるクエリです。使っていない大きなテキストカラムまで毎回返していると、画面には出ないのにエグレスだけが積み上がります。

エグレスに合算されるもの

  • Storageから配信した画像・音声・PDF
  • PostgREST経由で返したAPIのレスポンス本体
  • Edge Functionsが返したJSONやファイル
  • リアルタイム通信で流したメッセージ
  • 外部ツールからのDBダンプ・バックアップ取得

最後の項目は盲点でした。定期バックアップを外部に取る仕組みを自分で組んでいると、その転送量もエグレスとして計上されます。

【入口2】重くなったDBに追加するコンピュート

コンピュートは、データベースが動いているサーバーの性能に対する課金です。Proに付く10ドル分のクレジットはMicroインスタンス1台分にちょうど相当します。

ここで起きがちなのが、「遅いからサイズを上げる」という判断で、月額が一気に跳ねるパターンです。MicroからSmallなら+5ドルで済みますが、Mediumまで上げると月60ドル。プラン基本料の倍以上になります。

サイズを上げる前に疑うこと

  • インデックスが張られていないカラムで検索していないか
  • N+1クエリになっていないか(1画面で数十回叩いていないか)
  • 不要なJOINや全カラムSELECTが残っていないか
  • コネクションを張りっぱなしにして枯渇させていないか

私が個人プロジェクトで「重い」と感じたときも、原因はインスタンスではなくインデックスの張り忘れでした。1本足しただけで体感が変わり、サイズを上げずに済んでいます。

お金で殴る前に、まずクエリを疑う。順番を守るだけで、月に何十ドルも変わってきます。

それでも足りないと判断したら、サイズ変更は数分で反映されます。
上げたあとに効果を測って、変わらなければ戻す。この検証のしやすさは、月の途中で日割り計算される課金方式だからこそできることでした。

【入口3】じわじわ効いてくるデータベース容量とストレージ

容量課金は、単価だけ見るといちばん地味です。データベースが1GBあたり0.125ドル、ファイルストレージにいたっては1GBあたり0.0213ドルしかかかりません。

それでも無視できないのは、容量は減らないからです。エグレスは月ごとにリセットされますが、貯めたデータは消さないかぎり毎月課金され続けます。

超過した量 DB容量の月額 ストレージの月額
10GB1.25ドル0.21ドル
100GB12.5ドル2.13ドル
500GB62.5ドル10.65ドル

表を見るとわかるとおり、同じ容量でもデータベースはストレージの約6倍高くつきます。画像やPDFをテーブルではなくStorageに置くべき理由は、設計の綺麗さだけでなく、単純に金額なんですよね。

ログ・監査履歴・スクレイピング結果のように、放っておくと増え続けるデータは、保持期間を決めて古い行を落とす処理を最初から用意しておくと安心です。

もうひとつ、削除しても容量がすぐには戻らない点にも注意してください。PostgreSQLは削除した領域を再利用する設計なので、実際に容量が減るまでにタイムラグが出ることがあります。

Supabaseの料金でいちばん誤解されるコンピュート料金

「Proは月25ドル」という理解のまま複数プロジェクトを作ると、請求書を見て驚くことになります。原因はほぼコンピュート料金です。

ここでは、コンピュートクレジットの仕組みと、プロジェクトを増やしたときの積み上がり方を確認します。

コンピュート料金の正しい読み方

  • 毎月10ドル付くコンピュートクレジットの意味
  • インスタンスサイズごとに変わる月額の差
  • 2つ目以降のプロジェクトに乗る固定費

月10ドルのコンピュートクレジットの正体

Proプランには、毎月10ドル分のコンピュートクレジットが付きます。これは値引きクーポンではなく、コンピュート料金にだけ充当される枠です。

Microインスタンスがちょうど月10ドルなので、1つ目のプロジェクトを最小構成で動かしているかぎり、コンピュート分の請求はゼロになります。「Proは25ドル」という理解が成り立つのは、この条件のときだけでした。

クレジットの効き方

  • Micro(月10ドル)1台 → クレジットで相殺され、請求は25ドル
  • Small(月15ドル)1台 → 差額5ドルが乗り、請求は30ドル
  • Micro 2台 → 20ドルのうち10ドルが乗り、請求は35ドル

クレジットは組織単位で月10ドルなので、プロジェクトごとに10ドルずつもらえるわけではありません。ここを勘違いすると、2つ目を作った瞬間に見積もりが崩れます。

使い切れなかったクレジットは翌月に繰り越されません。余らせても得にはならないので、Proにするなら1つ目はMicroで動かし切るのが素直な設計になります。

インスタンスサイズごとに変わる月額の差

コンピュートのサイズは、MicroからXLまで段階的に用意されています。個人開発で現実的に触るのは、上から3つまででしょう。

サイズ 月額 メモリ 向いている段階
Micro10ドル1GB個人開発・小規模公開
Small15ドル2GBユーザーが数百人規模
Medium60ドル4GB継続的に負荷がある本番

注目してほしいのはSmallとMediumの段差です。15ドルから60ドルへ、4倍に跳ねます。メモリは2倍にしかなっていないので、コストパフォーマンスの意味でもここが分水嶺でした。

Smallで足りているうちは、Mediumに上げる前にクエリとインデックスを見直す価値が十分にあります。逆にMediumが必要な負荷なら、それはもう趣味の規模を超えているということでしょう。

サイズ変更はダッシュボードから数分で反映され、いつでも下げられます。困ったら一時的に上げて、原因を特定してから戻す、という使い方もできます。

2つ目以降のプロジェクトに毎月10ドルが乗る

Supabaseでは、開発環境と本番環境を分けるとプロジェクトが2つになります。ステージングも用意すれば3つです。

このとき、2つ目以降のプロジェクトにはそれぞれ最低10ドルのコンピュート代がかかります。プロジェクトを増やすほど、25ドルのベースに10ドルずつ積み上がっていく構造です。

環境を分けるときの月額

  • 本番のみ(Micro 1台)→ 月25ドル
  • 本番+開発(Micro 2台)→ 月35ドル
  • 本番+開発+検証(Micro 3台)→ 月45ドル

ひとりで開発しているなら、開発環境はローカルのSupabase CLIで立てるという選択肢もあります。クラウド上のプロジェクトを1つに絞れば、その分だけ固定費が下がります。

環境をどこまで分けるかは、事故ったときに困る度合いで決めてください。本番データを触るリスクと、月10ドル。天秤にかけて判断すれば答えは出ます。

Supabaseの料金とFirebaseの料金はどちらが読めるのか

BaaSを選ぶとき、必ず比較対象に上がるのがFirebaseです。料金の「読みやすさ」という観点では、両者はかなり性格が違います。

ここでは、課金の単位の違いが見積もりのしやすさにどう跳ね返るのかを整理します。

Supabaseの料金とFirebaseの料金の性格の違い

  • 課金の単位が「回数」か「容量」かという根本の違い
  • 読み書きが多いアプリでSupabaseが読みやすくなる理由
  • それでもFirebaseを選んだほうがよい場面

課金の単位が「回数」か「容量」かという違い

Firebaseの従量課金は、ドキュメントの読み取り・書き込み・削除の回数を基準にしています。対してSupabaseは、保存している容量と外に出た転送量が基準です。

この違いが効いてくるのは、見積もりを立てる場面。回数課金は「1画面で何回読むか」をアプリの実装から数える必要があり、実装が変わるたびに見積もりも変わります。

容量課金なら、「今どれくらい貯まっているか」を管理画面で見れば済みます。SupabaseはAPIリクエスト回数そのものに上限も課金もありませんから、リクエストを気にせず実装できるのは精神的にかなり楽です。

見積もりのしやすさの違い

  • Firebase:実装(読み取り回数)が変わると請求も変わる
  • Supabase:貯めた量と配信量が変わらなければ請求も動かない
  • Supabaseはリクエスト回数が無制限なので、リトライや再描画を恐れなくていい

もっとも、これは「安い・高い」の話ではありません。どちらが予測しやすいか、という話です。

両者の設計思想の違いはSupabaseとFirebaseの違いで詳しく比べているので、選定で迷っている方はあわせて読んでみてください。

読み書きが多いアプリでSupabaseが読みやすくなる理由

リアルタイムに近い更新をするアプリ——チャット、ダッシュボード、共同編集——は、1ユーザーあたりの読み取り回数が跳ね上がります。

回数課金のモデルでは、ここが請求に直結してしまうんですよね。画面を開いたまま放置しているユーザーが増えるほど、何もしていないのに読み取りが積み上がる、という現象も起きます。

Supabaseの場合、この状況で増えるのはエグレスだけです。しかも実際に流れたデータ量に比例するので、小さなJSONを何度も返す構成なら金額はほとんど動きません。

Supabaseの課金モデルが有利になる場面

  • 同じデータを何度も読み直すダッシュボード系
  • ポーリングやリトライが多いクライアント実装
  • 1件あたりのデータが小さく、件数だけが多いサービス

逆に、1件あたりが重いデータ(高解像度の画像や動画)を大量に配信するなら、Supabaseでもエグレスが効いてきます。課金の軸が違うだけで、無料になるわけではないんですよね。

自分のアプリが「回数が多いのか、量が多いのか」を先に見極めると、どちらのモデルが向くかは自然に決まります。

それでもFirebaseを選んだほうがよい場面

料金の読みやすさだけでBaaSを決めるわけにもいきません。Firebaseに分があるケースも当然あります。

典型は、モバイルアプリでプッシュ通知・クラッシュ解析・A/Bテストまで一気に揃えたいとき。Supabaseにはこの周辺サービスがありませんから、別のサービスを組み合わせる手間とコストが発生します。

オフライン同期を前提にしたアプリも同様です。Firestoreはローカルキャッシュと同期の仕組みが標準で用意されていて、この体験を自前で再現するのはかなり骨が折れます。

Firebaseのほうが向くケース

  • プッシュ通知・解析・A/Bテストをまとめて使いたい
  • オフライン対応が要件に入っているモバイルアプリ
  • SQLよりドキュメント指向のデータ構造が自然なサービス

裏返せば、Webアプリで、SQLで書きたくて、リレーションのあるデータを扱うならSupabaseが素直です。私自身、PostgreSQLをそのまま触れることが選定の決め手になりました。

料金は判断材料のひとつであって、判断そのものではありません。技術構成全体での選び方は個人開発SaaSの技術選定にまとめています。

Supabaseの料金を規模別に試算する

単価表を眺めていても実感は湧きません。よくある3つの規模で、月額がいくらになるかを置いてみます。

ここで挙げる金額は、2026年8月時点の公式料金をもとにした概算です。実際の請求は使い方で前後します。

規模別のSupabase月額シミュレーション

  • ひとりで検証中のアプリの場合
  • ユーザー数百人規模のSaaSの場合
  • 画像を扱うサービスの場合
  • ドル建て請求を日本円に置き換えるときの注意

【ケース1】ひとりで検証中のアプリは月0ドル

まだ誰にも公開していない、自分だけが触っているアプリ。この段階はFreeプランで完結します。

データベースは数MB、画像もほとんどなく、エグレスは月に数百MB。5GBの枠には遠く及びません。この規模で有料化する理由は、金額面には一切ありません

唯一の判断材料が、例の一時停止です。週に何度か触っているなら止まりませんし、止まっても自分が困るだけで済みます。

検証段階でやっておくこと

  • Freeのまま進めて、課金は一切気にしない
  • 画像はStorageに置く癖を最初から付けておく
  • ログテーブルの保持期間だけ決めておく

ここで小さな設計の癖を付けておくと、後で有料化したときの請求額がまるごと変わってきます。

逆に、検証段階で「とりあえずテーブルに画像を入れる」をやってしまうと、移行のときにデータ移動という余計な作業が発生します。

【ケース2】ユーザー数百人のSaaSは月25〜40ドル

登録ユーザーが300人、月間で実際に使うのが150人くらい。個人開発のSaaSとしては、そこそこ順調に立ち上がった状態です。

MAUは10万の枠に対して150人なので影響ゼロ。データベースも数百MBに収まるでしょう。エグレスも、テキスト中心なら数GBで済みます。

それでもProプランを選ぶ理由は、停止されないことと日次バックアップです。お金を払ってもらう以上、勝手に止まる構成は選べません

内訳 金額
Proプラン基本料25ドル
コンピュート(Micro・クレジットで相殺)0ドル
開発用プロジェクトを1つ追加した場合+10ドル
従量課金(枠内のため)0ドル
合計25〜35ドル

負荷が出てきてSmallに上げると、ここに5ドルが乗って30〜40ドルというレンジになります。認証まわりをどう組むかで負荷も変わるので、個人開発SaaSで認証を実装する方法もあわせて確認しておくと安心です。

この規模なら、月額が想定の2倍になることはまずありません。読みやすい範囲に収まります。

【ケース3】画像を扱うサービスは月40〜90ドル

ユーザーが画像を投稿するタイプのサービスになると、話が変わります。ストレージとエグレスの両方が同時に伸びるからです。

ユーザー300人が月に10枚ずつ、1枚500KBの画像を投稿するとします。月あたり1.5GB、1年で18GB。ストレージ課金としては年間でも数ドルで、ここは大きな負担になりません。

問題は配信側。投稿された画像が一覧画面で毎回読み込まれると、エグレスは投稿量の何十倍にもなります。ここが画像系サービスの本当のコストです。

画像サービスでエグレスが伸びる要因

  • 一覧画面でオリジナル画像をそのまま表示している
  • サムネイルを用意せず、CSSで縮小しているだけ
  • キャッシュヘッダーが効かず、毎回取得し直している
  • 無限スクロールで大量の画像を先読みしている

逆に言えば、サムネイル生成とキャッシュ設定を入れるだけで、エグレスは数分の1まで落ちます。月90ドルが月40ドルになる、という規模の差が出ることもありました。

画像を扱うなら、リリース前にこの2つを済ませておく。それだけで請求書の見え方がまったく違ってきます。

ドル建て請求を日本円に置き換えるときの注意

Supabaseの請求はすべて米ドル建てです。日本のクレジットカードで支払うと、金額がそのまま円になるわけではありません。

まず為替。仮に1ドル150円で計算すると、Proプランの25ドルは3,750円になります。ドル建ての固定費は、為替が動くだけで円の負担が増えますから、円ベースの収支で見ている場合は余裕を持っておきましょう。

次に海外事務手数料。国際ブランドのカードで外貨決済すると、カード会社によって1.6〜2.2%程度の手数料が上乗せされます。25ドルなら60〜80円ほどですが、金額が大きくなるほど無視できなくなります。

円換算で見落としやすい要素

  • 為替レートは決済日のもので、月ごとに変動する
  • カードの海外事務手数料が1.6〜2.2%程度上乗せされる
  • 請求書にはドル金額しか出ないため、円の実額は明細で確認する

消費税の扱いも気になるところだと思います。国外事業者から受けるデジタルサービスは、事業として使う場合にリバースチャージ方式の対象になり得るので、詳しくは国税庁の資料で自分が対象かを確認してください。

個人の趣味利用なら気にしなくて構いません。事業として計上するなら、最初の確定申告のタイミングで一度整理しておくと後が楽になります。

Supabaseの料金を抑えるために先にやっておくこと

請求が跳ねてから対策するより、最初の30分で設定しておくほうが圧倒的に安上がりです。

ここでは、プロジェクトを作った直後にやっておきたい設定と、運用に組み込む習慣を挙げます。

Supabaseの料金を抑える初期設定

  • スペンドキャップの状態を確認する
  • 画像はキャッシュを効かせてエグレスを削る
  • 使っていないプロジェクトを整理する
  • 請求アラートで気づける状態を作る

スペンドキャップの状態を最初に確認する

Supabaseには「Spend Cap(支出上限)」という設定があります。これをオンにしておくと、従量課金が発生する使い方がブロックされ、想定外の請求は発生しません

Proプランでは既定でオンになっているので、そのままにしておけば安全側に倒れます。枠を超えたら課金されるのではなく、超えないように制限がかかる、という挙動です。

その代わり、上限に達するとサービスは制限されます。人が使っているアプリなら、途中で止まるほうが困る場面もあるでしょう。

スペンドキャップの使い分け

  • オン:請求は増えないが、枠を超えるとサービスが制限される
  • オフ:サービスは止まらないが、請求は青天井になり得る
  • 個人の検証・趣味プロジェクトはオンのままが安全
  • 課金ユーザーがいるサービスはオフにしてアラート運用へ切り替える

どちらを選ぶかは、「止まって困るか、請求が増えて困るか」の比較でしかありません。設定方法はSupabase公式のCost Controlドキュメントにまとまっています。

大事なのは、自分がどちらの状態にいるかを把握しておくこと。知らないままオフになっているのが、いちばん危ない状態です。

画像はキャッシュを効かせてエグレスを削る

エグレスを減らす方法は、実はそれほど多くありません。配信する回数を減らすか、1回あたりを軽くするかの二択です。

回数を減らす手段がキャッシュ。SupabaseのStorageはCDNを経由して配信でき、キャッシュから返された分は単価が0.09ドルから0.03ドルへ、3分の1に下がります。アップロード時にキャッシュの保持時間を長めに設定しておくだけで効果が出ます。

1回あたりを軽くする手段はサムネイル。一覧画面にはオリジナルではなく縮小版を返すようにすると、転送量は一桁変わります。

エグレスを減らす実務

  • アップロード時にキャッシュの保持時間を長めに指定する
  • 一覧用のサムネイルを別に用意する
  • WebPなど軽いフォーマットに変換してから保存する
  • SELECTで必要なカラムだけを指定する

最後の項目は地味ですが効きます。使っていない長文カラムを毎回返していると、画面には出ないデータがそのままエグレスになるからです。

APIのコスト設計という意味では、AI SaaSのAPIコストの抑え方で書いた考え方がそのまま応用できます。

使っていないプロジェクトは消すか止める

Supabaseは、プロジェクトを作るのが簡単です。簡単すぎて、試しに作ったものが残り続けます。

Proプランの組織では、動いているプロジェクトの数だけコンピュート料金が積み上がります。使っていないプロジェクトが2つあれば、それだけで月20ドルの無駄です。

月に一度、ダッシュボードのプロジェクト一覧を眺めて、直近で触っていないものを止めるか消す。これだけで固定費が締まります。

プロジェクト棚卸しの手順

  • ダッシュボードで最終更新日を確認する
  • 残したいデータはバックアップを取ってから削除する
  • 一時的に使わないだけなら、有料組織から外して無料側へ移す

削除は取り消せないので、バックアップだけは必ず先に取ってください。数分の作業を惜しんで、後から泣くことになります。

「あとで見るかも」で残したプロジェクトを、実際に見返した経験はほとんどありません。迷ったら消す、で問題ないと思います。

請求アラートで気づける状態を作る

スペンドキャップをオフにして運用する場合、頼りになるのは通知です。何もしなければ、請求書が来るまで気づけません。

Supabaseのダッシュボードには使用量のページがあり、各項目が枠の何%まで来ているかを確認できます。枠の80%を超えたあたりで手を打てば、超過はほぼ防げます

月初と月中の2回、使用量ページを開く。カレンダーに繰り返し予定として入れておくと、忘れずに済みます。

見に行くべき指標

  • エグレスの消費率(いちばん動きが早い)
  • データベース容量の推移(減らないので累積で見る)
  • コンピュートのサイズ変更履歴
  • アクティブなプロジェクトの数

数字を見る習慣がつくと、機能を追加したときに「これはエグレスに効くな」という感覚が自然に働くようになります。

コスト管理は、我慢することではなく、気づける状態を作ることでした。仕組みさえ用意すれば、あとは勝手に回ってくれます。

Supabaseの料金に関するよくある質問

ここでは、Supabaseの料金についてよく聞かれる疑問をまとめました。

Q:Supabaseの無料枠だけでサービスを公開し続けられますか?

A:技術的には可能ですが、おすすめはしません。7日間ほとんどアクセスがないと一時停止の対象になり、復帰は手動だからです。誰かに使ってもらう前提なら、月25ドルのProプランに上げて停止対象から外しておくほうが安全です。

Q:Supabaseの料金が急に上がることはありますか?

A:スペンドキャップがオンなら、従量課金による急騰は起きません。オフにしている場合は、エグレスとコンピュートの2つで跳ねます。特に画像を大量配信する構成では月あたり数十ドル単位で動くので、使用量ページを定期的に見る運用とセットで考えてください。

Q:Supabaseの料金はFirebaseより安いですか?

A:一概には言えません。読み書きの回数が多いアプリならSupabaseのほうが読みやすく安くなりやすい一方、大きな画像や動画を大量に配信するならエグレス課金が効いてきます。安さより「見積もりが立つかどうか」で選ぶほうが、後悔が少ないと思います。

Q:無料枠のプロジェクトが停止されるとデータは消えますか?

A:消えません。停止中はアクセスできなくなるだけで、ダッシュボードから復帰させれば元の状態に戻ります。ただし復帰には数分から十数分かかるので、すぐ見せたい場面には間に合わない点だけ注意してください。

まとめ

Supabaseの料金は、プランの基本料だけを見ていると読み違えます。実際の請求は、基本料・コンピュート・従量課金という3つの層が積み上がった結果でした。

個人開発で最初に効いてくるのはエグレスとコンピュートの2つ。画像の配信量とインスタンスサイズさえ押さえておけば、月25ドルの想定から大きく外れることはありません。

Supabaseの料金で押さえておく要点

  • 請求額は「基本料+コンピュート+従量課金」の3層で決まる
  • Freeは7日間の低活動で止まるため、公開用途には向かない
  • 跳ねる原因はエグレスとインスタンスサイズの2つに集中する
  • スペンドキャップの状態を最初に確認しておく

無料枠を使い続けるか、Proに上げるか。この判断も、金額ではなく「7日間で止まっても困らないか」で決めるとすっきりします。

いま作っているプロジェクトは、誰かに見られたときに動いている必要があるものでしょうか。その答えが出れば、選ぶべきプランはもう決まっているはずです。