はじめに
同一リージョン内でのゾーン冗長は、データセンター障害を前提とした設計の基本です。Azure では、可用性ゾーン(物理的に独立したデータセンター群)をまたいで VM を配置し、L4/L7 のゾーン冗長エンドポイントで束ねるのが王道となります。
可用性ゾーン対応サービスと設計の肝を押さえれば、VM の 99.99% アップタイム SLAに到達可能です。(Azure Virtual Machines の可用性オプション, Azure Availability Zones)
※本記事は、同一リージョン内の可用性ゾーン(AZ)冗長に限定し、リージョン冗長や単一ゾーン/単一VMは扱いません。
Azureのリージョンや可用性ゾーンについての解説はこちら。
1.前提と用語の整理
- ゾーン冗長(zone-redundant):サービス/リソースが複数ゾーンにまたがって冗長化。
- ゾーナル(zonal):特定ゾーンにピン留め(例:ゾーン“1”の VM)。同一リージョン内で複数ゾーンに“複数インスタンスを張ると、ゾーン障害に耐性を持てる。(可用性ゾーン)
- 到達目標:2 つ以上の VM を 2 つ以上のゾーンに展開+適切な LB/ゲートウェイ構成 ⇒ VM 99.99% SLA。
2.ゾーン冗長の基本構成(L4)― Standard Load Balancer を核にする
構成要素:
- VM(zonal)×2 以上:ゾーン“1/2/3”へ分散
- Standard Load Balancer(SLB):ゾーン冗長フロントエンドを推奨(単一 IP でゾーン障害を吸収)
- Standard Public IP:ゾーン冗長を選択(※多くのリージョンで既定がゾーン冗長化)
要点
- SLB はゾーン冗長/ゾーナル/非ゾーンいずれでも作成可。フロントエンドの Public IP のゾーン属性に連動する。ゾーン冗長フロントなら単一 IP でゾーン障害による影響を回避。(ロードバランサの信頼性)
- Public IP(Standard)はゾーン冗長/ゾーナル/非ゾーンを選択可能。多くのリージョンで“非ゾーン=既定でゾーン冗長化”にアップデート。Basic SKU は 2025-09-30 廃止予定につき Standard へ移行必須。(パブリック IP アドレス)
最小パターン(L4)
層 | 推奨リソース | ゾーン設計 |
---|---|---|
受入口(L4) | Standard Load Balancer | ゾーン冗長フロント |
コンピュート | VM ×2 以上 | ゾーナル(1/2/3 に分散) |
Public IP | Standard Public IP | ゾーン冗長 |
設計メモ:LB をゾーンごとに複数用意する必要はない。単一の LBにゾーナル/ゾーン冗長フロントを複数ぶら下げて使い分け可能。
3.スケールと運用(VMSS)― Flexible/Zone-Spanning を“既定”に
Virtual Machine Scale Sets(VMSS)は、複数ゾーンに跨ってインスタンスを自動分散でき、99.99% SLAを満たす推奨手段。zoneBalance の厳密制御も可能。(可用性ゾーンを使用する仮想マシン スケール セットを作成する)
VMSS×AZ の設計ポイント
-
Zone-spanning(推奨):
"zones": ["1","2","3"]
で自動分散。"zoneBalance": "true"
で厳密分散を強制可。 - 障害時の挙動:影響ゾーンのインスタンス到達性が落ちても、他ゾーンは継続。スケールアウトで健全ゾーンへ一時的に寄せる運用がしやすい。
- LB/ Public IP は Standard で ゾーン冗長を選ぶ。
4.L7 の入り口(WAF/HTTPS)― Application Gateway v2 をゾーン冗長で
Application Gateway v2/WAF v2 は ゾーン冗長かつ 自動スケーリング対応。L7 制御(TLS 終端、パス/Host ルーティング、WAF)を兼ねつつ、バックエンドに VM/VMSS(zonal) を並べるのが定石。(MApplication Gateway v2 と WAF v2 のスケーリング)
最小パターン(L7)
層 | 推奨リソース | ゾーン設計 |
---|---|---|
受入口(L7) | Application Gateway v2/WAF v2 | ゾーン冗長+自動スケール |
バックエンド | VMSS or VM×2以上 | ゾーナル分散(1/2/3) |
Public IP | Standard Public IP | ゾーン冗長 |
5.アウトバウンド設計(NAT)― “ゾーンスタック”で片肺停止を局所化
NAT Gateway はゾーンリソース。ゾーン障害時にアウトバウンドが止まる事態を避けるには、各ゾーンに NAT ゲートウェイ+同ゾーンの Public IP をセットで持つゾーンスタックが推奨。インバウンド(LB)と合わせる 2 つのパターンも公式で整理されている。(NAT ゲートウェイと可用性ゾーン)
パターン | 受入口 | 特徴 |
---|---|---|
(1) アライン | ゾーナル SLB をゾーンごとに | イン/アウト同一障害モデルでシンプルだが、ゾーンごとに IP が分かれる。 |
(2) オーバーレイ | ゾーン冗長 SLB(単一 IP) | インバウンドは単一 IP、アウトバウンドは各ゾーンの NAT で局所化。運用はやや複雑。 |
6.ディスク/データ冗長 ― Managed Disk の ZRS を正しく使う
Managed Disk の ZRS は、同一リージョン 3 ゾーンに同期複製し、ゾーン障害からの迅速復旧を可能にする。
ただし 対応ディスク種別は限定:Premium SSD / Standard SSD のみ(Premium SSD v2 / Ultra Disk は非対応)。レイテンシは LRS より増える点も要考慮。(マネージドディスクの冗長オプション)
例)ゾーン障害で VM が停止したら、RS ディスクを健全ゾーン側の VM に強制デタッチ→再アタッチで先行復旧する運用も可能(データディスク対象)。
7.アンチパターンと落とし穴
- Basic SKU の混在:Public IP/Load Balancer は Standard で統一。Basic は廃止予定・ゾーン未対応・混在不可。
- PPG の誤用:Proximity Placement Group は“同一ゾーン内の近接配置”制約。ゾーンをまたげないため、“超低遅延×ゾーン冗長”を同時達成は不可(低遅延が最重要なら単一ゾーン+PPG、冗長はアプリ層で)。(Azure ポータルを使用して近接通信配置グループを作成する)
- フロント IP のゾーン属性を放置:LB のゾーン冗長性はフロントの Public IP に従属。作成後は変更不可なので最初にゾーン冗長を選ぶ。
- ゾーン非対応サイズ/在庫:選定 VM サイズ/ディスクが全ゾーンで提供されるか事前確認(スケール時の割当失敗を回避)。
8.おすすめ構成カタログ(同一リージョンの AZ 冗長)
ユースケース | 入口 | コンピュート | データ/ディスク | 補足 |
---|---|---|---|---|
最小構成(L4) | SLB:ゾーン冗長 | VM×2以上(zonal) | 任意(可能なら ZRS) | 単一 IP でゾーン障害に耐性。 |
スケール重視 | SLB:ゾーン冗長 | VMSS(zones=1/2/3, zoneBalance) | 任意(ZRS 推奨) | 99.99% SLA へ最短。 |
L7 制御/WAF | AppGW v2(ゾーン冗長+自動スケール) | VMSS or VM×2以上 | 任意(ZRS 推奨) | TLS 終端/ルーティング/WAF。 |
強いアウトバウンド | SLB:ゾーン冗長 | VMSS or VM×2以上 | 任意 | 各ゾーンに NAT GW+同ゾーンの Public IP の“ゾーンスタック”。 |
9.運用ベストプラクティス(同一リージョン AZ 冗長の“型”)
- 入口は“まずゾーン冗長”(SLB/AppGW)。Public IP は Standard+ゾーン冗長を前提に。
- VM は“zonal を 2 ゾーン以上”。規模/運用を考え VMSS(Flexible/Zone-spanning)を既定に。
- アウトバウンドは“ゾーンスタック”で片肺停止を局所化(NAT GW×ゾーン)。
- データは“ZRS を選べる所は選ぶ”(Premium SSD/Standard SSD)。非対応ディスクはアプリ/DB レプリケーションで補完。
- ゲームデイ:ゾーン障害を想定した訓練(IP フェール、再配置、スケール挙動)を定期テスト。
10.(応用)ステートフルな VM のクラスタリング
- Windows Server Failover Clustering(WSFC)+Cloud Witness など、OS/DB レイヤの冗長で“単一ゾーン停止時の自動昇格”を設計可能。ネットワーク/レイテンシ要件に注意。(クォーラム監視をデプロイする)
- SQL Server Always On AG を VM 上でゾーン跨ぎに構成する選択肢も。(Azure VM 上の SQL Server の Always On 可用性グループ)
※本記事はリージョン冗長を扱わないが、Site Recovery のゾーン間 DRも選択肢として存在。RPO/RTO 要件に応じて評価を。(可用性ゾーン間の Azure VM 災害復旧を有効にする)
11.実装チェックリスト
- Standard Public IP をゾーン冗長で作成(Basic は不可/廃止)。
- SLB/AppGW はゾーン冗長で。作成後ゾーン属性は変更不可。
- VM/VMSS はzonalで2 ゾーン以上へ分散。zoneBalance の要否を決める。
- NAT Gateway はゾーンスタックで配置(各ゾーンに NAT+同ゾーンの Public IP)。
- Managed Disk は可能なら ZRS(Premium v2/Ultra は非対応に注意)。
- [ ]
12.コスト/信頼性/運用のトレードオフ
選択 | コスト | 信頼性 | 運用 |
---|---|---|---|
SLB ゾーン冗長 | 低~中 | 高(単一 IP) | シンプル |
AppGW v2 ゾーン冗長 | 中 | 高(L7/WAF) | 機能豊富 |
VMSS Zone-spanning | 低~中 | 最高(99.99% SLA 到達) | 自動化/スケール容易 |
NAT “ゾーンスタック” | 中 | 高(局所化) | 設計一工夫 |
Disk ZRS | 中 | 高(同期 3 ゾーン) | 多少のレイテンシ増 |
13.結論(要点の“ひとことで”)
入口はゾーン冗長、計算はゾーナル分散(VMSS 推奨)、出口はゾーンスタック、データは ZRS を選べる所は選ぶ。
これが、同一リージョン内 AZ 冗長の最短解です。
14.なぜ?(5 Whys で深掘り)
-
なぜ ゾーン冗長にするのか?
答え:単一データセンター障害でダウンしないため。可用性ゾーンは物理的に独立しており、ゾーン跨ぎ冗長で 99.99% へ到達できる。 -
なぜ “SLB/AppGW をゾーン冗長”にするのか?
答え:入口の単一 IPをゾーン障害で落とさないため(LB の冗長性はフロント IP のゾーン属性に依存)。 -
なぜ “VM は VMSS の Zone-spanning”が良いのか?
答え:均等分散と自動スケールで障害時の健全ゾーン寄せが容易。zoneBalance で厳密分散も担保。 -
なぜ “NAT をゾーンスタック”にするのか?
答え:アウトバウンド停止を障害ゾーンに局所化できるから。単一 NAT だとそのゾーン障害=全体の送信断になり得る。 -
なぜ “ZRS ディスク”を選ぶのか?
答え:同期 3 ゾーン複製でゼロ RPOを満たしやすく、強制デタッチ→他ゾーン再アタッチで迅速復旧ができる(用途はデータディスク)。
15.仮説 → 根拠/データ → 再検証 → 示唆・次アクション
-
仮説:SLB/AppGW をゾーン冗長、VMSS を Zone-spanning、NAT はゾーンスタック、ディスクは ZRSの組み合わせが、コストと信頼性の最適点。
-
根拠/データ:LB のゾーン冗長フロント、Public IP の既定ゾーン冗長化、VMSS の Zone-spanning/zoneBalance、NAT“ゾーンスタック”、ZRS の特性/制限は公式ドキュメントで確認。
-
再検証:対象リージョン/ゾーンでのSKU/サイズ在庫、ディスク種別の ZRS 対応、待機時間とスループットの実測(ゲームデイ)を実施。
-
示唆・次アクション:
- 設計レビュー:Public IP/LB/AppGW のゾーン属性を棚卸し。
- IaC(Bicep/Terraform)テンプレートへzones/zoneBalanceとZRS/LRSの切替パラメータを実装。
- ゾーン停止シナリオの定期演習を運用 SOP に組み込む。
おわりに
同一リージョン内の AZ 冗長は、入口(フロント)・計算(VM/VMSS)・出口(NAT)・データ(Disk/DB)の4 点セットで設計を固めると、高信頼×運用容易性を両立できます。
まずは 最小構成(SLB ゾーン冗長+VMSS Zone-spanning)から着手し、NAT ゾーンスタックやZRSを要件に合わせて拡張してください。
主要出典(抜粋)
- Load Balancer とゾーン冗長:Reliability in Load Balancer(Microsoft Learn)。(Microsoft Learn)
- Public IP(Standard)とゾーン冗長/Basic 廃止:Public IP Addresses(Microsoft Learn)。(Microsoft Learn)
- VMSS と Zone-spanning/zoneBalance:Create a VMSS that uses Availability Zones(Microsoft Learn)。(Microsoft Learn)
- NAT Gateway と“ゾーンスタック”:NAT ゲートウェイと可用性ゾーン(Microsoft Learn)。(Microsoft Learn)
- Managed Disk ZRS(対応/非対応):Redundancy options for managed disks(Microsoft Learn)。(Microsoft Learn)
- 可用性ゾーンと 99.99% VM SLA(概念):Azure Availability Zones(azure.microsoft.com)。(Microsoft Azure)