v1からv2への移行
このセクションでは、自分で運営しているConcrntドメインをv1系から新しいv2系へ移行する手順を解説します。
v2で何が変わるのか
v2はConcrntのプロトコルとサーバー実装を大きく刷新したものです。移行にあたって特に影響のある変更点は以下のとおりです。
| v1 | v2 | |
|---|---|---|
| サーバー構成 | ccgateway(リバースプロキシ) + ccapi(バックエンド)の2プロセス | 単一の concrnt バイナリに統合(ゲートウェイを内包) |
| Webクライアント | web-dashboard(/web で配信) | concrnt-web (world-app) (/ で配信) |
| PostgreSQL | 16 | 18 |
| DBなどのサービス名 | db / redis / memcached | v2db / v2-redis / v2-memcached |
| 設定キー | concrnt.dimension ほか | concrnt.layer ほか(backends / integrations / meta に再編) |
重要なのは、v1とv2はそれぞれ別のデータベースを持つという点です。移行とは、v1のデータベースから既存のデータを読み出し、v2のデータベースへ書き込む作業を指します。移行専用のコマンド conctl migrate v1-to-v2 がこの変換を行います。
移行前の注意点
- fqdnは変更しない — ドメインの識別子であるfqdnは、移行後も必ずv1と同じ値を使ってください。変更するとドメインとしての同一性が失われます。
- 秘密鍵(privatekey)を引き継ぐ — サーバーが内部で利用する秘密鍵も、移行後の設定にv1と同じ値を指定してください。これによりドメインのアイデンティティが維持されます。
- ダウンタイムを伴う — ここで案内する手順は、いずれもデータを移行して最終的にv2へ切り替えることを前提としています。切替の前後で短いダウンタイムが発生します。移行期間中はv1とv2を併設する構成(Helm移行チャート、Composeのデュアルスタック構成)も用意されていますが、これも長期間の並行運用を想定したものではありません。
- バックアップ — 繰り返しになりますが、作業前にDBのバックアップを取得してください。
移行方法を選ぶ
運用方式に応じて、対応するガイドに進んでください。
- Helmでの移行 — Kubernetes + Helm で運用している場合
- Docker Composeでの移行 — Docker Compose で運用している場合(v1を止めて切り替えるシンプルな手順)
- Docker Composeでの並行運用移行 — Docker Compose でv1とv2を同時起動しながら移行する場合