azure-site-recovery について
azure-site-recovery は、重要な Azure ワークロードの災害復旧を計画するスキルで、RPO・RTO の設定とフェールオーバーの調整を支援します。ワークロードの階層化、復旧先の依存関係、定期テストを重視し、レプリケーションとバックアップを区別します。
主な機能
- 01ワークロード別の RPO・RTO 設定
- 02リージョン間 VM レプリケーションの計画
- 03順序付き起動の復旧計画作成
- 04復旧リージョンの依存関係整理
- 05隔離ネットワークでのテスト計画
活用シーン
- 01重要なワークロードのリージョン DR 設計
- 02VM のフェールオーバーとフェールバック計画
- 03アプリの復旧時間と目標の照合
- 04Site Recovery と Azure Backup の併用計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vinayaklatthe/ microsoft-security-skills --skill azure-site-recoveryインストール後、Claude Code で/azure-site-recoveryを入力して読み込まれたか確認します。
詳細
Azure Site Recovery
Azure Site Recovery(ASR)は、Azure VM とオンプレミスのマシンをセカンダリリージョンにレプリケートし、フェールオーバーとフェールバックをオーケストレーションすることで、リージョン障害時にもワークロードの可用性を維持する Disaster-Recovery-as-a-Service です。バックアップとは別の機能であり、相互に補完する事業継続の重要な要素です。
使用する場面
テスト済みで、オーケストレーションされたフェールオーバー機能を備えた、重要なワークロード向けのリージョン災害復旧を実現する場合に使用します。このスキルを使って RPO/RTO を設定し、復旧計画を設計し、テストフェールオーバーを実行します。
このスキルを使用しない場面:ポイントインタイムバックアップ(use Azure Backup を使用)、データベースのみの HA、Azure 固有の設計を伴わない一般的な BCDR 戦略。
RPO/RTO によるワークロードの階層化
| ワークロード階層 | RPO 目標 | RTO 目標 | 戦略 |
|---|---|---|---|
| 階層 0 - ミッションクリティカル | < 1 分 | < 15 分 | アクティブ/アクティブのマルチリージョン構成(ASR 単独では不可)。ASR はウォームスタンバイとして使用 |
| 階層 1 - ビジネスクリティカル | < 15 分 | < 1 時間 | ASR の継続的レプリケーション + 自動復旧計画 |
| 階層 2 - 重要 | < 1 時間 | < 4 時間 | ASR レプリケーション + 手動フェールオーバー |
| 階層 3 - 標準 | < 24 時間 | < 24 時間 | Azure Backup + セカンダリリージョンへの復元 |
| 階層 4 - 開発/テスト | 7 日 | 7 日 | Azure Backup のみ。DR なし |
経験則: RPO が 1 分未満、または RTO が 15 分未満の場合、ASR だけでは不十分です。
- アクティブ/アクティブ構成を設計してください。ASR が適しているのは、階層 1 と階層 2(RPO は数分、RTO は 4 時間未満)です。
アプローチ
-
ワークロードごとに RPO と RTO を定義する — IT が推測するのではなく、ワークロード所有者とビジネス部門の承認を得ます。表に従って階層を設定します。「階層 3 = バックアップからの復元であり、フェールオーバーではない」という前提を文書化します。 確認事項:階層 1/階層 2 の各ワークロードについて、RPO/RTO が文書化され、承認されていること。
-
ペアリージョンに Recovery Services コンテナーを設定する — レイテンシ、課金、Microsoft が調整するパッチ適用を考慮し、Azure の ペアリージョン(例:North Europe ↔ West Europe)を使用します。ビジネスユニットごとに、リージョンペアあたり 1 つのコンテナーを用意します。 確認事項:セカンダリリージョンにコンテナーがあり、レプリケーションポリシーが作成されていること(例:24 時間の保持期間、4 時間ごとのアプリ整合性スナップショット)。
-
階層 1/階層 2 の VM でレプリケーションを有効にする — レプリケーションは VM ごとに設定します。ターゲットリージョン、ターゲット VNet、ターゲットストレージを選択し、ソースで使用している場合は 可用性ゾーン の配置も合わせます。初期レプリケーションには数時間かかることがあるため、帯域幅を計画します。 確認事項:対象となるすべての VM でレプリケーションの正常性が正常であり、最新の復旧ポイントのタイムスタンプが RPO 目標の範囲内であること。
-
起動順序を指定した復旧計画を作成する — VM をアプリケーションごとにグループ化し、起動順序(最初に DB 層、次にアプリ層、最後に Web 層)を指定します。DNS 更新、IP 変更、アプリのウォームアップには 前処理/後処理スクリプト(Automation Runbook)を追加します。人による確認が必要な箇所には 手動操作の一時停止 を追加します。 確認事項:テストフェールオーバーで復旧計画のドライランを実施し、オンコールチーム向けのランブックを文書化していること。
-
復旧リージョンの依存関係を考慮する — ID(Entra はグローバルですが、AD DC にはリージョン DC または DR DC が必要)、DNS(プライベート DNS ゾーン)、Key Vault(リージョンまたは geo レプリケーション)、ストレージアカウント(GRS または RA-GRS)、ネットワーク(ピアリング、ゲートウェイ、ファイアウォール)、ライセンス。 確認事項:依存関係マップがあり、復旧リージョンで DNS、DC への接続、Key Vault、ゲートウェイ接続が機能していること。
-
スケジュールに従ってフェールオーバーをテストする — 階層 1 では少なくとも 6 か月ごとに(四半期ごとが望ましい)、セカンダリリージョンの 分離ネットワーク で テストフェールオーバー を実行します。アプリの機能を検証し、RTO 目標と実際の所要時間を比較して記録し、問題を記録します。 確認事項:テストフェールオーバーのレポートで、実際の RTO ≤ 文書化された RTO が示され、問題が 30 日以内にトリアージされていること。
-
フェールオーバー/フェールバックの手順を計画する — 計画フェールオーバーでは同期して円滑に切り替えます。計画外フェールオーバーでは、最後の復旧ポイントを基準としてデータ損失を抑えます。テストフェールオーバーのライフサイクルの一環として、フェールバック手順もテストします。
ガードレール
- DR はバックアップではありません。ポイントインタイムリストアとランサムウェアからの復旧(イミュータブル/ソフト削除された復旧ポイント)のために、ASR と Azure Backup を組み合わせてください。 ASR は破損も複製します。ランサムウェアに備えるには、イミュータブルなバックアップが必要です。
- フェールオーバーを定期的にテストしてください。テストされていない DR 計画は、機能ではなく単なる想定です。 テストなしで初めて実際にフェールオーバーすると、うまくいきません。
- 復旧リージョンの依存関係(ID、DNS、ネットワーク、Key Vault)を考慮してください。 アプリのフェールオーバーは問題なくても、DC や Key Vault にアクセスできなければ、依然として停止したままです。
- ペアリージョンは重要です。 Microsoft はペア間でパッチ適用を調整します。ペアではないリージョン同士では同じ週にパッチが適用され、両方がオフラインになる可能性があります。
- レプリケーションだけでなく、復旧計画も用意してください。 レプリケーションはデータを保持し、復旧計画は正しい順序でアプリを起動します。
- コスト:ASR は VM ごとの月額料金とストレージ料金がかかります。 慎重に階層化してください。すべてを DR 対象にするのは無駄であり、何も DR 対象にしないのは無責任です。
よくあるアンチパターン
- 「ASR があるから、バックアップは必要ない」 - ASR はランサムウェアによる暗号化も複製します。イミュータビリティを備えたバックアップだけが、ランサムウェアからの復旧手段です。
- 「安全のため、すべてを複製する」 - コストは 10 倍になり、フェールオーバーは遅くなり、テスト範囲も広がります。RPO/RTO に基づいて階層化してください。
- 「本番環境でのフェールオーバーは危険なので、テストしない」 - テストフェールオーバーは分離されており、本番環境には影響しません。危険なのはテストしないことです。
- 「DR 訓練は 2 年前に 1 回実施したきりで、その後は行っていない」 - アーキテクチャに変更が加わっています。Tier 1 では四半期ごとにテストしてください。
- 「DR リージョンの DC/DNS/Key Vault を忘れた」 - VM は起動しても、アプリは認証も名前解決もできません。依存関係をマッピングしてください。
- 「すべてのリージョンに単一のグローバル Vault を使用する」 - Vault はリージョン単位です。プライマリの Vault が失われると、DR できません。リージョンペアごとに 1 つ用意してください。
プロンプトの例
Azure Site Recovery を使用した災害復旧計画を設計し、明確な RPO/RTO 目標を設定してください。本番環境に影響を与えずに、テストフェールオーバーを実行するにはどうすればよいですか?リージョン間レプリケーションと、起動順序を指定した復旧計画を設定してください。ランサムウェアへの耐性を高めるため、Azure Backup と併用した DR を計画してください。ペアリージョンへのフェールオーバーに備えて、依存関係(ID、DNS、Key Vault)をマッピングしてください。ワークロードを RPO/RTO に基づいて階層化し、ASR とバックアップのみのどちらを適用するか判断してください。
Microsoft Learn
- Site Recovery の概要: https://learn.microsoft.com/azure/site-recovery/site-recovery-overview
- Azure 間の DR: https://learn.microsoft.com/azure/site-recovery/azure-to-azure-tutorial-enable-replication
- 復旧計画: https://learn.microsoft.com/azure/site-recovery/recovery-plan-overview
- テストフェールオーバー: https://learn.microsoft.com/azure/site-recovery/azure-to-azure-tutorial-dr-drill
- Azure Backup と ASR の比較: https://learn.microsoft.com/azure/backup/backup-overview
- ペアリージョン: https://learn.microsoft.com/azure/reliability/regions-paired
- Azure 間レプリケーションのアーキテクチャ: https://learn.microsoft.com/azure/site-recovery/azure-to-azure-architecture
- フェールオーバーとフェールバック: https://learn.microsoft.com/azure/site-recovery/azure-to-azure-tutorial-failover-failback