先に要点
- Vercel はフロントエンド配信に特化しているので、DB・認証・決済・通知などは外部サービスと組み合わせるのが基本構成です。
- 定番の組み合わせは Next.js + Supabase + Clerk + Tailwind + Stripe + Resend + Sentry あたりで、スタートアップの初期構成として鉄板です。
- 「Supabase全部入り」と「Clerk分離」では、つまずきポイント(認証とDBの権限連携、移行コスト)が真逆に出ます。組む前に違いを把握しておくと事故が減ります。
- 無料枠は強力ですが、課金プランに入ると Vercel × Supabase × Clerk × LLM が掛け算で膨らむので、規模ごとの月額レンジを先に見積もっておくべきです。
「Vercelで何か作るとき、相性が良い技術ってあるの?」「周辺サービスを選ぶときに何を基準にすればいい?」
Vercel単体ではフロントエンド配信と軽い関数実行までしかカバーしないので、DB・認証・決済・通知・モニタリングなどは外部サービスとの組み合わせが前提になります。 ただ、選択肢が多すぎて初見では迷いやすいので、「まずはこの組み合わせから」の鉄板スタックを知っておくと立ち上がりが早くなります。
この記事では、2026年6月時点の各サービス公式ドキュメントを確認しながら、Vercelと組み合わせやすい技術を 用途カテゴリ別に網羅 し、さらに代表的な2構成を実際に組んだときの つまずきと料金の膨らみ方 まで踏み込みます。 Vercel そのものは Vercelとは?何ができる?Next.jsとの相性・向いている案件・注意点を解説、用語の整理は 初心者が知っておくべきVercelの基礎用語まとめ もあわせて読むと立ち位置が見えやすいです。
この記事は2026年6月時点の情報をもとに書いています。各サービスは料金・機能が変わりやすいので、本番採用前は公式ドキュメントの最新情報も合わせて確認してください。
まず結論:定番スタックの全体像
「Vercelで新規アプリを立ち上げるなら、まずこれを試す」という鉄板構成があります。
それぞれのカテゴリで「なぜそれが選ばれるか」を順に見ていきます。
フレームワーク
Vercelの土台となる選択。「どのフレームワークで書くか」で他のすべての判断が変わります。
| フレームワーク | Vercelとの相性 | 向く用途 |
|---|---|---|
| Next.js | ◎ 開発元、最新機能対応最速 | SaaS、メディア、AIアプリ全般 |
| Nuxt | ○ 公式アダプタあり | Vue派、企業サイト |
| SvelteKit | ○ 公式アダプタあり | 小〜中規模、軽量重視 |
| Astro | ○ 公式アダプタあり | コンテンツサイト、ブログ、ドキュメント |
| Remix | ○ 公式アダプタあり | 業務アプリ寄り、Web標準重視 |
| Vite + React | △ ビルド出力の静的配信中心 | SPA、軽量プロト |
特にこだわりがなければ Next.js が無難。Vercelの全機能(Image Optimization、SSR/ISR、Edge Functions、AI SDK連携)を最大限使えます。 他フレームワークの違いは Next.jsは他のフレームワークと何が違う?、Astroは Astroとは?何が特徴のWebフレームワークなのか初心者向けに整理 もあわせて読むと選びやすいです。
データベース
VercelはDB本体を持たない設計なので、ここの選択がアプリの性格を左右します。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Supabase | PostgreSQL + 認証 + Storage + Realtime統合 | スタートアップ、SaaS、フルスタック |
| Neon | サーバーレスPostgreSQL、ブランチDB | 開発スピード重視、PR毎にDB分離 |
| PlanetScale | サーバーレスMySQL、スケール強い | MySQLが必要、大規模化を見越す |
| Vercel Postgres | Vercel公式PostgreSQL(裏はNeon) | Vercel完結したい、シンプル構成 |
| Turso | エッジSQLite(libSQL) | グローバル分散、軽量データ |
| Upstash Redis | サーバーレスRedis | キャッシュ、レート制限、セッション |
| MongoDB Atlas | NoSQL定番、ドキュメント型 | スキーマ柔軟、Node.js中心 |
迷ったら Supabase が最も無難。DB + 認証 + Storage がワンストップで、Vercelとの接続例も豊富。 本格スケールが見えているなら Neon か PlanetScale。Redisはキャッシュ用途で Upstash がほぼ一択(サーバーレス課金で安価)。 DBアクセスを型安全にしたいなら ORM(Prisma / Drizzle)を併用するのが定番です。
認証
ログイン機能を自前実装すると詰まりやすいので、認証はSaaS利用が定番。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Clerk | UIコンポーネント込み、Next.js統合最強 | 短期で完成度の高い認証画面 |
| NextAuth.js (Auth.js) | OSS、自由度高い、無料 | カスタマイズ重視、自前管理 |
| Supabase Auth | Supabase DBとセット | Supabase採用済みなら自然な選択 |
| Auth0 | 老舗、エンタープライズ実績 | 法人向け、SSO、コンプライアンス重視 |
| Firebase Auth | Google系、モバイルにも強い | 既存Firebaseがある場合 |
| Lucia | OSS軽量ライブラリ | 自前実装に近い、依存最小化 |
「数時間で本格認証画面まで欲しい」なら Clerk。「OSS + 自由度」重視なら NextAuth.js(Auth.js)。 Supabase を採用するなら Supabase Auth がそのまま使えてシンプルです。 認証の基礎は Q&A形式: 認証(AuthN)と認可(AuthZ)を一言で言うと?、トークンの仕組みは JWT の解説も参考になります。
代表構成を組んだときのつまずき(ここが本題)
カテゴリ別の一覧だけ見ると「好きな組み合わせを選べばいい」ように見えますが、実際に組むと 認証とDBの権限連携 や ロックイン でつまずきます。 ここでは代表的な2構成を取り上げ、どこで詰まりやすいかを具体的に整理します。
構成A:Supabase全部入り
Next.js on Vercel + Supabase(DB + Auth + Storage)。1サービスで認証もDBも完結し、行レベルセキュリティ(RLS)がそのまま効く。最短で動く。
構成B:Clerk分離
Next.js on Vercel + Supabase(DB)+ Clerk(Auth)。認証UIの完成度はClerkが圧倒的。ただし認証とDBの権限を自分でつなぐ必要がある。
構成A:Supabase全部入りのつまずき
Supabaseは認証ユーザーが auth.users テーブルに入り、RLSポリシーで auth.uid() をそのまま使えるのが最大の利点です。
一方でつまずきやすいのが RLSの初期状態 です。
- 現象:テーブルを作って Vercel から anon キーで読みに行くと、ローカルでは見えていた行が本番で
[](空配列)になる。 - 原因:RLSを有効化したのにポリシーを1つも書いていない。RLSは「ポリシーが無い=全拒否」がデフォルトのため、anon キー経由のアクセスが全部弾かれる。
- 確認手順:Supabase SQL Editor で
select * from pg_policies where tablename = 'posts';を実行し、行が0なら未設定。さらにselect auth.uid();がサーバー側でnullを返していないかを確認する。 - 回避:
create policy "owner read" on posts for select using (auth.uid() = user_id);のように所有者ポリシーを明示する。service_role キーで握りつぶすのは CORS 越しのクライアントには絶対に渡さない。
もう一つのつまずきがロックインです。Supabaseの認証情報・Storageのオブジェクト所有権・RLSは Supabaseの auth スキーマに深く結びついています。
あとから「認証だけ別サービスへ」と決めても、auth.uid() を参照しているポリシーを全部書き換え、ユーザーIDの対応表を作り直す必要があり、移行が想像以上に重くなります。
構成B:Clerk分離のつまずき
Clerkは認証UIとセッション管理が圧倒的に楽ですが、DBは別サービス(Supabase等)になるため、「Clerkでログインした人」と「DBの行の持ち主」をどう一致させるか が最初の関門です。
- 現象:Clerkでログインは成功しているのに、Supabaseから自分のデータを取ると
[]が返る。エラーは出ない。 - 原因:Supabaseクライアントに Clerk のセッショントークンを渡しておらず、RLSポリシー内の
auth.jwt()がnullになっている。anon キーだけだと「未ログイン扱い」になる。 - 確認手順:ブラウザのネットワークタブで Supabaseへのリクエストヘッダに
Authorization: Bearer ...が乗っているか確認する。乗っていなければトークン受け渡しが抜けている。 - 回避:2025年4月以降、Clerkの旧JWTテンプレート方式は非推奨になり、SupabaseのThird-Party Auth(ネイティブ統合)が推奨です。Supabaseに Clerk をサードパーティ認証プロバイダとして登録し、RLSは
(auth.jwt()->>'sub') = user_idのように Clerk のsubクレームで判定します。これでリクエスト毎のトークン再取得や、SupabaseのJWTシークレットをClerkへ渡す作業が不要になります。
ロックインの観点では、構成Bは DBと認証が分離している分だけ移行は軽い のが利点です。
認証をClerkから別サービスへ移すときも、DB側は「user_id 列に文字列が入っている」だけなので、ID体系を合わせればポリシーの大改修は避けられます。
逆に「最短で動かす」点ではトークン受け渡しの一手間があり、構成Aより初動が遅くなります。
| 観点 | 構成A:Supabase全部入り | 構成B:Clerk分離 |
|---|---|---|
| 初動の速さ | ◎ 認証とRLSが直結 | ○ トークン連携の一手間 |
| 認証UIの完成度 | ○ 自前構築寄り | ◎ Clerk部品で即完成 |
| 権限連携の詰まり | RLSポリシー未設定で全拒否 | トークン未転送でRLSが空返し |
| 移行の重さ | 重い(authスキーマ依存) | 軽い(DBは user_id だけ) |
| 料金の伸び方 | 主にDB容量・帯域 | DB料金 + MAU従量 が別建て |
結論として、「とにかく速く1つで完結させたいなら構成A、認証体験を最優先しつつ後で剥がせる余地を残したいなら構成B」 という選び分けになります。 どちらも「権限連携のつまずきは現象が同じ(データが空で返る)」なので、上の確認手順を最初に押さえておくと無駄な時間を使わずに済みます。
料金が掛け算で膨らむ実例
無料枠では各サービスが太っ腹なので0円で動きますが、課金プランに入ると Vercel × DB × 認証 × LLM が別々に積み上がり、合計が急に効いてきます。 ここでは2026年6月時点の公開価格で、構成B(Next.js on Vercel + Supabase + Clerk)の概算を出します。
| サービス | 課金の起点 | 基本料金 | 主な従量課金 |
|---|---|---|---|
| Vercel Pro | チーム/シート | $20/シート/月($20の使用クレジット込み) | 帯域 1TB超で $0.15/GB、関数 $0.60/100万実行 等 |
| Supabase Pro | プロジェクト | $25/月(compute $10クレジット込み) | 容量・帯域・追加コンピュート |
| Clerk | MAU | 無料は1万MAUまで / Pro $25/月 | 1万MAU超は $0.02/MAU |
これを「月間アクティブユーザー(MAU)」の規模で並べると、掛け算の効き方が見えます(1シート・1プロジェクト前提の概算)。
| 規模 | Vercel | Supabase | Clerk | 合計の目安 |
|---|---|---|---|---|
| 個人開発(〜数百MAU) | Hobby $0 | Free $0 | Free $0 | $0/月 |
| 立ち上げ(〜1万MAU) | Pro $20 | Pro $25 | Free $0 | 約 $45/月 |
| 成長(5万MAU) | Pro $20 + 帯域超過 | Pro $25 + 容量超過 | $25 + (4万 × $0.02)=$825 | おおむね $900〜1,000/月 |
| 拡大(20万MAU) | Pro + 帯域超過(数十〜数百$) | Pro + 追加コンピュート | $25 + (19万 × $0.02)=$3,825 | $4,000超/月 |
ここで効いてくるのが Clerkの $0.02/MAU が線形に伸びる 点です。1万MAUまでは無料でも、5万MAUで $825、20万MAUで $3,825 と、認証だけで他の合計を上回ります。 さらにAI機能を足すと、LLMトークン課金が「リクエスト数 × ユーザー数」で別軸に乗るため、Vercelの関数実行回数とも掛け算になります。
無料枠の崖に注意
個人開発では全部$0でも、有料化の瞬間に Vercel $20 + Supabase $25 が同時に発生し、さらにMAUが増えるとClerkが線形に乗る。「無料の次がいきなり数百〜数千$」という段差を見込んでおく。
掛け算の発生源
Vercel関数実行 × LLMトークン × DB接続 × MAU従量。1ユーザーが重い操作を繰り返すアプリほど、4軸が同時に伸びて青天井になりやすい。
MAU課金が重いと判断したら、認証を Supabase Auth(MAU課金が緩い)や NextAuth.js(自前・無料)へ寄せる選択肢も出てきます。 ただし前章のとおり、認証を後から差し替えると権限連携を作り直すコストが発生するので、「規模が読めているならコスト構造で先に決める」 のが安全です。 AI APIの料金感は AI APIの料金はどう見る?トークン課金・モデル差・コスト設計の基本、帯域コストは 帯域コストとは?クラウドで意外と見落とされる料金 も参考になります。
AI・LLM連携
Vercelが特に力を入れている領域。AI機能を含むアプリならこの組み合わせがほぼ標準。
| ツール | 役割 | 向く用途 |
|---|---|---|
| AI SDK (Vercel公式) | LLM接続の統一インターフェース | OpenAI/Anthropic/Geminiを簡単切替 |
| OpenAI API | GPT系モデル、Whisper、Embeddings | 汎用LLM、音声、ベクトル検索 |
| Anthropic API | Claude系モデル | 長文理解、コーディング、安全性重視 |
| Google Gemini API | Gemini系モデル | マルチモーダル、画像/動画解析 |
| v0.app | 自然言語からUIコード生成 | プロトタイプ、デザイン補助 |
| LangChain.js | 複雑なAIワークフロー構築 | RAG、Agent、複数LLM連携 |
| Vercel AI Gateway | LLMリクエストの統合管理 | 複数モデル切替、コスト監視 |
最初に触るなら AI SDK + OpenAI または Anthropic の2点セット。これだけで ChatGPT風のチャットUIが短時間で組めます。 複数モデルを切り替えながら使うなら、AI Gateway や AI SDK のプロバイダ抽象化が便利。 コスト削減は AIツールのトークン使用量を減らすコツ も参考になります。
CMS・コンテンツ管理
ブログ、メディア、コーポレートサイトでの選択。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Sanity | 構造化データ、リアルタイム編集 | 編集体験重視、複雑なコンテンツ |
| Contentful | 大手SaaS、エンタープライズ実績 | 大規模メディア、多言語サイト |
| MicroCMS | 国産、日本語UI、価格安い | 国内向けサイト、小〜中規模 |
| Strapi | OSS、自前ホスト可 | カスタマイズ重視、データ持ち出したい |
| Notion API | Notion本体をCMSとして使う | チームがNotionに慣れている |
| MDX (リポジトリ内Markdown) | Gitで管理、エンジニア向け | 個人ブログ、技術ドキュメント |
| Payload CMS | OSS、Node.js製、TypeScript | フルスタック、型安全重視 |
「日本国内で運用」なら MicroCMS が分かりやすい。「本格メディア」なら Sanity か Contentful。 個人ブログや技術ドキュメントなら、リポジトリ内 MDX(Markdown + JSX)の方がシンプルなことが多いです。CMSは外部API取得が中心になるため、表示は SSG や SSR のどちらに寄せるかで CDN キャッシュ戦略が変わります。
スタイリング・UI
「見た目」を作る部分。Vercel前提なら ほぼ決まった鉄板組み合わせがあります。
| ツール | 役割 |
|---|---|
| Tailwind CSS | ユーティリティクラスCSS、デファクト |
| shadcn/ui | Tailwind+Radix UIベースのコンポーネント集 |
| Radix UI | アクセシブルなヘッドレスコンポーネント |
| Headless UI | Tailwind公式のヘッドレスコンポーネント |
| Framer Motion | アニメーション |
| Lucide / Heroicons | アイコンセット |
| next/font | フォント最適化(Next.js組み込み) |
2026年現在の標準は Tailwind CSS + shadcn/ui。ほぼセットで導入されます。 v0で生成されるUIもこの組み合わせを前提にしているので、AI生成からそのまま採用する流れがスムーズです。
決済
サブスク、買い切り、マーケットプレイス、いずれも事実上 Stripe一強。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Stripe | 世界標準、Next.js連携豊富 | サブスク、買い切り、マーケットプレイス |
| Lemon Squeezy | Stripe代替、税務代行(MoR) | 海外販売、税処理を任せたい |
| Paddle | Stripe代替、税務代行(MoR) | SaaS、海外サブスク |
| KOMOJU | 国内決済(コンビニ、銀行振込) | 日本国内向けに特化 |
| Square | 実店舗+オンライン統合 | 飲食、小売連携 |
特にこだわりがなければ Stripe。Next.js + Stripe のサンプルが Vercel公式ガイドにも多数あります。 決済の状態同期は Webhook 受信が要になるので、署名検証とリトライ前提の設計を最初から入れておきます。 日本の消費税やインボイス制度を業者に任せたいなら Lemon Squeezy や Paddle のようなMoR(Merchant of Record)型サービスが楽になります。
メール送信
Vercel の Function からメール送信するなら、専用サービスを使うのが安全。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Resend | 開発者体験重視、新興 | スタートアップ、Next.js連携 |
| SendGrid | 老舗、大量配信実績 | 大規模、エンタープライズ |
| Postmark | 取引メール特化、到達率高い | 認証メール、通知メール |
| Amazon SES | 安価、AWS統合 | 大量配信、コスト重視 |
| Mailgun | 開発者向け、API充実 | プログラマティックな送信 |
| React Email | メールテンプレートをReactで書ける | 開発者向け、Resendと相性◎ |
新規なら Resend + React Email がほぼ標準セット。Next.jsとの相性が良く、Vercelのテンプレートにも採用されています。 送信元ドメインの認証では DNS にSPF/DKIM/DMARCレコードを足す必要があるので、独自ドメイン運用なら早めに整えておきます。 メール基盤の判断は VPSからのメール送信は Resend / Brevo / レンタルサーバーSMTP のどれが現実的? もあわせて読むと整理しやすいです。
モニタリング・観測性
本番運用ではほぼ必須のカテゴリ。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Sentry | エラー監視デファクト、Next.js統合済み | エラー追跡、パフォーマンス計測 |
| Vercel Analytics | Vercel公式、簡単、プライバシー配慮 | アクセス解析、ページ人気 |
| Vercel Speed Insights | Core Web Vitals計測 | 表示速度改善 |
| Better Stack | ログ + Uptime監視統合 | 死活監視+ログ集約 |
| Datadog | 大規模統合監視 | エンタープライズ |
| PostHog | プロダクトアナリティクス、A/B | 行動分析、機能改善 |
| LogRocket | セッションリプレイ | UX問題調査 |
最低限揃えるなら Sentry + Vercel Analytics の2点セット。これでエラー検知とアクセス解析がカバーできます。 本格運用に入ったら PostHog や LogRocket でユーザー行動の深掘りも検討範囲に入ります。
ストレージ・ファイル
画像、動画、添付ファイルの置き場。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Vercel Blob | Vercel公式、シンプル | Vercel完結したい場合 |
| Cloudflare R2 | egress無料、安価 | 大量配信、コスト重視 |
| AWS S3 | 業界標準、機能豊富 | 既存AWSがある、本格運用 |
| Supabase Storage | DB+認証とセット | Supabase採用済みなら自然 |
| UploadThing | アップロード体験特化 | フォーム経由のファイル管理 |
| Cloudinary | 画像/動画変換特化 | メディアサイト、画像最適化 |
「Vercelで完結」なら Vercel Blob、「コスト重視で配信が多い」なら Cloudflare R2。「既にSupabase」なら Supabase Storage、と素直に選ぶのが現実的です。
ただし Supabase Storage はオブジェクトの所有権がSupabaseの認証ユーザーに紐づくため、構成Bで認証をClerkにしている場合は auth.uid() ベースのStorageポリシーが効かない点に注意します(StorageのRLSもDBと同じく明示が必要)。
バックグラウンドジョブ・キュー
「時間がかかる処理」「定期実行」をどう扱うかは、Vercelだけでは厳しいので外部サービスとの併用になります。
| サービス | 特徴 | 向く用途 |
|---|---|---|
| Inngest | サーバーレスジョブ・ワークフロー | 非同期処理、リトライ、ステップ関数 |
| Trigger.dev | OSSジョブランナー、TypeScript中心 | 開発者体験重視、複雑ワークフロー |
| QStash (Upstash) | サーバーレスメッセージキュー | シンプルなジョブ予約、リトライ |
| Vercel Cron Jobs | Vercel公式、定期実行 | 簡単な定時タスク |
| Mergent | サーバーレスジョブ、シンプル | 軽量なジョブ予約 |
「定期実行だけ」なら Vercel Cron Jobs。「本格的なワークフロー(失敗リトライ、ステップ実行、人手承認)」が要るなら Inngest か Trigger.dev。 ジョブキューの基本は ジョブキューとは?なぜバックグラウンド処理が必要なのか も合わせて読むと整理しやすいです。
全体像でみる定番組み合わせ
ここまでをまとめると、「Vercelで新規SaaSを立ち上げる場合の鉄板スタック」はこんな形になります。
| 領域 | 鉄板候補 |
|---|---|
| フレームワーク | Next.js |
| スタイル | Tailwind CSS + shadcn/ui |
| DB | Supabase or Neon |
| 認証 | Clerk or Supabase Auth |
| 決済 | Stripe |
| メール | Resend + React Email |
| モニタリング | Sentry + Vercel Analytics |
| ストレージ | Vercel Blob or Cloudflare R2 |
| AI | AI SDK + OpenAI/Anthropic |
| ジョブ | Vercel Cron Jobs(軽量) or Inngest(本格) |
「全部入れる必要はない」ですが、「どれが何の役割か」を把握しておくと、要件が出てきたときに迷いません。
選ぶときの注意点
新規構築の手順としては、つまずきと料金を踏まえると次の順で進めると事故が少ないです。
1. ベンダーロックインを意識する
Supabase の DB + 認証 + Storage を全部使うと、抜けるときにかなり重くなります(前章の構成Aの移行コスト)。 重要な部分は「DBはSupabase、認証はClerk、StorageはR2」のように カテゴリ別に分散 しておく方が、後の移行が楽です。ただし分散すると権限連携の手間とMAU課金が増えるトレードオフがある点も忘れずに。
2. 料金構造の違いを理解する
サーバーレス系は「使った分だけ」課金が多く、トラフィックが伸びると急に増えます。 特に Vercel関数実行 × LLMトークン × DB接続 × 認証MAU が掛け算で増えるパターンに注意。前章の概算のとおり、5万MAU規模で月$900前後、20万MAUで$4,000超に達することがあります。 Cloud全般の転送量は クラウド料金で転送量課金が増えるのはどこ? も参考になります。
3. 全部「公式」でそろえなくていい
Vercel公式のVercel PostgresやVercel Blobは便利ですが、「コスト」「機能の深さ」ではサードパーティの方が強いことも普通にあります。 「Vercel公式 = 自動で最適解」ではなく、「カテゴリごとに実績ある技術を1個ずつ選ぶ」くらいの感覚でOKです。
4. AIで書かせるなら定番スタックの方が相性が良い
ChatGPTやClaudeにコードを書かせるとき、Next.js + Tailwind + shadcn/ui + Supabase のような 世間で流通している組み合わせ を使う方が、AI生成コードの精度が上がります。 マイナーな組み合わせを選ぶと、AIの提案も少なくなり、自分で書く量が増えます。
5. 個人開発なら無料枠で完結する
ここで挙げた多くのサービスは、個人開発レベルなら無料枠だけで動きます。 Vercel Hobby + Supabase Free(5万MAUまで認証無料)+ Clerk Free(1万MAUまで)+ Sentry Free + Resend Free で、本格的なSaaSのプロトタイプが0円で立ち上がります。 ただし前章のとおり、有料化の瞬間に複数サービスの基本料金が同時に発生する「課金の壁」があるので、収益化のタイミングと合わせて切り替えます。
まとめ
Vercelは強力ですが、それ単体では「フロント配信」までしかカバーしないので、用途別に外部サービスとの組み合わせが必要です。 各カテゴリで定番を1個ずつ覚えておくと、新規アプリの立ち上げが一気に速くなります。
迷ったらこの順番で試すのが無難です。
- Next.js + Tailwind + shadcn/ui でUIを作る
- Supabase でDBを立ち上げ、RLSポリシーを最初から明示する
- 認証は 構成A(Supabase Auth)か構成B(Clerk連携) を、移行余地とMAU課金で選ぶ
- Stripe + Resend で決済とメールを足す
- Sentry + Vercel Analytics で運用とコストに備える
- AI機能が要れば AI SDK + OpenAI/Anthropic を追加
「公式で揃えなきゃ」ではなく、「カテゴリ別に実績ある技術を選ぶ」のがVercelの自由度を活かす考え方です。 2026年時点では、ここで挙げた組み合わせが業界の事実上の標準になっており、AI に質問するときも、テンプレートを探すときも、これらを前提にすると答えが見つかりやすくなります。
Vercelと相性のいい技術に関するよくある質問
Q. 全部Vercel公式サービスで統一すべきですか?
A. 統一しなくてOKです。Vercel公式(Vercel Postgres、Blob、KV)は便利ですが、機能の深さや料金ではサードパーティ(Supabase、Cloudflare R2、Upstash)の方が強いケースも普通にあります。カテゴリごとに最適なものを1個ずつ、で問題ありません。
Q. Supabase全部入りとClerk分離、どっちで組むべき?
A. 最短で1つに完結させたいなら構成A(Supabase全部入り)。認証画面の完成度を最優先し、後で認証を剥がせる余地を残したいなら構成B(Clerk分離)です。構成Aは authスキーマ依存で移行が重く、構成Bはトークン連携の一手間とMAU従量課金が増える、というトレードオフがあります。
Q. ClerkとSupabaseをつないだのにデータが空で返ります。なぜ?
A. SupabaseクライアントにClerkのセッショントークンを渡しておらず、RLSポリシー内の auth.jwt() が null になっているのが定番原因です。2025年4月以降はSupabaseのThird-Party Auth(ネイティブ統合)が推奨で、RLSは (auth.jwt()->>'sub') = user_id のようにClerkの sub クレームで判定します。ネットワークタブで Authorization ヘッダが付いているか確認してください。
Q. ClerkとNextAuth.js(Auth.js)はどちらが良い?
A. 「数時間で完成度の高い認証画面」ならClerk(UIコンポーネント込み)、「OSSで無料 + 自由度重視」ならNextAuth.js。Clerkは1万MAUまで無料、Pro $25/月で、超過分は $0.02/MAU の従量です。規模が大きいとMAU課金が効いてくるので、コスト構造も含めて判断します。
Q. 結局、月いくらくらいかかりますか?
A. 個人開発なら無料枠で$0です。有料化すると Vercel Pro $20 + Supabase Pro $25 が基本で、1万MAUまでなら合計$45前後。5万MAUだとClerkが約$825加わり月$900前後、20万MAUでは$4,000超になることもあります。Clerkの $0.02/MAU が線形に伸びるのが主因です。
Q. AI SDKは Vercel 以外でも使えますか?
A. 使えます。AI SDKはnpmパッケージで、Next.js / Node.js が動く環境ならどこでも動作します。Vercelに縛られませんが、Vercelで動かすときに最も推奨設定で使えるという関係です。
Q. 鉄板スタック以外を選んだら詰みますか?
A. 詰みません。ただしAI生成コードの精度、公式ガイドの充実度、質問したときの回答数で「定番ほど早く進む」のは事実です。マイナースタックは自分で頑張る量が増える前提で選びます。
参考リンク
- Vercel: Templates
- Vercel: Pricing
- Vercel: AI SDK
- Supabase: Pricing
- Supabase: Third-Party Auth: Clerk
- Clerk: Pricing
- Clerk: Integrate Supabase with Clerk
- Stripe: Documentation
- Sentry: Documentation
- Resend: Documentation
- shadcn/ui: Documentation