1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

本記事は GitHub Copilot および Microsoft Foundry を活用して作成されています。内容の正確性については各公式ドキュメントをご確認ください。

はじめに

Azure を IaaS(Azure VM)中心で使っている、またはこれから使う予定で、災害復旧(DR)のコストを最小限に抑えたい方に向けた記事です。現状 DR を Azure Site Recovery (ASR) で全 VM 一律に組んでいるケースを主な出発点とし、RTO 要件でティア分けして保護方式を使い分けることで DR コストを下げる考え方を、公式ドキュメントの根拠とあわせて整理します。

想定読者: Azure VM を運用(または検討)していて DR コストを見直したい方。情報日付: 2026年7月時点の情報で、料金・仕様は変わる場合があります。最新は各出典を参照してください。

TL;DR(先に結論)

  1. VM を RTO 要件でティア分けし、ティアごとに保護方式を変えるのが最大の効きどころ。全台 ASR はオーバースペック。
  2. RTO が緩い VM は ASR をやめ、「Backup のみ」または「スナップショット/イメージ + IaC 再構築」に落とすとコストが大きく下がる。
  3. DR 方式とセカンダリリージョンのキャパシティ確保は別問題。ASR でも「災害時に希望 SKU が必ず起動できる」保証はない(後述)。

なぜ全台 ASR は高いのか(ASR の常時コスト)

ASR は「RTO 1時間以内」を SLA で約束する代わりに、保護している VM 1台ごとに以下が常時かかる。

# コスト項目 補足
1 ASR 利用料 =保護インスタンスライセンス料。VM 1台あたり課金、最初の31日間は無料
2 レプリカディスク(ターゲット側) ソースをミラーした常時2重ディスク
3 キャッシュストレージ(ソース側) GPv2。High Churn は Premium Block Blob
4 ストレージトランザクション ASR は書き込みが多くコスト増要因
5 データ転送(egress) リージョン間のデルタレプリケーション分
6 リカバリポイントのスナップショット 保持世代分のストレージ

ドリル(テストフェイルオーバー)や実フェイルオーバーは「実行したときだけ」compute/storage が加算される非常時コストであり、常時発生ではない。

見落としがちな論点: キャパシティ確保は DR 方式とは別

ASR / Backup / Snapshot / IaC のどれを選んでも、災害時に目的の VM サイズ(SKU)が必ず起動できる保証はない。東日本→西日本のように大量の同一 SKU を一斉起動しようとすると、DR 先に空きが無ければ起動できないことがある(ASR でも同じ)。確実に確保したいなら次のいずれかを復旧手順に組み込む。

  • Capacity Reservation(予約分の料金が発生)
  • 常時起動(Active-Active / Warm Standby)
  • 代替 SKU 許容D8s_v5 が無ければ D8s_v4 等)

多くのシステムは「空いていれば起動」のベストエフォート前提。詳細は後述の「別論点: キャパシティ確保」参照。

参考リンク


STEP 0(前提): VM を RTO/重要度でティア分けする

これが全ての土台。ここを決めないと「どれを ASR に残すか」が決まらない。

RTO(Recovery Time Objective / 目標復旧時間): 障害発生から復旧までに許容できる停止時間。「何時間で復旧すればよいか」。短いほど高コストな方式(Active-Active・ASR)が必要になる。
RPO(Recovery Point Objective / 目標復旧時点): 障害時に許容できるデータ損失量を時間で表したもの。「どの時点まで戻ってよいか」。RPO 5分ならレプリケーション、RPO 1日なら日次バックアップで足りる。

ティア RTO 目安 RPO 目安 推奨保護方式 対応案
Tier 0(無停止・ミッションクリティカル) 決済・認証コア 数分以内(実質ゼロ) ゼロ〜数分 Active-Active / ホットスタンバイ(ASR では RTO SLA 最大1時間のため不足) 案A
Tier 1(重要・短時間復旧) 基幹API・主要業務 数十分〜1時間 数分 ASR 継続 案B
Tier 2(重要だが待てる) 社内業務・バッチ 数時間〜1日 数時間〜1日 Backup のみ / IaC 再構築 案C / 案F
Tier 3(再構築可能/ステートレス) Web前段・検証・冗長ノード 1日〜 1日 イメージ+IaC で作り直し / Backupのみ 案F / 案G / 案C

