Vercel(ヴァーセル)は、GitリポジトリにコードをプッシュするだけでWebサイトやAPIを公開できるクラウドプラットフォームです。サーバーを借りたり、OSを更新したりする作業はありません。とはいえサーバーが存在しないわけではなく、HTMLや画像は世界各地のCDN拠点から、動的な処理は「Vercel Functions」という関数の実行環境から返ります。関数は新規プロジェクトの既定で米国東部(ワシントンD.C.)で動きます。
2025年後半からはExpressやFastAPIのような普通のバックエンドもそのまま置けるようになり、2026年6月にはDockerfileとWebSocketにも対応しました(いずれもベータ)。この記事では、Vercelのサーバーの仕組みを日本からの実測で確かめたうえで、何が置けて何が置けないか、無料プランで足りる範囲、AWSなど他サービスとの違いを整理します。
まとめ:Vercelのサーバー管理の要否と置けない処理
自分でサーバーを用意・管理する必要はありません。Vercelが受け持つのは「静的ファイルの配信(CDN)」と「リクエストが来たときだけ動く関数」で、どちらも自動でスケールします。判断の要点は次の4つです。
- 置けるもの:Next.jsなどのフロントエンド、APIルート、Express・Hono・FastAPI・Flask・NestJSなどのバックエンド、Dockerfileで作るコンテナ(ベータ)
- 置けないもの:常駐し続けるプロセスと、関数の実行上限(Hobbyは300秒、Pro以上は通常800秒・ベータで1800秒)を超える仕事。データベースも含まれないので、Neonなどの外部DBを別に用意する
- 日本の利用者向け:関数の既定リージョンは米国東部のiad1。データベースが東京にあるなら、関数のリージョンを東京(hnd1)へ変える
- 料金:Hobby(無料)は個人の非商用だけ。仕事で使うならPro(月20ドルで1席と20ドルの利用クレジット付き、追加席は1席20ドル)
Vercelとは:読み方と開発元
Vercelは、Webアプリのビルド・公開・配信をまとめて引き受けるホスティング基盤です。ReactのフレームワークNext.jsの開発元でもあり、Next.jsの機能(ISRや画像最適化など)は設定なしで動きます。Next.jsそのものの仕組みはNext.jsとは?16系App Routerで最小アプリを動かす手順と採用判断で扱っています。
読み方は「ヴァーセル」
日本では「ヴァーセル」または「バーセル」と読まれます。検索で「バーセル」とだけ入れると、医療・介護で使う日常生活動作の評価「バーセル指数(Barthel Index)」が多く出てきます。Vercelを調べるときは「vercel」と英字で入れるほうが早く届きます。
ZEITからVercelへの改称と事業の広がり
前身は、Guillermo Rauch氏らが立ち上げたZEITです。公式ブログ「ZEIT is now Vercel」によると、2016年に最初の製品「now」(コマンド1つでデプロイするCLI)から始まり、2020年4月21日に社名をVercelへ変えました。同じ発表で、2,100万ドルのシリーズA調達も公表しています。
現在はホスティングに加えて、UIを生成するAIツールv0、複数のLLMを1つのAPIで呼べるAI Gateway、AIアプリ向けのAI SDKも提供しています。AI SDKの中身はVercel AI SDK v6とは?新機能(ToolLoopAgent・needsApproval)とv7との違い・移行【2026】にまとめています。
Vercelでできること:主な機能と無料プランの範囲
入門者がまず使う機能と、無料のHobbyプランでの扱いを並べます。Hobbyの数値は公式のHobbyプランのページ(2026年10月時点)によります。
| 機能 | 中身 | Hobby(無料)での扱い |
|---|---|---|
| Git連携の自動デプロイ | プッシュのたびにビルドして公開 | 1日100デプロイまで |
| プレビューデプロイ | ブランチやPRごとに専用URL | 使える |
| CDN配信 | 静的ファイルを最寄り拠点から返す | CDN Requests 月100万・転送100GB |
| Vercel Functions | APIや動的処理を実行 | 実行100万回・Active CPU 4時間 |
| 独自ドメインとSSL | 証明書は自動発行・自動更新 | 1プロジェクト50ドメイン |
| Cron Jobs | 決まった時刻に関数を起動 | 各ジョブ1日1回・時刻は1時間幅 |
| ストレージ | Blob・Global Config、DBはMarketplace | Blob・Global Config可、DBは各社の条件 |
| Web Analytics | アクセス解析 | 月5万イベント |
データベースはVercelの標準機能には含まれません。公式のストレージのページでは、ファイルはVercel Blob、DBはMarketplace(NeonやUpstashなど)から追加する形になっています。Supabaseと組み合わせる場合の環境変数の扱いはSupabase Vercelデプロイ連携|環境変数の自動同期とプレビュー環境のDB分離で解説しています。
プレビューデプロイのURLは検索エンジンに載りません。Vercelはプレビューの応答に X-Robots-Tag: noindex を自動で付けます(公式ナレッジベース)。例外は、ステージング用のブランチに独自ドメインを割り当てた場合で、このときヘッダーは付かないため自分で noindex を設定します。
Vercelのサーバーの仕組み:静的ファイルはCDN、動的処理は関数
Vercelにアクセスすると、リクエストはまず最寄りのCDN拠点に届きます。HTML・CSS・画像のような静的ファイルはその拠点のキャッシュから返り、APIや毎回内容が変わるページだけが関数の実行環境へ送られます。Next.jsのSSG・ISR・SSRのどれを選ぶかで、この2つの比率が変わります(Next.jsのレンダリング方式|SSG・ISR・SSR・CSRの違いとApp Routerでの選び方)。
関数の既定リージョンは米国東部のiad1
公式ドキュメントによると、新規プロジェクトの関数は既定でワシントンD.C.(iad1)で実行されます。外部のデータソースの多くが米国東海岸にあるためです。日本には東京(hnd1)と大阪(kix1)があり、プロジェクト設定か vercel.json で変えられます。選べるリージョンの数はHobbyが1つ、Proが3つまで、Enterpriseは全リージョンです。
{
"regions": ["hnd1"]
}
データベースを東京に置いているのに関数が米国東部のままだと、DBへの問い合わせのたびに太平洋を往復します。関数のリージョンはDBと同じ場所に合わせるのが原則です。
日本からの実測:x-vercel-idで見る処理リージョン
処理がどこで行われたかは、応答ヘッダーの x-vercel-id でわかります。公式の説明では、このヘッダーにはリクエストが通ったリージョンと関数が実行されたリージョンが入ります。2026年10月13日16時26分ごろ(日本時間)に日本国内の回線から、Vercelが公開している公式サンプル(express-vercel-example-demo.vercel.app と hono.vercel.dev)へ、表の各行ごとにcurlでGETを6回送った結果が次の表です。時間はcurlの time_starttransfer(応答の1バイト目が届くまで)です。
| リクエスト先 | x-vercel-id(リージョン部分) | x-vercel-cache | 応答開始までの時間 |
|---|---|---|---|
| Expressサンプルの /style.css(静的) | hnd1 | HIT | 0.08〜0.30秒(中央値0.10秒) |
| Expressサンプルの /(関数) | hnd1::iad1 | MISS | 0.26〜0.50秒(中央値0.28秒) |
| Honoサンプルの /(関数) | hnd1::iad1 | MISS | 0.24〜0.58秒(中央値0.39秒) |
静的ファイルは東京の拠点だけで完結し、関数の応答は東京で受けて米国東部で実行されています。応答開始までの時間は、関数のほうが中央値で約0.2秒長くかかりました。日本の利用者が中心のサービスで関数を多く呼ぶなら、リージョンを hnd1 に変える意味があります。自分のサイトでも次のコマンドで同じ確認ができます。
curl -sI https://example.vercel.app/ | grep -i -E "x-vercel-(id|cache)"
Fluid computeとActive CPU課金
Vercel Functionsは、2025年4月23日から新規プロジェクトで「Fluid compute」が既定になりました(公式ドキュメント)。従来のVercel Functionsは1つのインスタンスが同時に1リクエストだけを処理していましたが、Fluid computeでは1つのインスタンスが複数のリクエストを同時に処理します。課金も、コードが実際にCPUを使った時間(Active CPU)と、確保したメモリの時間で計算します。AIモデルやDBの応答を待っている時間はActive CPUに数えません。
LLMの応答を数十秒待つようなAPIでは、待ち時間ぶんの課金が減ります。サーバーレスの一般的な仕組みとコールドスタートの考え方はAWS Lambdaとは?仕組み・料金体系とコールドスタート対策・採用判断を実装者目線で解説が参考になります。
Vercelに置けるバックエンド:Express・FastAPI・Docker・WebSocket
VercelはZero Config(2019年)の頃から api/ ディレクトリに置いた関数でAPIを動かせましたが、2025年後半からはExpressやFastAPIのようなバックエンドフレームワークのアプリを、関数ごとに書き分けずにそのまま置けるようになりました。公式のランタイム一覧には、Node.js・Bun・Python・Rust・Go・Ruby・Wasm・Edgeに加えて、任意のコンテナを動かすContainerが並んでいます。
設定なしで動くバックエンドフレームワーク
次のフレームワークは、Vercelがプロジェクトを自動で判別してアプリ全体を関数にします。日付はVercelのchangelogでゼロ設定対応が告知された日です。
| フレームワーク | 言語 | ゼロ設定対応 |
|---|---|---|
| Hono | TypeScript | 2025-08-01 |
| Express | Node.js | 2025-09-05 |
| FastAPI | Python | 2025-09-25 |
| Flask | Python | 2025-10-10 |
| NestJS | Node.js | 2025-10-17 |
| Fastify | Node.js | 2025-10-31 |
| Koa | Node.js | 2026-02-03 |
| Go(net/http) | Go | 2026-04-02 |
| Django | Python | 2026-04-09 |
Expressなら、src/index.js などの決まった場所にアプリを置き、default exportするだけです(公式のExpressガイド)。app.listen() で待ち受ける書き方も受け付けます。Vercel上ではdefault exportされたappをVercelが読み込むので、listenは要りません。次のコードは、Express 5.3.0 と Node.js 26.5.0 の手元環境で app.listen() から起動し、/api/hello が200応答を返すことを確認しています。手元でVercelと同じ形で動かすなら vercel dev を使います。
// package.json に "type": "module" を書いておく
import express from 'express';
const app = express();
app.get('/api/hello', (req, res) => {
// VERCEL_REGION は関数が動いたリージョン(ローカルでは未定義)
res.json({ message: 'Hello from Express on Vercel', region: process.env.VERCEL_REGION ?? 'local' });
});
export default app;
Dockerfile.vercelによる任意コンテナの実行(ベータ)
2026年6月30日から、プロジェクト直下に Dockerfile.vercel を置くと、そのイメージを関数として動かせます(Container Runtime・全プランでベータ)。コンテナはHTTPサーバーを開いて待ち受け、既定のポートは80です。PHPやJavaなど、Vercelの公式ランタイムに無い言語もこの方法で載ります。
ただしコンテナでも中身は関数です。実行時間やメモリの上限、Active CPU課金は通常の関数と同じで、Static IPsとSecure Computeはまだ使えません。「Dockerが動くからVPSの代わりになる」とは考えないでください。
WebSocketの対応状況と接続時間の上限
2026年6月22日から、Vercel FunctionsはWebSocketをpublic betaで扱えます(全プラン・Fluid computeが必要)。ws や Socket.IO をそのまま使えます。一方で公式ナレッジベースは、接続は関数の最大実行時間に達すると閉じるのでクライアントに再接続の処理が必須、と書いています。チャットのルームや在席状況のような共有状態は、関数のメモリでなくRedisなどの外部ストアに置きます。
サーバーから送るだけのAI応答のストリーミングなら、WebSocketでなくServer-Sent Events(SSE)で足ります。
Vercelに向かない処理の線引き
次の要件があるなら、Vercelだけで完結させずに別の基盤を組み合わせます。数値はVercel Functionsの制限とCron Jobsの料金と制限によります。
| 要件 | Vercelの上限 | 代わりの置き場 |
|---|---|---|
| 関数の実行上限を超えるバッチ | Hobby 300秒・Pro 800秒(1800秒はベータ) | 処理を分割してキューで回す、別基盤のワーカー |
| 大きなファイルの受け取り | リクエスト本文4.5MB | Blobへ直接アップロード |
| 常駐プロセス・ローカルファイルの保存 | インスタンスは使われないと止まる | コンテナ常駐型のPaaS、VPS |
| 数分おきの定期実行 | Hobbyは各ジョブ1日1回 | Proにする(1分間隔) |
| 外部へ出る通信のIP固定 | Static IPsはPro以上のみ | Proに上げる、またはAWS内で処理 |
WordPress(PHP)をVercelに載せたい場合の構成と、本体の置き場所の選び方はVercelでWordPressを使う構成:PHPを置けない理由とヘッドレス化・更新の即時反映で整理しています。
Vercelの料金:Hobbyは非商用、Proは1席月20ドル
プランは3つです。金額は公式のProプランのページとVercelのSLA(2026年10月時点)によります。
| プラン | 料金 | 使える人 | 主な違い |
|---|---|---|---|
| Hobby | 無料 | 個人の非商用のみ | 関数は1リージョン・最大300秒 |
| Pro | 月20ドル+追加席20ドル | 商用・チーム | 月20ドルの利用クレジット込み |
| Enterprise | 個別見積 | 大規模組織 | 稼働率99.99%のSLA |
Hobbyは「非商用・個人利用のみ」と利用ガイドラインで決まっています。受託開発で納品するサイトや、会社のサービスはHobbyに置けません。Proの20ドルのクレジットはチーム全体で月1回付き、席を増やしても増えません。関数の実行時間などの従量課金に充てられ、使い切った分から追加請求になります。CDNのリクエストと転送量は、2026年9月に始まったFlat Rate CDN(Proに月100万リクエスト・1TB込み。新規のProは既定で適用、既存のProは切り替え制)で別に数えます。超過単価や東京リージョンの割高分、2026年9月以降の改定はVercel料金プラン|Hobby無料枠とPro($20)の中身・超過単価【2026年10月】で詳しく試算しています。
Vercelの使い方:GitHub連携とCLIによるデプロイ手順
いちばん手軽なのはGitHub連携です。次の順で進めると、数分で公開URLが発行されます。
- vercel.comにGitHub(またはGitLab・Bitbucket)のアカウントでサインアップする
- 「Add New Project」から公開したいリポジトリをインポートする
- フレームワークが自動判別されるので、ビルドコマンドを確認して「Deploy」を押す。
プロジェクト名.vercel.appのURLで公開される - 以降は本番ブランチ(既定はmain、設定で変更可)へのプッシュで本番、ほかのブランチやPRへのプッシュでプレビューが作られる
手元から直接公開するならCLIを使います。npmの最新版(dist-tags.latest)は2026年10月10日公開の63.1.2です。
# CLIを入れる
npm i -g vercel
# プロジェクトのルートで実行(初回はログインとプロジェクトの紐付け)
vercel
# 本番に公開する
vercel --prod
# 関数のリージョンを東京に指定して公開する
vercel --prod --regions hnd1
APIキーやDBの接続文字列は、コードに書かずにプロジェクト設定の「Environment Variables」へ登録します。本番・プレビュー・開発の環境ごとに別の値を持てます。独自ドメインは「Domains」で追加し、表示されるAレコードかCNAMEをDNSに設定すれば、SSL証明書は自動で発行されます。3方式の選び方とCLIでの検証、証明書が発行されないときの対処はVercelの独自ドメイン設定手順:Aレコード・CNAME・ネームサーバーの選び方とSSL発行待ちの対処で解説しています。
VercelとAWS・Netlify・Cloudflare・GitHub Pagesの違い
同じ「サイトを公開する場所」でも、得意分野が分かれます。
| サービス | 動的処理の実行場所 | 向いている用途 |
|---|---|---|
| Vercel | 指定リージョンの関数(既定iad1) | Next.js、フロントとAPIを1か所で |
| Netlify | Netlify Functions(サーバーレス関数) | 静的サイト中心、フレームワーク非依存 |
| Cloudflare Workers | 既定は利用者に近い拠点のV8 isolate | 世界中から低遅延で返すAPI |
| AWS(Amplify・Lambda等) | 自分で選んだサービス | VPC内のDB接続、細かい権限設計 |
| GitHub Pages | 無し(静的のみ) | ドキュメントや静的なページ |
Cloudflare側の仕組みはCloudflare Workersとは?対応言語・無料枠・使い方・料金を最新版で総まとめ、AWSでのホスティングはAWS Amplify Hostingとは?料金・デプロイ手順とS3+CloudFront構成との比較で比べられます。Cloudflareとの詳しい比較はVercelとCloudflare Pagesの違い:Next.jsの動かし方・料金の増え方・商用条件で選ぶにまとめています。
VercelとAWSの違い
Vercelの関数はAWSの上で動いています。公式のリージョン一覧では hnd1 が ap-northeast-1、iad1 が us-east-1 に対応し、関数のサイズ上限250MBも「AWSによる制限」と説明されています。AWSを直接使う場合との差は、ビルド・CDN・プレビュー・SSLを自分で組むか、Vercelに任せるかです。
既存のシステムがAWSのVPC内にあり、DBに閉じたネットワークでつなぐ必要があるなら、AWSで組むほうが素直です。Vercelからの閉域接続(Secure Compute)はEnterprise向けです。AWS上の構成設計はAWS・Google Cloud・Azureのインフラ構築支援でも承っています。
VercelとGitHubの違い
GitHubはソースコードを置く場所、Vercelはそのコードをビルドして公開する場所です。競合する関係ではなく、GitHubにプッシュするとVercelがそれを検知してデプロイする、という形で組み合わせます。GitHub自身の公開機能であるGitHub Pagesは静的ファイル専用で、APIのような動的処理は動きません。
Vercelのメリット・デメリットと採用判断
Vercelが強いのは、Next.jsで作ったサイトを、プレビュー付きのレビュー体制ごとすぐに回したいときです。ブランチごとのURLをデザイナーや発注者に送って確認してもらう、という流れが設定なしで手に入ります。
避けたほうがよいのは次の場面です。
- 転送量の多い動画や大容量ファイルの配信:Proに含まれる転送量(Flat Rate CDNで1TB)を超えると上の段の料金になる。Spend Managementで上限を設定しておかないと、アクセス急増がそのまま請求額に出る
- 長時間のバッチや常駐ワーカー:上の線引きの表のとおり。キューとワーカーを別の基盤に置く
- Hobbyでの業務利用:規約違反になる。社内向けの試作でも、業務ならProにする
セキュリティの面では、環境変数の漏洩やNext.jsの脆弱性への備えが要ります。環境ごとの登録とSecret型への切り替えはVercelの環境変数の設定手順:Production・Previewの分け方とvercel env pull・Secret型で解説しています。攻撃の手口と対策はVercelハッキングの手口と対策|情報漏洩・脆弱性・DDoSを実例で整理で扱っています。
よくある質問
Vercelを使えばサーバーは要らないのですか?
サーバーの調達・OS更新・スケール設定は要りません。静的ファイルはCDN、APIは関数が担当します。ただし常駐プロセスや、関数の実行上限(Hobbyは300秒、Pro以上は通常800秒)を超える処理は置けません。データベースも含まれないため、外部DBを別に用意します。
Vercelは無料で商用利用できますか?
できません。無料のHobbyプランは個人の非商用利用に限られます。収益を生むサイトや業務で使うなら、1席月20ドルのProプランが必要です。
Vercelの関数を東京リージョンで動かせますか?
動かせます。新規プロジェクトの既定は米国東部のiad1ですが、プロジェクト設定か vercel.json の regions で東京の hnd1 や大阪の kix1 を指定できます。Hobbyで選べるのは1リージョンです。
VercelのプレビューURLはSEOに影響しますか?
既定の設定なら影響しません。プレビューと古い本番デプロイには X-Robots-Tag: noindex が自動で付き、検索結果に載りません。ブランチに独自ドメインを割り当てた場合だけはヘッダーが付かないので、自分で noindex を設定します。
VercelのSLA(稼働率の保証)はありますか?
Vercelが公開しているSLAは「Enterprise Service Level Agreement」で、Enterpriseプランの利用者に対し、計画停止などの免責時間を除いて稼働率99.99%を目標とすることを定めています。HobbyとProを対象にした稼働率の保証は公開されていません。