Cloud Service
Azure Site Recovery
VM やオンプレのワークロードを別リージョンへ継続レプリケーションし、障害時にフェールオーバーして事業を止めない。DR を仕組み化するサービスで、AWS の Elastic Disaster Recovery に相当。
- 1.ワークロードを別の場所へ継続レプリケーションし、災害時にフェールオーバーする DR サービス。
- 2.復旧計画とテストフェールオーバーで、止めずに手順を検証してから本番切り替えできる。
- 3.AWS の Elastic Disaster Recovery(DRS)に相当する位置づけ。
解決する課題
リージョン障害やデータセンター停止が起きても業務を止めたくない、しかし常時フル稼働の待機環境を二重に持つのはコストが重い、という場面で使います。本番を動かしたまま継続的にレプリケーションし、いざというときだけ復旧先を立ち上げる発想です。
- リージョンやデータセンターの障害に備え、別の場所へ自動で切り替えられる仕組みがほしい
- 常時稼働の待機サイトを丸ごと持たず、復旧先のコンピュートは平時は止めておきコストを抑えたい
- 復旧手順が机上のままで、いざ動かして本当に復旧できるか自信がないので、本番を止めずに検証したい
- 複数の VM を正しい順序で起動し、依存関係を保ったまままとめて復旧させたい
- 監査や規制対応で、DR の手順と復旧目標(RPO/RTO)を文書化し定期検証した証跡を残したい
主要概念と用語
- Recovery Services コンテナー(Vault): レプリケーションと復旧の構成・状態を束ねる入れ物。保護対象や復旧計画はこのコンテナー単位で管理する
- レプリケーション(Replication): 保護対象のディスク変更を復旧先へ継続的に転送し続ける処理。これにより復旧先が常に最新に近い状態に保たれる
- フェールオーバー(Failover): 障害時に復旧先で VM を起動し、そちらで業務を継続させる切り替え操作
- テストフェールオーバー(Test failover): 本番に影響を与えず、隔離ネットワーク上で復旧を試す検証用のフェールオーバー
- フェールバック(Failback / 再保護): 元のサイトが復旧した後、再びレプリケーションを張り直して元へ戻す操作
- 復旧計画(Recovery plan): 複数 VM の起動順序やスクリプト・手動手順をまとめ、グループ単位で順序立てて復旧させる定義
- RPO(目標復旧時点)/ RTO(目標復旧時間): どこまでのデータ損失を許容するか(RPO)と、どれだけの時間で復旧するか(RTO)の目標値
- 復旧ポイント(Recovery point): 復旧時に選べる時点。直近のクラッシュ整合や、アプリ整合のスナップショットから選べる
Site Recovery の流れは「コンテナー作成 → 対象を有効化してレプリケーション開始 → 復旧計画で起動順序を定義 → テストフェールオーバーで検証 → 本番フェールオーバー → 元サイト復旧後にフェールバック」です。テストフェールオーバーで止めずに検証してから本番切り替えに臨むのが定石です。
仕様・制限・クォータ
- 保護対象は Azure VM のリージョン間レプリケーションのほか、VMware や Hyper-V、物理サーバーといったオンプレのワークロードから Azure への DR にも対応する
- レプリケーションは非同期で行われ、復旧先には複数世代の復旧ポイントが保持される。直近のクラッシュ整合点と、より古いアプリ整合点から選んで戻せる
- 1つの復旧計画にまとめられる VM 数や、1コンテナーあたりの保護対象数には上限がある。大規模環境ではコンテナーや計画を分割する。具体的な上限値は変動するため公式ドキュメントで確認する
- 達成できる RPO は転送帯域とデータ変更量に依存する。広帯域・低遅延ほど RPO は小さくなり、変更が多いワークロードほど帯域を要求する
- すべての OS・ディスク構成・特殊なワークロードがそのまま保護できるわけではなく、サポート対象の OS バージョンや構成に制約がある。導入前に公式の対応マトリクスで確認する
内部の仕組み
保護を有効化すると、対象 VM のディスク変更が継続的にレプリケーションされます。Azure 間のレプリケーションでは、変更データはまず復旧先リージョンのキャッシュ用ストレージへ送られ、そこから復旧先のマネージドディスクへ適用されます。これにより本番ディスクへの影響を抑えつつ、復旧先を最新に近い状態へ保ちます。オンプレからの DR では、環境内に構成サーバー/プロセスサーバーなどのコンポーネントを置き、変更を集約して Azure へ転送します。
フェールオーバー時は、保持された復旧ポイントから1つを選び、復旧先で VM を起動します。テストフェールオーバーは本番のレプリケーションを止めずに隔離ネットワーク上で別 VM を立ち上げて検証でき、終わったら後片付けされます。元サイトが戻れば再保護とフェールバックでレプリケーションの向きを逆にして元へ戻します。
- 復旧先のコンピュートはフェールオーバーするまで起動しないため、平時はストレージ中心のコストで済む
- レプリケーションは非同期なので、直近の数十秒〜数分ぶんの変更が失われうる(その許容が RPO)
- 復旧計画で起動順序やスクリプトを組み込み、依存関係を保ったまま順序立てて復旧できる
設計パターン / ベストプラクティス
- テストフェールオーバーを定期実施: 半年〜四半期ごとなど周期を決めて隔離環境で復旧を試し、手順とスクリプトの陳腐化を防ぐ
- 復旧計画で順序とスクリプトを明文化: DB → アプリ → フロントのように起動順をグループ化し、手動手順や自動化スクリプトを計画へ組み込む
- RPO/RTO を先に決めて設計: 許容できるデータ損失と復旧時間を合意してから、帯域・レプリケーション構成・整合性レベルを選ぶ
- アプリ整合の復旧ポイントを活用: データベースなど整合性が重要なワークロードは、アプリ整合スナップショットの間隔を適切に設定する
- ネットワークを事前設計: 復旧先の仮想ネットワーク・IP・DNS・ロードバランサーの対応関係を事前にマッピングし、フェールオーバー後すぐ通信できるようにする
- バックアップと併用: Site Recovery は災害時の切り替えが主目的。論理破壊やランサムウェア対策には Azure Backup を別途併用する
運用・監視
- コンテナーのダッシュボードで、各対象のレプリケーション健全性と現在の RPO をまとめて確認する
- レプリケーションの遅延や失敗のアラートを設定し、RPO が目標を超えそうな兆候を早期に検知する
- テストフェールオーバーの結果を記録し、復旧計画どおりに起動・通信できたかを毎回確認する
- フェールオーバー後は Azure Monitor で復旧先 VM とアプリの稼働を観測し、想定どおりに業務が継続できているか見る
- 元サイト復旧時は再保護→フェールバックの手順を運用に組み込み、戻し忘れによる片寄り状態を残さない
レプリケーションが緑でも、起動順序やスクリプト、DNS 切り替えに穴があると実際の復旧で詰まります。テストフェールオーバーで本番を止めずに通し検証し、復旧計画が機能することを定期的に確かめてください。
コスト
課金の中心は、保護対象インスタンスごとのライセンス的な料金と、復旧先で消費するストレージ(レプリケーション先ディスクとキャッシュ)、リージョン間の**データ転送(送信)**です。重要なのは、復旧先のコンピュート(VM 稼働分)は平時は課金されず、フェールオーバーして起動したときと、テストフェールオーバーで一時的に立ち上げた間だけかかる点です。これにより、常時フル稼働の待機サイトを二重に持つよりコストを抑えやすくなります。変動する単価は公式の料金ページで確認してください。
| 要素 | 課金の有無 | ポイント |
|---|---|---|
| 保護対象インスタンス | あり | 保護している対象数に応じた料金がかかる |
| レプリケーション先ストレージ | あり | 復旧先ディスクとキャッシュの保存に課金 |
| リージョン間データ転送 | あり | 送信データ量に応じて課金される |
| 復旧先のコンピュート | 切替時のみ | フェールオーバー/テスト中の稼働分だけ課金 |
セキュリティ
- レプリケーションのデータは転送中および保存時に暗号化され、復旧先ストレージでも暗号化された状態で保持される
- コンテナーへのアクセスは Microsoft Entra ID + Azure RBAC で制御し、誰がフェールオーバーやテストを実行できるかを統制する
- 閉域要件にはプライベートエンドポイントを使い、レプリケーション経路を公開インターネットから切り離せる
- オンプレ DR で使う構成サーバーやプロセスサーバーの認証情報は最小権限で用意し、不要な高権限を与えない
- フェールオーバー後の復旧先 VM も、NSG・Firewall・Defender などのセキュリティ設計を本番同等に適用し、復旧直後に無防備にならないようにする
Site Recovery をバックアップの代わりと誤解するのは危険です。レプリケーションは破損やランサムウェアもそのまま複製しうるため、論理破壊からの復元には不向きです。DR は Site Recovery、論理復元は Azure Backup と役割を分け、両方を併用してください。
関連サービス・比較
Azure Site Recovery は AWS で言えば、ワークロードを継続レプリケーションして障害時に別リージョンへ切り替える **AWS Elastic Disaster Recovery(DRS)**に相当します。どちらも「平時はストレージ中心で待機し、復旧時だけコンピュートを起動する」DR の発想を共有します。Azure では論理破壊からの復元を担う Azure Backup と役割が分かれており、災害時の切り替えは Site Recovery、世代復元は Backup と使い分けるのが基本です。
| 観点 | Azure Site Recovery | Azure Backup |
|---|---|---|
| 主目的 | 災害時のフェールオーバー(DR) | データの世代バックアップと復元 |
| 復旧の単位 | VM やワークロードを別の場所で起動 | ファイルや VM を時点復元 |
| 想定する障害 | リージョンやサイトの障害 | 誤削除・破損・ランサムウェア |
| コンピュート | 切替時のみ復旧先を起動 | 復元時に対象へ書き戻す |
| RPO の目安 | 非同期で小さく保てる | バックアップ間隔に依存 |
| AWS の相当 | Elastic Disaster Recovery(DRS) | AWS Backup |
Site Recovery は「止めない(可用性)」、Backup は「戻せる(復元)」が主眼です。リージョン障害には Site Recovery、誤操作やランサムウェアには Backup と、目的別に両方を備えるのが堅実です。
ハンズオン / CLI例
# リソースグループを作成
az group create --name asr-rg --location japaneast
# Recovery Services コンテナーを作成
az backup vault create \
--resource-group asr-rg \
--name asr-vault \
--location japaneast
# レプリケーションの有効化・復旧計画の作成・テスト/本番フェールオーバーは
# ポータルの Site Recovery ブレード、または専用のレプリケーション API/拡張で実施する。
# 復旧先(セカンダリリージョン)の受け皿となる仮想ネットワークを用意
az network vnet create \
--resource-group asr-rg \
--name asr-dr-vnet \
--location japanwest \
--address-prefix 10.50.0.0/16 \
--subnet-name workload-subnet \
--subnet-prefix 10.50.1.0/24
# コンテナーの設定を確認
az backup vault show \
--resource-group asr-rg \
--name asr-vault \
--output table
# レプリケーション状況の監視や、テストフェールオーバー・本番フェールオーバーは
# Site Recovery のダッシュボードと復旧計画から実行する
# (対象の保護有効化、復旧計画の起動順序定義、テスト検証、切り替え、再保護/フェールバック)
Azure Service
Azure Site Recoveryを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
移行・転送
比較で見る軸
クラウド: Azure / カテゴリ: 移行・転送 / 難易度: intermediate
導入後に効く点
復旧計画とテストフェールオーバーで、止めずに手順を検証してから本番切り替えできる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- 移行・転送
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- reliability / operational
判断チェックリスト
- 自社の用途が「移行・転送 / reliability」に近いか確認する。
- 強みである「ワークロードを別の場所へ継続レプリケーションし、災害時にフェールオーバーする DR サービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。