ポイント: ASR の RTO は SLA 上「最大 1 時間」(参考)。「数分以内・無停止」が真に必要な Tier0 は ASR では満たせないため、Active-Active / ホットスタンバイ(案A)を検討する。


案の一覧

案A: Tier0 は Active-Active / ホットスタンバイ(RTO 数分・無停止が必須な場合)

  • 内容: ASR の SLA(RTO 最大1時間)では足りないミッションクリティカルは、複数リージョン/ゾーンに常時稼働させて LB/Traffic Manager/Front Door で振り分ける。
    • Active-Active: 両サイトで常時トラフィックを受ける。障害時は自動フェイルオーバー(RTO 実質ゼロ)。
    • ホットスタンバイ (Warm Standby): DR 側を小さく常時起動しておき、障害時にスケールアップして切り替え(RTO 数分)。
  • コスト: 最高(DR 側の compute を常時走らせる)。ただし Tier0 は数が少ない想定なので全体への影響は限定的。
  • ポイント: DR 先キャパシティを実質確保できる(常時起動の副次効果)。データは同期レプリケーション(DB の geo レプリカ/ストレージ GRS 等)で RPO を小さくする。
  • 向き: 決済・認証といった短時間の停止も許されない基幹。Tier1 以下にはオーバースペック。

案B: ASR は「RTO 必須の VM」だけに限定する(最優先で実施)

  • 内容: 現状の全 VM 一律 ASR を、Tier1 の VM のみに絞る(Tier0 は案A、Tier2/3 は Backup/再構築)。
  • 削減効果: 大(対象台数に比例して保護ライセンス・レプリカディスク・キャッシュ・ドリル費が丸ごと消える)。
  • RTO/RPO: 残した VM は従来通り(RTO 最短、RPO 数分)。
  • 注意: 「どれを残すか」を STEP0 で確定してから。ASR は最初の31日無料なので試験的に外す判断もしやすい。

案C: RTO 不要の VM は「Azure Backup のみ」にする

  • 内容: ASR を外し、Recovery Services Vault の VM バックアップだけにする。復旧は復元(Restore)で対応。
  • 削減効果: 大。レプリカディスク常時2重コストが不要になり、バックアップストレージ(増分)分だけになる。
  • RTO/RPO: RTO は復元時間ぶん長い(数十分〜数時間)。RPO はバックアップ間隔(通常1日、拡張で数時間)。
  • RTO 短縮(インスタントリストア): Azure Backup は Vault へ転送する前のローカルスナップショットを自分のサブスク内 RG に保持し、そこから高速復元(Instant Restore)できる。保持は既定2日・1〜5日で構成可能(長くするほどスナップショットストレージ費増)。※これは Azure Backup の機能であり、案D(Vault不使用の自前スナップショット)は対象外。
  • リージョン障害対策: Vault を GRS/クロスリージョン復元(CRR) にすると別リージョンへ復元可能。
  • 参考: Backup 概要 / インスタントリストア

案D: マネージドディスクの「スナップショットのみ」にする

  • 内容: Azure Backup(Vault)を使わず、ディスクスナップショット(増分スナップショット)を CLI/API/Automation で直接・定期取得する。案C との違いは「Azure Backup サービスを介さない」点。
  • 削減効果: 特大。増分スナップショットは Standard ストレージ課金で最安クラス、保持世代も自前制御。
    • ※増分スナップショットは親ディスクの種類に関わらず常に Standard ストレージに保存される。なお「Standard HDD を OS ディスクとして使う用途」は2028/9/8で廃止予定だが、スナップショットの保存先 Standard HDD は廃止対象外参考)。
  • RTO/RPO: RTO は「スナップショット→ディスク→VM 作成」で最も手間。RPO はスナップ取得間隔。
  • 弱点: 世代管理・スケジュール・整合性(アプリ静止点)・リージョン冗長を 自前実装 する必要(Automation/Functions 等)。運用は重い。
  • 向き: 大量・低優先の VM、コスト最優先の環境。
  • 参考: https://learn.microsoft.com/azure/virtual-machines/disks-incremental-snapshots

