Gadget 49:マルチインスタンス運用
本番/検証・複数環境をポートとデータで分離して同時運用する
マルチインスタンス運用
1 台で「本番っぽい」「検証用」「実験用」を同時に回すための分離テクニックです。
目的
- ポート・データ・設定を分けて複数起動できる
- 実験の影響を本番に波及させない
前提条件
分離の 3 軸
| 軸 | 方法 | 分離されるもの |
|---|---|---|
| ポート | VITE_BACKEND_HOST / --port 変更 |
アクセス先 |
| データ | .wrangler/ を別ディレクトリに |
ワークスペース・Gadget |
| 設定 | .dev.vars を切り替え |
連携・認証 |
手順
1. 作業ディレクトリを分ける
# 検証用のコピーを作る
cp -r cloudflare-os cloudflare-os-beta2. ポートとデータを分離
# cloudflare-os-beta 側で
export VITE_BACKEND_HOST=localhost:9797 # 別ポート
# .wrangler はコピー先に自然に別れている(二重に注意)3. 環境変数の切り替え
.dev.vars は環境ごとに別管理(50)。 本番側の Secret を検証側に持ち込まない。
4. 両方起動
# 本番(8787)と検証(9797)を同時起動し、分離を確認
curl -sf http://localhost:8787 >/dev/null && echo prod-ok
curl -sf http://localhost:9797 >/dev/null && echo beta-ok
Tip常駐させる場合
検証側は 17 の常駐・監視を本番とは別に管理。 監視スクリプトはインスタンス名で判別できるようにしましょう。
よくある失敗
| 症状 | 原因 | 対処 |
|---|---|---|
| ポートが衝突 | 別ポートを指定し忘れ | 起動前に lsof -i :8787 を確認 |
| データが混ざる | 同じ .wrangler を使い回し |
ディレクトリ分離を徹底 |
| 本番 Secret が漏れ伝播 | .dev.vars 使い回し |
環境ごとに別ファイル |
| どっちが本番かわからない | 識別不足 | navbar やポートで見分け、記録 |
確認
次に読む
- 環境変数を極める → 50-dev-vars-mastery
- 更新戦略 → 06-updates-strategy
- リソース → 15-resource-sizing