[インフラ] Cloudflare / Vercel / Supabase / Neon を比較 ― 特に課金モデルのPros/Cons
Techこのブログ自体も Cloudflare Pages で動かしていますが、フロントのホスティングやDBを選ぶとき、機能よりも「課金モデル」で泣くことがあります。特に Cloudflare と Vercel は機能が似ているのに、お金の増え方がまったく違う。この4つを、料金の視点で整理しておきます。
⚠️ 料金は変動が激しいです。以下は 2026年時点の目安。導入前に必ず各社の公式料金ページで最新を確認してください(末尾リンク)。
まず整理:この4つは「2つの軸」
同じ土俵の比較ではありません。ざっくり2軸に分かれます。
| 軸 | サービス | 役割 |
|---|---|---|
| ホスティング / エッジ実行 | Cloudflare(Pages/Workers)・Vercel | 静的配信+エッジ関数+CDN |
| データベース / バックエンド | Supabase・Neon | Postgres 中心のデータ層 |
なので実際は「Cloudflare vs Vercel」「Supabase vs Neon」という2つの対決+組み合わせ、で考えるのが正解です。
Cloudflare vs Vercel ― 機能は似て、課金は正反対
両者とも「静的サイト配信+サーバーレス/エッジ関数+CDN」ができます。違うのはお金の増え方。
課金モデルの違い(ここが本題)
| 観点 | Cloudflare | Vercel |
|---|---|---|
| 課金の考え方 | リクエスト数・CPU時間 ベース | 使用量従量(帯域・関数GB時間・エッジリクエスト・画像最適化) |
| 帯域 / 転送量 | egress 無料・帯域は実質青天井で無料 | 従量課金(Pro 1TB込み、超過 $0.15/GB 等) |
| 無料枠 | Workers 10万リクエスト/日、Pages 静的配信は無制限無料 | Hobby 100GB帯域・各種100万まで(上限で停止・商用不可) |
| 有料の入口 | Workers Paid $5/月(10Mリクエスト込み) | Pro $20/ユーザー/月(1TB転送等込み) |
| 請求の予測しやすさ | 予測しやすい(定額寄り) | 跳ねやすい(従量メーター多数) |
要点:Cloudflare は「帯域・転送量(egress)でお金を取らない」思想で、バズって転送が増えても請求が跳ねにくい。Vercel は便利さと引き換えに従量メーターが多く、帯域・関数・エッジリクエスト・画像最適化などの超過で「気づいたら高額」が起きやすい。実際に報告されている例では、トラフィック急増や ISR+ボットのアクセスで月 $700〜$1,400 に跳ねたケースなどがあります(よく引かれる “$8,000” は最悪ケースの目安で、特定の一件としての裏取りは難しい数字です)。
⚠️ 「画像最適化の高額化」は Vercel 専用の話ではありません。 Cloudflare も Cloudflare Images / Image Resizing は帯域とは別の有料メーターです。旧 Image Resizing はキャッシュ依存で請求が読みにくく、「$20 プランなのに画像変換で $315」「想定 $110 が $400 超」といった声もありました(その後 $0.50 / 1,000 ユニーク変換・30日に1回課金へ改定)。Cloudflare の“無料”は「帯域・egress」であって「画像最適化」ではない点に注意。
Cloudflare の Pros / Cons
Pros
- egress/帯域が無料。トラフィック急増でも請求が安定
- Pages の静的配信は無制限無料、$5 で Workers も使える予測可能な料金
- R2(ストレージ)も egress 無料 → 転送コストで泣かない
Cons
- Workers は CPU時間・リクエスト単位の制約に馴染みが必要(重い処理は工夫が要る)
- Next.js 等の“全部入り”体験は Vercel ほど滑らかでない場面がある(改善は進行中)
- エコシステム/プリセットは Vercel の方が厚いことも
- 画像最適化(Cloudflare Images / Image Resizing)は帯域とは別の有料メーター。「帯域が無料だから画像も安心」ではなく、使い方次第で高くなることも
Vercel の Pros / Cons
Pros
- Next.js との一体感が最高。ゼロ設定で最新機能(ISR/画像最適化/エッジ等)がすぐ動く
- プレビューデプロイ・DX(開発者体験)が非常に良い
- 立ち上がりが速く、小規模なら無料〜安価
Cons
- 従量課金で請求が読みにくい。帯域・関数・エッジリクエスト・画像最適化が個別メーター
- Hobby は商用利用不可&上限で停止、実質 Pro($20/席〜)が前提になりがち
- トラフィックが伸びるほど同等構成で Cloudflare より高くなりやすい
Supabase vs Neon ― どちらも Postgres、立ち位置が違う
Supabase:Postgres+認証・ストレージ込みの「バックエンド一式」
- Postgres に加え、Auth・Storage・Realtime・Edge Functions がワンセット
- 無料:500MB DB / 5GB egress / 5万MAU(1週間アイドルで自動停止)
- Pro:$25/月($10のコンピュート枠込み、8GB DB・10万MAU・100GB ストレージ 等)
- Pros:これ1つで“バックエンド”が揃う/管理画面が良い/立ち上げが速い
- Cons:機能が多いぶん把握コスト/egress・MAU 等の従量に注意/無料枠の自動停止
Neon:ブランチングと scale-to-zero の「純サーバーレス Postgres」
- 役割はDBに特化(認証やストレージは付かない)。その代わりDBとして尖っている
- 無料:100 CU時間/月・0.5GB ストレージ、アイドルで自動的にゼロ課金(scale-to-zero)
- 有料:完全従量・月額の最低額なし(コンピュートは CU時間、ストレージは GB月 で課金。単価はプランにより変動)
- コピーオンライトのブランチでDBを瞬時に分岐(プレビュー環境やテストに強い)
- Pros:使った分だけ/DBブランチが便利/アイドルは実質 $0
- Cons:DB単体なので認証・ストレージは別途必要/従量ゆえアクセス次第で読みにくさ
AI(LLM)を組み込むとき ― レイヤーが違う
最近はどのサービスも「AI対応」を打ち出していますが、指しているレイヤーがそれぞれ違うので、そこを混同すると選定を誤ります。
| サービス | AIでの立ち位置 | 中身 |
|---|---|---|
| Cloudflare | 推論を「動かす」インフラ | Workers AI(エッジでモデル推論)、AI Gateway(各プロバイダへのプロキシ/キャッシュ・レート制限・可観測化)、Vectorize(ベクトルDB) |
| Vercel | AIアプリを「書く」ライブラリ+ゲートウェイ | AI SDK(プロバイダ非依存のTypeScriptライブラリ/OSS)、AI Gateway(モデルの切り替え・フェイルオーバー) |
| Supabase / Neon | DB側でベクトル検索 | pgvector(Postgres拡張)でRAGの埋め込みを保存・検索 |
要点:
- Cloudflare Workers AI は「モデルを動かす場所」。エッジで推論が走り、Neurons という単位を実トークン量に換算して課金する方式。自前でGPUを持たずに、認証・レート制限・キャッシュを AI Gateway に寄せられるのが強み。RAG のベクトルは Vectorize で持てる
- Vercel AI SDK は「モデルを動かす場所」ではなくコードを書くためのライブラリ。OpenAI でも Anthropic でも同じ書き味で呼べるプロバイダ非依存の作りで、OSS なので Vercel 上でなくても動く(例えば Cloudflare Workers 上でも Vercel AI SDK は使える)。つまり「Vercel AI SDK を使う=Vercel に課金」ではない
- DB を選ぶ観点では Supabase も Neon も pgvector が使えるので、RAG の保存先としてはどちらでも成立する
組み合わせの現実解:推論そのものを安く/エッジで回したいなら Cloudflare Workers AI + AI Gateway + Vectorize。アプリのコードを書きやすくしたいなら Vercel AI SDK(=ライブラリなので Cloudflare 側に載せてもいい)。RAG のベクトルは Supabase / Neon の pgvector で持つ、というレイヤーごとの使い分けが素直です。
課金の粒度:ユーザー課金か、上限は設定できるか
機能以上に効いてくるのが、チーム人数でコストが増えるか(席課金)と、予算に上限をかけられるか。ここが4つで結構違います。
| サービス | ユーザー(席)課金 | 従量の主役 | 予算・上限のコントロール |
|---|---|---|---|
| Cloudflare | ✕(アカウント単位・$5〜) | リクエスト / CPU時間 | 明示的な予算キャップは弱め。ただし egress が無料で元々暴れにくい |
| Vercel | ○($20 / 席・開発者ごと) | 帯域 / 関数 / エッジリクエスト / 画像最適化 | Spend Management で上限・通知・自動停止(既定 $200/周期)を設定可 |
| Supabase | ✕(組織単位・$25〜) | DB容量 / egress / MAU / コンピュート | Spend Cap が既定でON(超過分は課金せず機能制限)。コンピュートは段階選択 |
| Neon | ✕(使った分だけ) | コンピュート時間 / ストレージ | オートスケールの min/max CU・scale-to-zero(既定5分)で細かく調整 |
要点:
- 席(ユーザー)課金は、この中で Vercel だけ。開発者が増えるほど固定費が上がるので、大人数だと Cloudflare(席非課金)が効く
- 上限の掛けやすさは、既定でON の Supabase(Spend Cap) と Vercel(Spend Management) が明快。Neon はオートスケール上限で実質コントロール。Cloudflare はそもそも egress 無料で暴れにくい代わり、細かい予算キャップは弱い
無料枠でどこまで使える?(と、その落とし穴)
まず試すなら無料枠。ただし「何が無料か」より 「どこで詰まるか/商用で使えるか」 が大事です。
| サービス | 無料枠の主な内容(2026時点の目安) | 商用利用 | 最大の落とし穴 |
|---|---|---|---|
| Cloudflare | Workers 10万リクエスト/日、Pages は静的配信が帯域無制限・無料、ビルド 500/月 | 可 | Workers は「1リクエスト CPU 10ms」等の実行制約。静的サイトなら無料でも本番運用しやすい(このブログもほぼ無料枠) |
| Vercel | 帯域 100GB、エッジ/関数 各100万/月(超過はなく上限で停止) | 不可(個人・非商用のみ) | 商用利用は Pro 必須。“報酬が絡む開発”は Hobby では不可 |
| Supabase | DB 500MB、egress 5GB、5万 MAU、Edge Functions 50万/月 | 可 | 7日アイドルで自動停止+アクティブ 2プロジェクトまで |
| Neon | 100プロジェクト、10ブランチ/proj、100 CU時間/proj、ストレージ 0.5GB/proj | 可 | scale-to-zero(5分)で復帰に一瞬ラグ/ストレージ 0.5GB/proj と小さめ |
いちばんの注意は Vercel の「無料は非商用のみ」。仕事・受託・自社プロダクトで使うなら無料枠は使えず、Pro($20/席)が前提になります。他の3つは無料でも商用OK。
複数人で開発するときの注意点
チーム開発になると、無料枠と席課金の話が一気に効いてきます。
- Vercel は「開発者ごとに課金」+「無料は非商用」:コードを書く/デプロイする人は1人ずつ $20/月(閲覧だけの Viewer は無料)。仕事なら実質 Pro 前提で、エンジニアが増えるほどトラフィックと無関係に席代が積み上がる
- Cloudflare は席課金なし:アカウントにメンバーを招待してロールを割り当てる方式。人数が増えてもフロントの費用は増えにくい
- Supabase は組織単位の課金:メンバー招待自体は基本無料(Pro でも人数課金なし)。厳密なロール・監査(SOC2 等)が要るなら Team($599)。Spend Cap も組織単位で共有される
- Neon はDBブランチが刺さる:席課金なし+開発者/PR ごとにDBを分岐できるので、本番を汚さず並行開発しやすい
⚠️ Supabase 無料枠の“人数×プロジェクト”の罠:無料の「2プロジェクト」枠は、Owner / Admin ロールの各メンバーが“アカウント横断”で持つプロジェクト数で集計されます。つまり 管理者として招いた人が自分の無料プロジェクトを既に持っていると、その分が枠を食い、「2枠あるはずが1枠しか使えない」「そもそも招けない」 が起きます。回避策は、その人のロールを下げる(Owner/Admin にしない)/使わないプロジェクトをポーズ/別の無料組織を作る/Pro にする。ただしポーズは「枠を空ける」だけで、休止分はカウントされない一方、復帰(restore)時にはアクティブ枠が必要なので同時に生かせるのは2つまで。すでにアクティブが2つあると、別のPJをポーズ/削除して枠を空けない限り復帰できません(復元可能期間は90日、超過するとデータごと復元不可)。
なお Vercel ではこの問題は起きません。個人アカウント(Hobby)とチーム(Pro)が分離していて、招いたメンバーの個人プロジェクトがチームの枠を食うことはないためです。
共通で最初に決めておきたいこと:
- 環境変数・シークレットの共有と権限管理(誰が本番を触れるか)
- 無料枠はチーム/商用だと早々に限界。人数と用途で「有料前提」の見積もりを
- プレビュー環境ごとのDB(Neon / Supabase のブランチ機能)を使うと、データ衝突や“本番で検証”事故を減らせる
課金の“壁”はどこで来る?(特にスタートアップ)
「無料で粘って、伸びたら払う」——このつもりが崩れやすいポイントを、パターン別に。
パターン1:無料のまま「会社・プロダクト」で使う
- Vercel:Hobby は非商用のみ。法人・受託・収益化プロダクトになった瞬間に Pro($20/席)が必須。“まだ無料でいい”が通用しない
- Supabase:無料でも商用可だが、7日アイドルで自動停止+アクティブ2プロジェクトまで。本番を常時稼働させる時点で Pro($25)が前提
パターン2:1つのプロジェクトを複数人で触る
- Vercel:コードを書く/デプロイする人は1人ずつ $20。閲覧だけの Viewer は無料(PM・デザイナー・投資家などの可視化はタダ)。ただしプロジェクト単位で権限を細かく絞るロール(Contributor 等)は Enterprise 側で、Pro は実質「$20 の開発者」か「無料の閲覧者」の二択
- Supabase:メンバー追加自体は無料だが、「誰が本番を触れるか」を絞るプロジェクト単位のロール・SSO・監査は Team($599)から。“junior は本番に触らせない”をやろうとすると $25 → $599 の崖
- Cloudflare / Neon:席課金がないので、人数が増えてもフロント/DBの固定費は上がりにくい
スタートアップが当たりやすい壁(まとめ)
- 人を増やすと Vercel は席代が積み上がる:売上ゼロでもエンジニア5人なら $100/月〜。採用がそのままコスト増になる(トラフィックとは無関係)
- ガバナンス/コンプラ段階の崖:SSO・監査ログ・本番権限の分離が要る(=エンタープライズ顧客に売る)タイミングで、Supabase は $25 → $599、Vercel は Enterprise へと段が一気に上がる
- 本番と開発の分離を無料枠だけでやろうとすると、プロジェクト上限・自動停止に阻まれる
- 対策:「どの壁がいつ来るか」を先に見積もる。人数の壁が近いなら席課金のない Cloudflare / Neon 寄せ、権限・コンプラの崖が近いならSupabase Team / Enterprise の予算を最初から織り込む
ケース別:どの組み合わせが向いているか
- 個人ブログ・LP・ドキュメント(静的中心、たまにバズる) → Cloudflare Pages(+必要なら Neon か Supabase)。帯域無料でバズに強く、席課金もなし。このサイトもこれ
- Next.js の SaaS を、DX最優先で素早く立ち上げたい → Vercel +(Supabase か Neon)。DXは随一。ただし席課金+従量なので、Spend Management で上限を必ず設定。人数・画像最適化・ISR に注意
- 認証・ストレージ・DBを最短でまとめたい(小さめのチーム) → Supabase(+ Cloudflare Pages か Vercel)。Spend Cap 既定ONで事故りにくい
- プレビュー環境ごとにDBを分けたい/DBを従量で最適化したい → Neon +(Vercel か Cloudflare)。DBブランチと scale-to-zero が効く
- とにかくコストを暴れさせたくない(予測性が最優先) → Cloudflare Pages + Neon(scale-to-zero)。egress無料+アイドルゼロで、上限に振り回されにくい
- 大人数チーム/開発者が多い → 席課金の Vercel はメンバー増で固定費が膨らむ点に注意。Cloudflare は席非課金で人数増に強い
まとめ
- Cloudflare vs Vercel は「機能」より「課金」で選ぶと後悔しにくい。トラフィックが読めない/伸びるなら Cloudflare の“帯域無料”が効く。DX と Next.js 一体感なら Vercel
- Supabase は“一式”、Neon は“DBに特化+ブランチ”。手早さの Supabase、尖ったDBの Neon
- どれも無料枠が優秀なので、まず小さく試して自分の負荷での請求を見てから決めるのが安全
参考リンク(最新の料金はこちら)
Cloudflare, Vercel, インフラ比較