案E: 「OS ディスクだけ」保護し、データは別手段にする

  • 内容: OS/アプリ導入済みの状態だけを保護し、データディスクは Backup か、そもそも PaaS(ストレージ/DB)へ寄せる。実装は2通り: ①Azure Backup の選択的ディスクバックアップで対象を OS ディスクのみに絞る(データディスクを除外。最低1ディスクは必要)②スナップショット/イメージ化を OS ディスクだけに対して行う。
  • 削減効果: 中〜大(データディスクの二重化コストを外せる)。
  • RTO/RPO: OS は素早く復元、データは別 SLA。データ整合性の設計が肝
  • 向き: データを Azure Files / Blob / マネージドDB に逃がせるワークロード。ステートを VM から剥がすほど DR は安く速くなる。
  • 参考: 選択的ディスクバックアップ

案F: IaC + ゴールデンイメージで「作り直す DR」(Redeploy / Pilot Light)

  • 内容: VM 構成を Bicep/Terraform/Ansible でコード化し、OS+ミドルを Azure Compute Gallery(共有イメージ) に固める。障害時は別リージョンで deploy して復旧。データのみ Backup/レプリケーションで持ち込む。
  • 削減効果: 大。平常時に走らせる DR リソースがほぼゼロ(イメージ保管費と Backup 費のみ)。
  • RTO/RPO: RTO は再構築時間(自動化度合い次第で数十分)。RPO はデータ同期方式に依存。
  • メリット: 構成ドリフト解消、環境再現性、検証容易。ASR ライセンス不要。
  • デメリット: 自動化・イメージ更新・DR 手順のメンテが必要(Ansible/IaC の作り込み)。
  • ⚠️ 注意(Compute Gallery はリージョンリソース): Azure Compute Gallery はグローバルサービスではない。プライマリリージョンが落ちると、そのギャラリーでは新規作成・更新ができない。**イメージバージョンを DR 先リージョンへ複製(replication)**しておかないと、障害時に作り直せない。DR ベストプラクティスは「別リージョンにギャラリーを2つ以上持つ」。ゾーン内耐性は ZRS で確保(リージョン障害はカバーしない)。
  • 参考: Compute Gallery(High availability / Best practices)

案G: ステートレス VM は「バックアップも最小化」して作り直し前提にする

  • 内容: スケールセット/冗長構成のノードなど、失っても作り直せる VM は DR 保護対象から外す(IaC 再デプロイのみ)。
  • 削減効果: 大(保護対象台数そのものを減らす)。
  • 向き: Web 前段、キャッシュ、水平スケールノード。

⚠️ 別論点: セカンダリリージョンの「キャパシティ確保」

DR 方式(ASR/Backup/Snapshot 等)と、災害時に DR 先で目的の VM サイズが起動できるか(キャパシティ)は別問題。
どの方式でも「障害時に希望 SKU が必ず起動できる」ことは保証されない(ASR でも同じ)。

方式 データ保護 復旧可否 コンピュートキャパシティ保証
ASR ×(通常は保証されない)
Azure Backup ○(復元) ×
Managed Disk Snapshot ×
IaC (Bicep/Terraform/Ansible) 構成のみ ×
Azure Compute Gallery イメージのみ ×

キャパシティを確保したい場合の選択肢(コスト順):

  1. Azure Capacity Reservation: 指定 SKU の容量を予約。最も確実だが予約分の料金が発生。
  2. 常時起動 (Active-Active / Warm Standby): 最も確実だが最も高コスト。
  3. 代替 SKU 許容: D8s_v5 が無ければ D8s_v4 等、復旧手順に複数候補 SKU を組み込む。追加コストなしだが完全保証ではない。
  4. ベストエフォート: 「空いていれば起動」。多くのシステムが実際はこれ。

ASR を残す VM の「単価を下げる」ポイント(案B と併用)

