Instiq
第5章 · 高可用性と災害復旧の計画と構成·v2.0.0·更新 2026/6/4·読了目安 約9分

変更要約: DP-300 第5章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)

5.2高可用性と災害復旧の戦略

この節の要点

Azure SQL の ゾーン冗長(リージョン内の高可用性)、アクティブ geo レプリケーションフェイルオーバーグループ(リージョン間の DR)、Always On 可用性グループ(VM)を理解します。RPO/RTO 要件に応じて設計します。

高可用性(HA)はリージョン内の障害に、災害復旧(DR)はリージョン全体の障害に備えます。Azure SQL は両者に対応する仕組みを提供します。

5.2.1HA と DR の仕組み

リージョン内の高可用性としてゾーン冗長(複数の可用性ゾーンにレプリカ配置)と Business Critical の組み込みレプリカ、リージョン間の災害復旧としてアクティブ geo レプリケーション(読み取り可能な副リージョンのレプリカ)とフェイルオーバーグループ(複数 DB をまとめて自動フェイルオーバー・接続文字列を変えずに切替)、VM では Always On 可用性グループ、を並べた図。
HA と DR の仕組み
  • ゾーン冗長リージョン内の複数の可用性ゾーンにレプリカを配置し、ゾーン障害に耐える(HA)。
  • アクティブ geo レプリケーション別リージョンに読み取り可能なレプリカを作る(DR・読み取りスケール)。
  • フェイルオーバーグループ:複数 DB をまとめて自動フェイルオーバーし、接続文字列を変えずに切り替える(DR)。
  • Always On 可用性グループSQL on VM での HA/DR(自分で構成)。
試験ポイント

「リージョン内の高可用性=ゾーン冗長」「別リージョンへの DR=アクティブ geo レプリケーション/フェイルオーバーグループ」「接続文字列を変えず自動切替=フェイルオーバーグループ」「VM の HA/DR=Always On 可用性グループ」 は DP-300 で頻出です。RPO/RTO が厳しいほどゾーン冗長+geo の併用を検討します。

コツ

フェイルオーバーグループはリスナー(読み書き/読み取り専用エンドポイント)を提供するため、アプリは接続先を変えずにフェイルオーバーに追従できます。

HA(リージョン内)と DR(リージョン間)を層で重ねます。ゾーン冗長 は複数の可用性ゾーンにレプリカを置き、ゾーン障害でも自動で継続(General Purpose/Business Critical/Hyperscale で対応・追加コストや前提あり)。Business Critical は Always On 可用性グループ 相当の同期レプリカを持ち、読み取りスケールアウトも可能です。DR では アクティブ geo レプリケーション が別リージョンに読み取り可能な副レプリカ(最大 4 つ)を非同期で作り、手動フェイルオーバーで昇格します。フェイルオーバーグループ はその上位概念で、複数 DB をまとめて 読み書き/読み取り専用リスナー 越しに接続文字列を変えずに自動フェイルオーバーでき、MI もサポート。SQL on VM では Always On 可用性グループ(同期/非同期レプリカ・自動/手動フェイルオーバー)を自分で構成します。同期レプリケーションは RPO≈0 だが距離・遅延の制約があり、非同期(geo)は距離を稼げるが RPO が大きめ。要件の RPO/RTO が厳しいほど「ゾーン冗長(HA)+geo レプリケーション/フェイルオーバーグループ(DR)」を併用するのが定石です。

仕組み範囲切替/接続
ゾーン冗長リージョン内(AZ 間)自動・透過的(HA)
アクティブ geo レプリケーションリージョン間(読取可副)手動昇格・個別 DB
フェイルオーバーグループリージョン間(複数 DB)自動・接続文字列不変
Always On 可用性グループVM(自前構成)同期/非同期・自動/手動
補足

シナリオ: 基幹 DB をゾーン障害でも無停止にし、さらにリージョン全体の障害時はアプリ側の設定変更なしで別リージョンへ切り替えたい。→ ゾーン冗長で AZ 障害に耐え(HA)、フェイルオーバーグループで複数 DB をまとめて別リージョンへ自動フェイルオーバー(DR)。アプリは読み書きリスナーに接続し、切替後も接続文字列を変えずに追従します。

補足

FAQ: Q. アクティブ geo レプリケーションとフェイルオーバーグループの違いは? → A. geo レプリケーションは個別 DB の読み取り可能な副レプリカ(手動昇格)、フェイルオーバーグループは複数 DB をまとめてリスナー越しに自動フェイルオーバー(接続文字列不変)。Q. RPO≈0 にしたい時は? → A. 同期レプリケーション(ゾーン冗長/Business Critical)を使います。geo(非同期)は距離を取れる代わり RPO は大きめです。

注意

ひっかけ: 「ゾーン冗長があればリージョン全体の障害にも耐えられる」は誤りです。ゾーン冗長はリージョン内の HA。リージョン障害には geo レプリケーション/フェイルオーバーグループ(DR)が必要。また「フェイルオーバー時はアプリの接続文字列を書き換える」も誤り(フェイルオーバーグループのリスナーで接続先は不変)。

5.2.2この節のまとめ

  • HA=ゾーン冗長、DR=geo レプリケーション/フェイルオーバーグループ
  • VM=Always On 可用性グループ、設計はRPO/RTOで判断

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. リージョン内の単一の可用性ゾーン障害に耐えられるようにしたい。何を構成しますか?

Q2. 複数のデータベースをまとめて別リージョンへ自動フェイルオーバーし、接続文字列を変えずに切り替えたい。何を使いますか?

Q3. 別リージョンに読み取り可能なレプリカを作り、DR と読み取りスケールの両方に使いたい。何を使いますか?

理解度を確認第5章「高可用性と災害復旧の計画と構成」の問題を解く

学習の記録を残しませんか

参考書はすべて無料で読めます。無料登録すると、問題集での演習・既読と進捗の記録・間違えた問題の復習・ハイライトが使えます。