サイト間レプリケーションと災害復旧 (DR)
ミッションクリティカルな業務システムを運用する場合、ハードウェアの故障やサーバー室の停電などによって、サービスが長期間停止することは許されません。
Vaporのサイト間非同期レプリケーションを使用すると、メインのデータセンター(DC)ホストから、離れた場所にある二次災害復旧センター(DRC)ホストへ、仮想マシンを自動的かつ定期的にミラーリングできます。
1. バックアップとレプリケーションの違い
- バックアップ(過去の履歴アーカイブ): バックアップは、クローゼットの中に古いアルバムを保管しておくようなものです。データベースのデータを誤って削除してしまったり、ウイルスに感染したりした場合に、箱を開けて3日前の状態にデータを戻すために使用します。
- レプリケーション(災害復旧・事業継続): レプリケーションは、別の街に本物の家とまったく同じ仕様の「複製ハウス」を建てておくようなものです。メインの家が火事になった場合、すぐに避難して複製ハウスの電気をつけ、そのまま生活を継続します。
2. 非同期レプリケーションとRPOの理解
Vaporは、日記を書く動作に似た**「非同期レプリケーション」**を採用しています。
あなたが毎日、日記帳に手書きで日記を書いているとします。別の都市に住む友人に、その日記のコピーを常に持っておいてほしいとします。
- 同期 (Synchronous):あなたが日記に文字を1文字書くたびに、友人に電話をかけて一言一句読み上げる方法です。これではあなたの執筆速度が極端に遅くなってしまいます。
- 非同期 (Asynchronous):あなたは自分のペースで日記を書き進め、毎晩(例:午後6時)に新しく書いたページだけをスキャンして友人にメールで送信する方法です。
RPO (目標復旧時点 - Recovery Point Objective)
RPOは、レプリケーションの実行間隔(例:15分、1時間、12時間など)を指し、「災害時に最大で何分前のデータまで損失を許容できるか」を定義します。 15分間隔でレプリケーションを実行している場合、午後2時10分にサーバーが物理的に大破したとしても、DRサイトのレプリカには午後2時00分までの全データが残っています。この場合の最大データ損失は10分間分のみとなります。
3. Vaporの災害復旧(DR)オペレーション
Vaporは、災害復旧を管理するための4つの主要な機能を提供します。
A. サイトペアリング(接続の確立)
メインのホストと、別のネットワークや物理的場所にあるリモートのホストを接続します。
- 管理画面の Replication > Sites に移動し、Pair Site をクリックします。
- 移行先サーバーのAPI URL(例:
https://192.168.122.129:7770/api/v1)とセキュリティトークンを入力します。
B. 計画移行 vs. 緊急フェイルオーバー
DRサイトのレプリカVMを起動してサービスを切り替える操作です。
- 計画移行 (Planned Migration): 定期メンテナンスや計画停電などの際に使用します。Vaporは一次サイトのVMを安全にシャットダウンし、最後の差分同期(ファイナルシンク)を完了させてデータ損失ゼロを保証した上で、DRサイトのレプリカVMを起動します。
- 緊急フェイルオーバー (Disaster Recovery): 一次サイトのサーバーが完全にクラッシュして通信不能になった場合に使用します。最新の同期ポイントからレプリカVMを即座に起動します。
C. 災害復旧(DR)テスト・訓練 (Test Failover)
実際の災害が発生したときに、レプリカVMが本当に正常に起動し、機能するかどうかを確認するための機能です。
- Test Failoverを実行すると、VaporはDRサイトの「隔離されたテスト用ネットワーク空間(ネットワークバブル)」内で、レプリカVMの一時的なクローンを起動します。
- レプリケーションの流れを止めることなく、本番環境にも一切影響を与えずに、VMへのログインや起動確認テストを実施できます。
- テスト完了後、Stop Drill をクリックすれば、テスト用のクローンやディスクは自動的にクリーンアップされます。
D. 再保護 (Reprotect - レプリケーションの反転)
一次サイトのサーバーが復旧し、元の環境に戻る(フェイルバックする)ための前準備です。
- VMは現在DRサイトで稼働しています。
- Reprotect をクリックすると、レプリケーションのミラーリング方向が「DRサイトから一次サイトへ」と反転します。DRサイトでの最新の変更が元のホストに同期された後、安全に計画移行を実行して元の環境に帰還できます。