前提: メインは Azure-to-Azure(A2A)。A2A ではレプリカ管理ディスクはソースと同じ種類で自動ミラーされ、有効化時にレプリカだけ安いティアを選ぶことはできない(出典: A2A Enable replication)。そのため単価最適化のレバーは主に以下の2点。

冗長性(LRS/ZRS/GRS)の見直し

  • DR 保護のストレージ冗長を要件に合わせて LRS 寄り に(レプリカ管理ディスクは LRS のみ対応)。ゾーン冗長(Zone-to-Zone)は egress が region-to-region より安い。
  • 参考: Zone-to-Zone DR

Zone-to-Zone DR への切り替え(リージョン全損を許容できる場合)

  • リージョン間ではなく 同一リージョンのゾーン間 DR にすると egress が安い。ただしリージョン災害は守れない点に注意。

別枠: モダナイズで DR コストを下げる Tips(VM DR とは別軸)

以下は「VM を前提に DR 方式を選ぶ」案 A〜G とは別軸の話。そもそも VM を DR 対象から外す/減らすアプローチで、案の比較表には載せないが、中長期のコスト削減に効く。

Tips 1: アプリ再デプロイ型(CI/CD + コンテナ)

  • VM そのものを保護せず、障害時は CI/CD パイプラインでアプリを別リージョンへ再デプロイ。状態は DB/ストレージ側で保持。
  • VM 保護が不要になり DR コストが下がる。RTO は数十分〜数時間、RPO は DB 次第。
  • 前提: コンテナ化・CI/CD 整備。AKS / Container Apps 向き。

Tips 2: PaaS 化して VM の DR 自体を無くす

  • App Service / マネージド DB 等へ移せば、VM の DR は不要になり、DR はサービス側の冗長機能に委ねられる(移行コストは別途)。
  • 特に DB を PaaS 化すると、DR のバックアップ/リストア/レプリケーションがマネージドになり、自前運用が大きく減る。以下、代表 2 サービスの RTO/RPO とバックアップ/リストアの考え方。

Azure SQL Database

  • バックアップ/リストア: Full/差分/ログを自動取得。PITR(ポイントインタイム復元)で保持期間内の任意時点に復元(既定7日、1〜35日)。PITR の RPO は約10分(直近のトランザクションログバックアップ時点まで/コンピューティングサイズと負荷次第)。既定で geo 冗長ストレージなので Geo-restore で別リージョンへ復元可。LTR で最大10年保持。→ 自前のバックアップ設計が不要。
  • RTO/RPO(要件で方式を選ぶ):
方式 RTO RPO
ゾーン冗長 HA 約30秒未満 0
Failover Groups / Active geo-replication(別リージョン) 約60秒未満 0以上(通常数秒)
Geo-restore(geoバックアップから復元) 数分〜数時間 数分〜数時間

Azure Database for PostgreSQL フレキシブルサーバー

  • バックアップ/リストア: 日次フル + ログ連続バックアップ。PITR で保持期間(7〜35日)内の任意時点に復元。geo 冗長バックアップ(サーバー作成時のみ設定可)で Geo-restore 可。
  • RTO/RPO:
方式 RTO RPO
ゾーン冗長 HA 120秒未満 0
PITR(バックアップから) 数分〜最大12時間(データ量次第) 5分未満
Geo-restore(geoバックアップ) データ量次第 1時間未満
クロスリージョン Read Replica → 昇格 数分 約30秒〜5分(非同期ラグ)
  • ポイント: geo-restore / read replica は 自動フェイルオーバーではない(手動 geo-restore or レプリカ昇格)。フェイルオーバー後は 接続文字列の更新が必要。Read Replica は キャパシティ保証あり、geo-backup はなし。
  • 参考: Geo-disaster recovery / Business continuity / Backup and restore

Tips 3: Backup + Automation Runbook で復旧を自動化

  • 案C(Backup) に、復元→VM 作成→NW 接続までを Azure Automation Runbook で自動化し、RTO を短縮。
  • コスト削減というより 復旧の属人化排除・RTO 短縮 が目的。Runbook 開発工数が必要。


アーキテクチャ図(Azure Architecture Center より)

各図は Microsoft 公式ドキュメントの画像を参照。クリックで出典ページへ。

