はじめに移行Vercel からの移行

Vercel からの移行

このガイドでは、アプリケーションを Vercel から Zeabur に移行する手順を説明します。フロントエンドとバックエンドサービス(データベース、キャッシュ、バックグラウンドワーカー)を Web アプリケーションと一緒に扱える単一プラットフォームをお探しなら、Zeabur が最適です。

始める前に

  • Zeabur アカウント。
  • アプリケーションのソースコードが Git リポジトリ(GitHub)にあること。
  • Vercel ダッシュボードへのアクセス。

ステップ 1:Git リポジトリを接続

Vercel プロジェクトはすでに Git リポジトリに接続されています。同じリポジトリを Zeabur に接続:

  1. Zeabur ダッシュボードにログイン。
  2. 新しいプロジェクトを作成し、専用サーバーを選択(または新規購入)。
  3. Add ServiceGit をクリックし、GitHub アカウントを接続。
  4. Vercel プロジェクトが使用している同じリポジトリを選択。

Zeabur は Next.jsNuxtAstroRemixSvelteKitVite、静的サイトを含むすべての主要フレームワークをネイティブサポートしています。

💡

next.config.js(または next.config.mjs)は Zeabur でそのまま動作します。変更不要です。Zeabur のビルドシステムは output: 'standalone' を含む Next.js 設定と完全互換です。

ステップ 2:環境変数を移行

  1. Vercel プロジェクトで SettingsEnvironment Variables に移動。各変数のキーと値をコピー。
  2. Zeabur ダッシュボードでサービスをクリックし、Variables タブに移動。
  3. 変数を追加。Bulk Edit で複数のキーバリューペアを一括貼り付け。
💡

Vercel は環境ごと(Production、Preview、Development)に変数のスコープを分けています。Zeabur では変数はデフォルトですべてのデプロイに適用されます。プレビューデプロイに異なる値が必要な場合は、複数の環境を作成して管理できます。

ステップ 3:フレームワーク固有の設定を処理

Next.js

  • 変更不要。 Zeabur は Next.js を自動検出し、正しくビルドします。
  • next.config.js の rewrites、redirects、headers、画像最適化機能はそのまま動作します。
  • API routes と Server Actions はネイティブに動作します。Zeabur は Next.js アプリをフルサーバーとして実行し、Serverless Functions としてではありません。
  • Next.js 設定で output: 'standalone' を使用している場合、Zeabur が自動的に処理します。

Nuxt / Astro / Remix / SvelteKit

  • これらのフレームワークは自動検出され、標準ビルドコマンドでビルドされます。
  • フレームワーク固有の設定変更は不要です。

静的サイト(Vite、Create React App など)

  • Zeabur は静的ビルドを自動検出し、内蔵 Web サーバーで提供します。
  • プロジェクトにカスタムルーティング付きの vercel.json がある場合、フレームワークの設定で同等のリダイレクトを設定する必要があるかもしれません。

ステップ 4:Vercel 固有機能のマッピング

一部の Vercel 機能は Zeabur では異なる対応になります:

Vercel 機能Zeabur の代替
Serverless Functions永続サーバーとして実行(コールドスタートなし)
Edge Functionsサーバーサイドコードとして実行
Vercel Postgres / KV / Blobデータベースサービス → PostgreSQL、Redis、またはオブジェクトストレージ
Cron Jobs(vercel.jsonフレームワーク内蔵の cron または別の Worker サービス
vercel.json rewrites/redirectsフレームワークレベルの設定(例:next.config.js rewrites)
Preview Deployments変更をプレビューする独立環境を作成
Analyticsサードパーティ分析(例:Plausible、PostHog)
💡

Vercel では各 API route が独立した Serverless Function として実行され、コールドスタートがあります。Zeabur ではアプリが永続サーバーとして実行されるため、より速い応答時間とゼロコールドスタート遅延を実現します。

ステップ 5:バックエンドサービスを追加(必要な場合)

Vercel から移行する主な理由の一つは、技術スタック全体を一つのプラットフォームに統合することです。Zeabur では、フロントエンドと並行してデータベースやバックエンドサービスを追加できます:

  • PostgreSQL、MySQL、MongoDBAdd ServiceDatabase でデータベースを選択。
  • Redis:キャッシュとセッションストレージ用のプリビルトサービスとして利用可能。
  • バックエンド API:同じプロジェクトに別のバックエンドサービス(Node.js、Python、Go など)をデプロイ。プロジェクト内のサービスはプライベートネットワーキングで通信可能。

ステップ 6:カスタムドメインの設定

  1. Zeabur ダッシュボードでサービスをクリックし、Networking タブに移動。
  2. Generate Domain で無料の .zeabur.app サブドメインを取得、または Custom Domain で独自ドメインを追加。
  3. DNS レコードを更新:
    • 古い Vercel の CNAME レコード(通常 cname.vercel-dns.com を指す)を削除。
    • Zeabur が提供するターゲットを指す CNAME レコードを追加。
⚠️

ドメインに Vercel のネームサーバーを使用している場合、レコードを更新する前に DNS 管理をレジストラまたは別の DNS プロバイダーに戻す必要があります。

ステップ 7:確認して公開

  1. コミットをプッシュしてデプロイをトリガー、またはダッシュボードで Redeploy をクリック。
  2. Logs タブでアプリがビルドされ正しく起動することを確認。
  3. すべてのルート、API エンドポイント、サーバーサイドレンダリングをテスト。
  4. 確認後、本番 DNS を Zeabur に切り替え。

主な違い:Vercel vs Zeabur

機能VercelZeabur
フォーカスフロントエンド / Jamstack / Serverlessフルスタック(フロントエンド + バックエンド + データベース)
実行モデルServerless Functions(コールドスタート)永続サーバー(コールドスタートなし)
データベースVercel Postgres、KV、Blob(限定的)データベースサービス(PostgreSQL、MySQL、MongoDB、Redis 等)
バックエンドサービスネイティブ非対応フロントエンドと並行して任意のバックエンドをデプロイ
ビルドシステムVercel Build自動検出(Nixpacks / Dockerfile)
料金関数呼び出し + 帯域幅使用量ベースのコンピュート + ストレージ
チーム機能シートごとの料金柔軟なチームプラン
インフラServerless のみ共有クラスタ + 専用サーバー

以上です。Vercel アプリケーションがフルスタックプラットフォームとして Zeabur で稼働しています。データベース、バックエンドサービス、フロントエンドがすべて一か所に。問題が発生した場合は、コミュニティフォーラムでお問い合わせください。