Availability ZoneとLoad Balancerとは?AWSで障害に強い構成を初心者向けに図解
VPCとSubnetの次に理解したいのが、Region(リージョン)、Availability Zone(アベイラビリティゾーン)、そしてLoad Balancer(ロードバランサー)の関係です。
これらは「なぜ同じAPIサーバーを複数置くのか」「片方で障害が起きたとき、なぜサービスを継続できるのか」を理解するための土台になります。
RegionはAWSの大きな地理的エリア
Region = 地理的に分離されたAWSの大きな提供エリアです。たとえば東京リージョンや大阪リージョンなどがあります。
VPCは1つのRegionに作成し、そのRegion内の複数のAvailability ZoneへSubnetを配置できます。
AWS
│
├─ Tokyo Region
│ ├─ Availability Zone A
│ ├─ Availability Zone C
│ └─ ...
│
└─ 別のRegion
├─ Availability Zone
└─ ...
世界展開するシステムでは複数Regionを利用することがありますが、まずは「Regionの中に複数のAZがある」と覚えるところから始めます。
AZはAvailability Zoneの略
AZ = Availability Zoneです。Availabilityは「利用可能性」「可用性」、Zoneは「区域」という意味です。
AWSでは、1つのRegionの中に複数のAZがあり、互いに物理的・インフラ的に分離されています。Subnetは1つのAZに所属します。
Tokyo Region
│
├─ AZ-A
│ └─ Subnet A
│ └─ API Server A
│
└─ AZ-C
└─ Subnet C
└─ API Server C
同じAPIサーバーを複数AZへ配置しておくと、片方のAZやサーバーに問題が起きても、もう片方で処理を継続しやすくなります。この考え方が高可用性につながります。
Load Balancerはアクセスの振り分け役
Load Balancerは、その名前の通り「Load(負荷)」を「Balance(均等化・分散)」する仕組みです。AWSではElastic Load Balancingというサービスがあり、その中にApplication Load Balancer(ALB)など複数種類があります。
たとえばAPIサーバーが2台ある場合、利用者が各サーバーの場所を意識するのではなく、Load Balancerを1つの入口として利用します。
利用者 │ ▼ Load Balancer │ ├────→ API Server A(AZ-A) │ └────→ API Server C(AZ-C)
アクセスが集中したときに複数サーバーへ振り分けられることに加えて、利用者側には入口を1つに見せられるのも重要なポイントです。

出典: AWS Prescriptive Guidance。Application Load Balancerが複数AZにまたがる構成の例です。
Health Checkで「今そのサーバーを使えるか」を確認する
Health Check = 稼働状態の確認です。Load Balancerは登録されたTargetに対して定期的に確認を行い、正常と判断されたTargetへ通信を送ります。
たとえばAPIサーバーAが正常、APIサーバーCが異常なら、正常な側へリクエストを送ることで障害の影響を減らせます。
Load Balancer
│
├─ Health Check → Server A → OK
│ ↑ 通信を送る
│
└─ Health Check → Server C → NG
× 一時的に送らない
この仕組みがあることで、単純な「負荷の分散」だけではなく、障害が起きたサーバーを切り離す役割も持てます。
Load Balancerは1つのAZだけに閉じるものではない
ここは初学者が疑問に感じやすい部分です。Application Load Balancerでは、複数のAvailability Zoneを有効化して、それぞれのAZにあるSubnetと関連付けます。AWS側は有効化したAZにロードバランサーのノードを作成します。
AWS公式では、Application Load Balancerは少なくとも2つ以上のAvailability Zoneを有効化する必要があります。複数AZを使うことで、片方のAZが利用できない場合でも、別AZの正常なTargetへ通信を送れる構成にできます。

出典: AWS Prescriptive Guidance。複数AZのPublic Subnetにロードバランサーの受け口があり、Private SubnetのEC2へ通信しています。
複数RegionではLoad BalancerもRegionごとに考える
東京と米国など複数Regionへ展開する場合、1つのLoad Balancerが世界中のすべてのAZを直接まとめる、と考えるのは適切ではありません。基本的にはRegionごとにLoad Balancerを用意し、そのRegion内の複数AZへ振り分ける形になります。
利用者
│
▼
世界規模の振り分け
│
├─→ Tokyo Region
│ └─ Load Balancer
│ ├─ AZ-A
│ └─ AZ-C
│
└─→ US Region
└─ Load Balancer
├─ AZ-A
└─ AZ-B
さらに手前でどのRegionへ利用者を送るかを制御する仕組みとして、Amazon Route 53やAWS Global Acceleratorなどがあります。ここは今後の学習範囲として、まずは「Load BalancerはRegion内の複数AZを使える」と覚えれば十分です。
まとめ:Region → AZ → Subnet → Serverの順で見る
| 用語 | 意味 | 今回の役割 |
|---|---|---|
| Region | AWSの大きな地理的エリア | 東京などの単位 |
| AZ | Availability Zone | Region内の分離された場所 |
| Subnet | Subnetwork | 1つのAZ内に作るネットワーク区画 |
| Load Balancer | 負荷分散装置 | 複数Targetへアクセスを振り分ける |
| Health Check | 稼働状態確認 | 正常なTargetを判断する |
ここまで理解すると、Internet → Public側の入口 → Load Balancer → 複数AZのPrivate側APIサーバーというWebシステムの基本構成がかなり読みやすくなります。
前の記事: CIDRとは?/16・/24・0.0.0.0/0を整理
参考:AWS公式ドキュメント
- Regions and Zones
- How Elastic Load Balancing works
- Health checks for Application Load Balancer target groups