案A: Active-Active(マルチリージョン負荷分散 / Traffic Manager)

マルチリージョン負荷分散のアーキテクチャ図

Traffic Manager が DNS ベースで 2 リージョンへ振り分け、各リージョンが常時トラフィックを処理。片方が落ちても継続(実質 RTO ゼロ)。Tier0 向け。
出典: Multiregion load balancing

案A/案B: 3層アプリの HA + DR 総合例(Traffic Manager + ASR + SQL Always On)

多層Webアプリの HA/DR アーキテクチャ図

Web/業務/データの 3 層を 2 リージョンに配置。DR は SQL Always On 非同期レプリケーション or ASR、フロントは Traffic Manager で自動切替。Active-Passive の代表構成。
出典: Multitier web application built for HA and DR

案B: ASR(Azure-to-Azure レプリケーション)

ASR の Azure-to-Azure レプリケーション構成図

ソース VM の変更をキャッシュストレージ経由でターゲットリージョンへ継続レプリケーション。障害時にフェイルオーバー。
出典: Azure to Azure disaster recovery architecture

案C: Backup + GRS / クロスリージョン復元(CRR)

GRS によるバックアップのリージョン間レプリケーション図

Vault を GRS にするとバックアップがペアリージョンへ複製され、CRR で任意のタイミングに二次リージョンへ復元可能。RTO は ASR より長いがコスト安。
出典: Reliability in Azure Backup / Recovery Services vault overview

案F: IaC + イメージ(Cold standby の考え方)

「二次リージョンの compute を停止しておき、障害時に IaC(Bicep/Terraform/Ansible)+CI/CD で構築・起動」する Cold/Warm standby パターン。復旧手順とレプリケーションの整理は下記ガイド参照(図なしのプロセス設計ガイド)。
出典: Develop a disaster recovery plan for multi-region deployments(Active-active / Warm standby / Cold standby の各戦略)


比較サマリ(ざっくり)

RTO RPO 平常時コスト 運用負荷 リージョン障害耐性
A: Active-Active/ホットスタンバイ ◎実質ゼロ ◎同期次第 最高
B: ASR継続(限定) ◎最短(SLA1h) ◎数分
C: Backupのみ △数十分〜 △数時間〜日 ○(GRS/CRR)
D: スナップショットのみ ×手間大 △取得間隔 最小 △(自前でコピー)
E: OSディスクのみ 別SLA 設計次第
F: IaC+イメージ再構築 ○(自動化次第) データ同期依存 最小 中〜高 ◎(別リージョンdeploy)
G: 作り直し前提 - 最小

コストイメージ(高→低):
ASR(全台)重要VMのみASRAzure BackupBackup+IaCSnapshotIaC+Imageコンテナ再デプロイ


参考: 100台規模での階層化イメージ(一例)

「全100台のうち20台のみ RTO48時間」のようなケースの設計例。

ティア 台数目安 方式
Tier1 20台 ASR
Tier2 40〜50台 Azure Backup(必要に応じ CRR)
Tier3 30〜40台 Snapshot または OS ディスクのみ保護
将来 新規システム IaC(Bicep/Terraform/Ansible)+Backup、可能なら PaaS 化

この階層化で「全台 ASR」比で DR コストを大きく削減しつつ、重要系の RTO は維持できるケースが多い。IaC を整備すれば ASR 対象を将来的に減らすロードマップも描きやすい。


次アクション(提案)

  1. STEP0: 全 VM を Tier0/1/2/3 に棚卸し(RTO/RPO と依存関係を整理)。
  2. Tier0 → 案A(Active-Active/ホットスタンバイ)。RTO 数分・無停止が真に必要なもののみ。
  3. Tier1 → 案B(ASR継続) + 上記「単価を下げるポイント①〜②」で最適化。
  4. Tier2 → 案C(Backupのみ)、必要に応じ案F(IaC再構築)。
  5. Tier3 → 案F/G(イメージ+IaC / 作り直し)、または案D(スナップショット)。
  6. 現状 ASR コストを 料金計算ツール で棚卸しし、移行後試算と比較。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?