結論(おすすめ1つ)
Heroku から乗り換えるなら、まず Render を選べ。
Heroku のデプロイフロー(git push、Procfile、環境変数、PostgreSQL アドオン)がほぼそのまま通用するため、移行コストが三者の中で最も低い。ドキュメントと UI の完成度が高く、非インフラ専門家が混在するチームでも運用が破綻しにくい。Railway・Fly.io は用途によって強みがあるが、「とにかく今すぐ Heroku を脱出したい」なら Render が最短経路だ。
比較表(料金/無料枠/移行コスト/対応言語)
| 項目 | Render | Railway | Fly.io |
|---|---|---|---|
| 無料枠 | あり(一定時間後スリープ) | あり(月次クレジット制・公式要確認) | あり(小規模インスタンス枠・公式要確認) |
| 有料プラン料金 | 公式の料金ページで要確認 | 公式の料金ページで要確認 | 公式の料金ページで要確認 |
| 課金モデル | プラン固定 | リソース従量課金 | リソース従量課金 |
| Heroku からの移行コスト | 低(Procfile/環境変数互換) | 中(railway.toml 追加が必要) | 高(fly.toml + Dockerfile 必須) |
| 対応言語 | Node/Python/Ruby/Go/Java 等 | 同左 + Deno 等 | Docker ベースで言語非依存 |
| マネージド PostgreSQL | あり | あり | あり(自己管理寄り) |
| デプロイリージョン | US/EU 中心 | US/EU/AP | 世界 30+ リージョン |
移行手順
Heroku → Render への移行を、典型的な Node.js アプリを例に説明する。
1. リポジトリ連携
Render の Web UI から「New Web Service」を選択し、GitHub リポジトリを接続する。CLI を使う場合は以下。
npm install -g @render/cli
render login
2. Procfile の確認
既存の Procfile はそのまま使える場合がほとんど。
web: node server.js
Render は Procfile を自動検出する。手動指定する場合はダッシュボードの「Start Command」欄に同等コマンドを入力する。
3. 環境変数の移行
# Heroku から環境変数一覧を取得
heroku config -a <your-app-name>
# 出力を Render ダッシュボードの
# Environment → Add Environment Variable に転記する
# あるいは render.yaml で IaC 管理する(後述)
4. render.yaml で Infrastructure as Code 管理(推奨)
services:
- type: web
name: my-app
runtime: node
buildCommand: npm install
startCommand: node server.js
envVars:
- key: NODE_ENV
value: production
- key: DATABASE_URL
fromDatabase:
name: my-db
property: connectionString
databases:
- name: my-db
databaseName: myapp
user: myapp
5. PostgreSQL データ移行
# Heroku Postgres からダンプ取得
heroku pg:backups:capture -a <your-app-name>
heroku pg:backups:download -a <your-app-name>
# Render Postgres へリストア
pg_restore --verbose --clean --no-acl --no-owner \
-h <render-host> -U <render-user> -d <render-db> \
latest.dump
6. カスタムドメインと DNS 切り替え
# Render ダッシュボード → Custom Domains → [ドメイン](https://px.a8.net/svt/ejp?a8mat=4B3XB4+4VMW8I+50+2HU3GX)を追加
# DNS プロバイダ側で CNAME を Render 指定の値に更新
# SSL は自動発行(Let's Encrypt)のため手動設定不要
向き不向き
Render が向くケース
- Heroku から離脱するが、インフラ工数を最小化したいチーム
-
git pushでデプロイするシンプルなフローを維持したい場合 - PostgreSQL・Redis をマネージドで使いたい中小規模アプリ
- 非インフラエンジニアが主体のスタートアップや個人開発者
Railway が向くケース
- 従量課金でコストを細かくコントロールしたい場合
- モノレポ構成で複数サービスをまとめてデプロイしたいとき
- プレビュー環境を使い捨てで量産したいチーム
Fly.io が向くケース
- エッジに近い複数リージョンへの展開が要件にある本番サービス
- Docker と独自ランタイムで細かい制御が必要なケース
- インフラエンジニアが在籍しており
fly.tomlを自前管理できるチーム
避けるべきケース
- Render 無料枠:スリープ復帰に数十秒かかるため、即応が必要な本番 API には不向き。有料プランへのアップグレードを検討すること
- Railway:月次クレジットの消費ペースが読みにくく、突発トラフィックが発生するサービスではコスト管理に注意が必要
-
Fly.io:
fly.toml・マシン管理・ボリューム設定など学習コストが高い。インフラ担当不在のチームが短納期で移行するシナリオには向かない
If you found this useful: I packaged 50 copy-paste AI debugging prompts + drop-in Claude Code config templates (CLAUDE.md, settings.json, MCP) into a small kit.
Launch deal: code START50 = 50% off → 50 AI Debugging Prompts + Claude Code Config Pack (about $6, 50% off applied)
New: my 10-chapter ebook Practical Claude Code — automation & unattended operation (about $9, 50% off applied)
Top comments (0)