AWS Elastic Disaster Recovery
オンプレミスや他クラウドのサーバーを AWS に継続的にレプリケーションし、数分でフェイルオーバーする DR サービス
概要
AWS Elastic Disaster Recovery (DRS) は、オンプレミスのサーバーや他クラウドの仮想マシンを AWS に継続的にレプリケーションし、災害発生時に数分でフェイルオーバーを実行するディザスタリカバリサービスです。ブロックレベルのデータレプリケーションにより、RPO (目標復旧時点) を秒単位、RTO (目標復旧時間) を分単位に抑えられます。ソースサーバーにエージェントをインストールするだけで、OS やアプリケーションの変更なしにレプリケーションを開始でき、Windows と Linux の両方に対応しています。
継続的データレプリケーションのアーキテクチャ
DRS のレプリケーションは、ソースサーバーにインストールした AWS Replication Agent がブロックレベルの変更を検出し、ステージングエリアのレプリケーションサーバーに転送する仕組みです。初回は全ディスクのフルコピーが実行され、以降は変更ブロックのみが継続的に転送されます。ステージングエリアは軽量な EC2 インスタンス (t3.small 程度) と EBS ボリュームで構成され、ソースサーバーのディスクデータを低コストで保持します。レプリケーションの通信は TLS で暗号化され、帯域幅のスロットリング設定で業務ネットワークへの影響を制御できます。ポイントインタイムリカバリ機能により、保持期間内に取得された時点のスナップショットからリカバリーできます。ランサムウェア攻撃でデータが暗号化された場合でも、保持期間内の感染前の時点に巻き戻してリカバリーできます。レプリケーションの遅延 (ラグ) はコンソールでリアルタイムに監視でき、CloudWatch メトリクスとしても取得可能です。
リカバリードリルとフェイルバック運用
DRS の運用では、定期的なリカバリードリル (DR 訓練) の実施が欠かせません。ドリルはソースサーバーのレプリケーションを中断せずに実行でき、本番環境に影響を与えません。ドリルを開始すると、最新のレプリケーションデータから EC2 インスタンスが起動し、リカバリー後のサーバーが正常に動作するかを検証できます。ドリル中は起動したインスタンスの EC2 と EBS の料金が発生するため、検証が終わったらドリルインスタンスを終了します。実際の災害時にはリカバリーを実行し、ソースサーバーの代わりに AWS 上のインスタンスで業務を継続します。災害が収束した後のフェイルバック (元の環境への復帰) も DRS がサポートしており、AWS 上のインスタンスからオンプレミスへの逆方向レプリケーションを実行できます。フェイルバック完了後にレプリケーションを再開すれば、通常の DR 体制に復帰します。
ランチテンプレートとネットワーク設計
リカバリー時に起動する EC2 インスタンスの構成は、ランチテンプレート (Launch Settings) で事前に定義します。インスタンスタイプ、サブネット、セキュリティグループ、IAM ロール、EBS ボリュームタイプなどを指定し、リカバリー後のインスタンスが本番環境と同等のネットワーク接続性とセキュリティ設定を持つようにします。ネットワーク設計では、ステージングエリアのサブネットとリカバリー先のサブネットを分離することが推奨されます。ステージングエリアはレプリケーショントラフィック専用とし、リカバリー先のサブネットは本番ワークロードのネットワーク要件に合わせて設計します。レプリケーションの通信は既定ではパブリック IP を使い、Direct Connect や Site-to-Site VPN などの既存のプライベート接続を経由する設定も選べます。DNS の切り替えには Route 53 のヘルスチェックとフェイルオーバールーティングを組み合わせ、フェイルオーバーの自動化を実現します。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。