この記事は約 5 分で読めます。
筆者プロフィール: ソフトウェアエンジニア。「知った気にならない。いつまでも学び続ける」を信条に、業務と個人開発の両輪で技術を磨いています。AI 駆動開発で複数の個人開発アプリを構築・運用中。
👉 ポートフォリオ: 筆者ホームページ
「Vercel Hobby は商用利用 NG」は知っていても、「staging 環境でも NG」 までは見落としがち。本記事では、運用中の SaaS 「たすきば Knowledge Relay」 で踏んだ TOS の罠と、Netlify 移行の判断を整理します。
サービスの機能紹介・画面イメージ・コンセプトは公式プロダクトページをご覧ください。
👉 たすきば Knowledge Relay — 公式プロダクトページ
当初の構成
MVP 段階では、ADR-0012 に従って次の構成にしていました。
| レイヤ | サービス | プラン |
|---|---|---|
| アプリ | Vercel | Hobby (¥0) |
| DB | Supabase | Free (¥0) |
| Storage | Supabase Storage | Free (¥0) |
Vercel Hobby を選んだ理由:
- Next.js のデプロイが秒で完了する
- preview デプロイが PR 単位で自動生成される
- Edge runtime が標準サポート
- 無料枠が個人開発には十分
Next.js + Vercel の鉄板構成 でした。
1. Vercel Hobby TOS の罠
商用化を視野に入れた段階で、Vercel の TOS をきちんと読み直しました。
Vercel Hobby Plan の Terms of Service には、こう書かれています (要約):
Hobby Plan は商用利用に使用してはならない。Non-commercial use only.
ここで「staging 環境なら大丈夫だろう」と思いがちです。私もそう思いました。
しかし、Vercel TOS をさらに読むと:
商用プロジェクトの staging / preview / development 環境であっても、Hobby Plan の使用は禁止される。
つまり、「商用プロジェクトに紐づく環境はすべて Hobby NG」 という解釈になります。
これは多くの個人開発者が見落としがちな落とし穴。「本番は Pro にして、staging だけ Hobby で十分」という構成は、Vercel の TOS 上は NG なのです。
2. 選択肢 — Vercel Pro か Netlify か
Option A: Vercel Pro に移行する
| 項目 | 内容 |
|---|---|
| 本番 + staging + preview | すべて Pro |
| 月額 | $20 / シート (個人開発では 1 シート想定) |
| 年間 | 約 $240 (¥36,000 程度) |
Option B: Netlify に移行する
| 項目 | 内容 |
|---|---|
| プラン | Starter (Free) でも 商用利用 OK |
| 課金が必要 | Personal プラン ($9/月) で十分 |
| コスト | Vercel Pro の半額以下 |
「事業継続性のための課金」を貫きたいたすきばにとって、Vercel Pro の月額をそのまま支払うより、まず Netlify Starter (Free) で TOS リスクを即時解消し、必要に応じて Personal $9/月に昇格できる 選択肢の方が筋がよかった。
ということで、Option B (Netlify) を選びました。
3. その後の経緯 — Starter → Personal 昇格
Starter (Free) は商用利用 OK だが、
| 制約 | 内容 |
|---|---|
| credits | 300/月 (= Production deploy 約 20 回) |
| MVP リリース直前の検証 + hotfix | 枯渇した |
そのため、Netlify Personal ($9/月) に昇格 (ADR-0023)。Vercel Pro ($20/月) の半額以下で、TOS 違反のリスクなく商用 SaaS として運用 できています。
4. Netlify 移行で変わったこと
良かったこと
| 項目 | 内容 |
|---|---|
| 商用 TOS の縛りなし | staging / preview を堂々と使える (Starter / Pro いずれも商用 OK) |
| 段階的な料金体系 | Starter (Free) で TOS リスクを即時解消、Personal ($9/月) に昇格できた |
| Next.js 16 の対応 | Netlify の Next.js Runtime v5 で十分動く |
| deploy preview の体験 | Vercel と同様、PR 単位で preview URL が生成される |
苦労したこと
| 罠 | 詳細 |
|---|---|
outputFileTracingIncludes 未設定 |
standalone build で ENOENT (G-2 で詳説) |
| Set-Cookie 脱落問題 | NextAuth useSession().update() が壊れる (E-3 で詳説) |
| build スキップ指定の罠 | 配置場所 / body 内生キーワード / squash merge main 持ち越し (G-1) |
| Linux Playwright Visual Regression |
[gen-visual] 空コミットによる baseline 再生成が必要 (H-2) |
これらの罠は、Vercel から Netlify に移行する人はほぼ確実に遭遇 します。
5. 結論 — Vercel をインフラ選択肢から完全に外す
たすきばは現在、Vercel をインフラ選択肢から完全に外しています。
| 理由 | 内容 |
|---|---|
| TOS | Hobby TOS が staging 用途でも適用される問題 |
| cron 制約 | Vercel Hobby の cron は最小間隔「1 日 1 回」(G-3 で詳説) |
| コスト | Netlify Personal ($9/月) が Vercel Pro ($20/月) の半額以下 |
個人開発で商用化を視野に入れる場合、最初から Netlify にすべき だったというのが、今振り返っての結論。
6. staging 用途でも商用 TOS が適用されるのは Vercel だけか?
これは Vercel に限った話ではありません。ほとんどの PaaS の「Hobby / Free Plan」には、何らかの商用制限 が含まれています。
| PaaS | 商用制限 |
|---|---|
| Vercel Hobby | 商用利用 NG (staging 含む) |
| Heroku Eco/Basic | 過去には類似制限あり |
| Railway Trial | 一定期間後に有料化必須 |
| Render Free | サービス可用性に制限 (15 分でスリープ等) |
| Netlify Free | 商用利用 OK、ただし帯域 / ビルド時間に上限 |
「商用利用 OK の無料枠」というのは、実は珍しい。Netlify Free は、その意味で 個人開発に最も友好的な選択肢の 1 つ です。
個人開発者は「無料で使える」だけで判断せず、TOS の商用制限を必ず確認 すべきです。
おわりに — 無料枠を選ぶときは性能ではなく TOS を読む
無料枠を選ぶときは、性能ではなく TOS を読む。
これは、個人開発で SaaS を作る人すべてに伝えたい教訓です。
無料枠の性能 / 制限は、サービスのドキュメントに書かれている。しかし TOS は、別ページ (たいてい footer の小さなリンク) にあり、誰も読まない。そして TOS 違反は、サービスを止められる根拠 になります。
「動くか動かないか」と「使っていいか悪いか」は、別軸。
| 判断ポイント | 学んだこと |
|---|---|
| 無料枠の選定 | 性能だけでなく TOS を読む |
| 商用化視野 | staging / preview も商用 TOS 対象 |
| ホスティング (検証期) | 商用利用 OK の Netlify Starter (Free) |
| ホスティング (本番運用) | credits 制約で Netlify Personal ($9/月) に昇格 |
| 移行コスト | Netlify 特有の罠は事前に把握しておく |
たすきばは、この判断を経て 今日も Netlify Personal で動いて います。
これで C 章 (アーキテクチャ全体) は完結。次回から J / L / M 章 に入ります。
本記事の判断は、運用中の SaaS 「たすきば Knowledge Relay」 で実際に経た経緯です。
👉 たすきば Knowledge Relay — 公式プロダクトページ