Railway からの移行
このガイドでは、アプリケーションを Railway から Zeabur に移行する手順を説明します。Railway と Zeabur は同様の Git ベースデプロイモデルを共有しているため、移行は簡単です。
始める前に
- Zeabur アカウント。
- アプリケーションのソースコードが Git リポジトリ(GitHub)にあること。
- Railway ダッシュボードへのアクセス。
ステップ 1:Git リポジトリを接続
Railway アプリは通常 Git リポジトリに接続されているため、同じリポジトリを Zeabur に接続できます:
- Zeabur ダッシュボードにログイン。
- 新しいプロジェクトを作成し、専用サーバーを選択(または新規購入)。
- Add Service → Git をクリックし、GitHub アカウントを接続。
- Railway サービスが使用している同じリポジトリを選択。
Zeabur はプロジェクトの言語、フレームワーク、ビルド設定を自動検出します。
ステップ 2:環境変数を移行
- Railway プロジェクトでサービスをクリックし、Variables タブに移動。Raw Editor をクリックしてすべての変数を一度にコピー。
- Zeabur ダッシュボードでサービスをクリックし、Variables タブに移動。
- Bulk Edit で一度にすべての変数を貼り付け。
Railway は ${{Postgres.DATABASE_URL}} のような変数参照を使用してサービスをリンクします。Zeabur では ${POSTGRES_URI} が同等です。Railway スタイルの参照を Zeabur の変数構文に置き換えてください。
ステップ 3:データベースを移行
Railway のデータベースサービスを使用している場合:
PostgreSQL
-
Railway からエクスポート:Railway データベースサービスを開き、Data タブの Dump 機能を使用。または
pg_dumpと Railway 接続文字列を使用:pg_dump "your-railway-postgres-url" > backup.sql -
Zeabur で作成:Add Service → Database → PostgreSQL をクリック。
-
インポート:
psql "your-zeabur-postgres-connection-string" < backup.sql
MySQL
-
Railway からエクスポート:
mysqldump -h railway-host -u root -p railway_db > backup.sql -
Zeabur で作成:Add Service → Database → MySQL をクリック。
-
インポート:
mysql -h zeabur-host -u root -p zeabur_db < backup.sql
Redis
-
Railway からエクスポート:
redis-cli -u "your-railway-redis-url" --rdb dump.rdb -
Zeabur で作成:Add Service → Database → Redis をクリック。
-
ほとんどの場合、Redis はキャッシュとして使用されるため、データインポートなしで新規開始できます。
ステップ 4:ボリュームを移行
Railway サービスが永続ボリュームを使用している場合:
- Railway からデータをダウンロード。Railway CLI またはサービスのシェル経由でボリュームにアクセス。
- Zeabur ダッシュボードでサービスの Volumes タブに移動し、Add Volume をクリック。
- マウントパスを指定(アプリケーションが期待するパスと一致させる必要あり)。
- サービスシェル経由でデータをアップロードするか、アプリケーションに再生成させる。
Railway と Zeabur 間の直接的なボリューム転送はありません。手動でデータをエクスポートおよびインポートする必要があります。
ステップ 5:カスタムドメインの設定
- Zeabur ダッシュボードでサービスをクリックし、Networking タブに移動。
- Generate Domain で無料の
.zeabur.appサブドメインを取得、または Custom Domain で独自ドメインを追加。 - DNS レコードを更新:
- 古い Railway の CNAME レコードを削除。
- Zeabur が提供するターゲットを指す CNAME レコードを追加。
ステップ 6:確認して公開
- コミットをプッシュしてデプロイをトリガー、またはダッシュボードで Redeploy をクリック。
- Logs タブでアプリが正しく起動することを確認。
- データベース接続とすべての主要アプリケーションフローをテスト。
- 確認後、本番 DNS を Zeabur に切り替え。
主な違い:Railway vs Zeabur
| 機能 | Railway | Zeabur |
|---|---|---|
| デプロイ | Git push(自動デプロイ) | Git push(自動デプロイ) |
| 変数参照 | ${{Service.VAR}} | ${VAR} |
| データベース | 内蔵 Postgres、MySQL、Redis、MongoDB | データベースサービス、同等 + それ以上 |
| ボリューム | サービスごとのボリューム | サービスごとのボリューム |
| スケーリング | 手動レプリカ数 | 手動リソース割り当て |
| 専用サーバー | 利用不可 | 利用可能(ベアメタルオプション) |
| テンプレート | Railway テンプレート | Zeabur テンプレート |
| AI サービス | 利用不可 | AI Hub でモデル推論 |
| 料金 | 使用量ベース + サブスクリプション | 使用量ベース |
以上です。Railway アプリケーションが Zeabur で稼働しています。両プラットフォームは非常に似た開発者体験を持っているため、すぐに慣れるはずです。問題が発生した場合は、コミュニティフォーラムでお問い合わせください。