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

Railway からの移行

このガイドでは、アプリケーションを Railway から Zeabur に移行する手順を説明します。Railway と Zeabur は同様の Git ベースデプロイモデルを共有しているため、移行は簡単です。

始める前に

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

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

Railway アプリは通常 Git リポジトリに接続されているため、同じリポジトリを Zeabur に接続できます:

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

Zeabur はプロジェクトの言語、フレームワーク、ビルド設定を自動検出します。

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

  1. Railway プロジェクトでサービスをクリックし、Variables タブに移動。Raw Editor をクリックしてすべての変数を一度にコピー。
  2. Zeabur ダッシュボードでサービスをクリックし、Variables タブに移動。
  3. Bulk Edit で一度にすべての変数を貼り付け。
💡

Railway は ${{Postgres.DATABASE_URL}} のような変数参照を使用してサービスをリンクします。Zeabur では ${POSTGRES_URI} が同等です。Railway スタイルの参照を Zeabur の変数構文に置き換えてください。

ステップ 3:データベースを移行

Railway のデータベースサービスを使用している場合:

PostgreSQL

  1. Railway からエクスポート:Railway データベースサービスを開き、Data タブの Dump 機能を使用。または pg_dump と Railway 接続文字列を使用:

    pg_dump "your-railway-postgres-url" > backup.sql
  2. Zeabur で作成Add ServiceDatabasePostgreSQL をクリック。

  3. インポート

    psql "your-zeabur-postgres-connection-string" < backup.sql

MySQL

  1. Railway からエクスポート

    mysqldump -h railway-host -u root -p railway_db > backup.sql
  2. Zeabur で作成Add ServiceDatabaseMySQL をクリック。

  3. インポート

    mysql -h zeabur-host -u root -p zeabur_db < backup.sql

Redis

  1. Railway からエクスポート

    redis-cli -u "your-railway-redis-url" --rdb dump.rdb
  2. Zeabur で作成Add ServiceDatabaseRedis をクリック。

  3. ほとんどの場合、Redis はキャッシュとして使用されるため、データインポートなしで新規開始できます。

ステップ 4:ボリュームを移行

Railway サービスが永続ボリュームを使用している場合:

  1. Railway からデータをダウンロード。Railway CLI またはサービスのシェル経由でボリュームにアクセス。
  2. Zeabur ダッシュボードでサービスの Volumes タブに移動し、Add Volume をクリック。
  3. マウントパスを指定(アプリケーションが期待するパスと一致させる必要あり)。
  4. サービスシェル経由でデータをアップロードするか、アプリケーションに再生成させる。
⚠️

Railway と Zeabur 間の直接的なボリューム転送はありません。手動でデータをエクスポートおよびインポートする必要があります。

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

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

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

  1. コミットをプッシュしてデプロイをトリガー、またはダッシュボードで Redeploy をクリック。
  2. Logs タブでアプリが正しく起動することを確認。
  3. データベース接続とすべての主要アプリケーションフローをテスト。
  4. 確認後、本番 DNS を Zeabur に切り替え。

主な違い:Railway vs Zeabur

機能RailwayZeabur
デプロイGit push(自動デプロイ)Git push(自動デプロイ)
変数参照${{Service.VAR}}${VAR}
データベース内蔵 Postgres、MySQL、Redis、MongoDBデータベースサービス、同等 + それ以上
ボリュームサービスごとのボリュームサービスごとのボリューム
スケーリング手動レプリカ数手動リソース割り当て
専用サーバー利用不可利用可能(ベアメタルオプション)
テンプレートRailway テンプレートZeabur テンプレート
AI サービス利用不可AI Hub でモデル推論
料金使用量ベース + サブスクリプション使用量ベース

以上です。Railway アプリケーションが Zeabur で稼働しています。両プラットフォームは非常に似た開発者体験を持っているため、すぐに慣れるはずです。問題が発生した場合は、コミュニティフォーラムでお問い合わせください。