Cloud Service
Azure Load Balancer / Application Gateway
トラフィックを複数のバックエンドへ分散する Azure のロードバランサ群。L4 の Load Balancer と L7 の Application Gateway を用途で使い分ける。AWS の Elastic Load Balancing (ELB) に相当。
- 1.通信を複数のバックエンドへ振り分ける交通整理役。
- 2.L4 は Load Balancer、L7 は Application Gateway が担当。
- 3.URL ルーティングや WAF が要れば後者を選ぶ。ELB 相当。
解決する課題
物理ロードバランサ機器を調達せず、ソフトウェア定義で可用性とスケールを確保できます。
- 1台に集中させず負荷を分散したい
- 障害インスタンスをヘルスプローブで自動的に切り離したい
- 複数の可用性ゾーンや台数変動に自動追従したい
- URL パスやホスト名でL7 ルーティングしたい(マイクロサービス・複数サイトの集約)
主要概念と用語
- Azure Load Balancer(L4): TCP/UDP を高速転送するレイヤー4 ロードバランサ。パブリック(インターネット向け)と内部 (Internal) の2種類。Basic は 2025年9月30日に退役済みで、既存リソースもサポート・SLA対象外のため Standard へ移行する
- Application Gateway(L7): HTTP/HTTPS 専用のレイヤー7 ロードバランサ。URL パス/ホストベースのルーティング、SSL/TLS 終端、Cookie ベースのセッションアフィニティ、リライトに対応。WAF(Web Application Gateway WAF SKU) を統合可能
- フロントエンド IP / バックエンドプール / ヘルスプローブ / リスナー / 規則 (rule): 受け口の IP、振り分け先の集合、正常判定、待ち受け、振り分けルール
- 負荷分散規則 / インバウンド NAT 規則: プール全体への分散と、特定 VM への 1:1 ポート転送
- HA Ports: Standard Load Balancer で全ポートを一括負荷分散する内部 LB 向け機能(NVA の冗長化などに使用)
- 送信 (アウトバウンド) 規則 / SNAT: バックエンドからの外向き通信のための送信元 NAT
- その他のロードバランサ: グローバル分散の Traffic Manager(DNS ベース) と Azure Front Door(グローバル L7 + CDN + WAF)
仕様・制限・クォータ
- Standard Load Balancer はゾーン冗長 / ゾーン指定に対応(フロントエンド IP をゾーン冗長化でき、単一ゾーン障害に耐える)
- Load Balancer はヘルスプローブ(TCP / HTTP / HTTPS) で正常なバックエンドだけに振り分ける
- Application Gateway は v2 SKU(Standard_v2 / WAF_v2)が現行。自動スケール・ゾーン冗長・静的 VIP に対応し、専用サブネットが必要
- TLS 終端は Application Gateway(証明書 / Key Vault 連携)で実施。Load Balancer は L4 のため TLS 終端は行わない(パススルー)
- Application Gateway WAF は OWASP Core Rule Set(CRS) や Bot Manager ルールセットをサポート
- サブスクリプション/リージョンごとにロードバランサ数・規則数・バックエンドインスタンス数などの上限があり、引き上げ申請が可能
内部の仕組み
Azure Load Balancer は、Microsoft の SDN(ソフトウェア定義ネットワーク)基盤上で動作する分散型・パススルー型のレイヤー4 ロードバランサです。実体は仮想 IP(VIP)を受けてフローをハッシュ(5タプル/2タプル/3タプル)でバックエンドにマッピングし、トラフィックを直接転送します。プロキシではないため低遅延・高スループットで、戻りトラフィックはバックエンドからクライアントへ直接返ります。
- ヘルスプローブで異常なインスタンスを検知し、新規フローを正常なバックエンドにのみ割り当てる
- Standard SKU は既定でクローズ(明示的に NSG で許可しないとトラフィックは通らない)。Basic は既定でオープンという挙動差がある
- Application Gateway は対照的にフルリバースプロキシとして動作し、HTTP リクエストの中身(パス/ホスト/ヘッダ)を解釈して L7 ルーティング・TLS 終端・WAF 検査を行う
L4 の TCP/UDP・超低遅延・非 HTTP プロトコル=Load Balancer、HTTP/HTTPS の URL/ホストルーティング・TLS 終端・WAF=Application Gateway。さらにグローバル分散や CDN・エッジ WAF が要るなら Azure Front Door を選びます。この使い分けは設計の要。
設計パターン / ベストプラクティス
- VMSS + Standard Load Balancer + 複数ゾーンが L4 の王道。スケールセットの台数増減に自動追従
- Application Gateway + WAF_v2 を Web の前段に置き、L7 ルーティングと OWASP ベースの防御を一体化
- TLS は Application Gateway で終端(証明書は Key Vault で集中管理)、バックエンドは HTTP でも、エンドツーエンド TLS でも構成可能
- 多層構成: インターネット → Application Gateway(L7/WAF)→ 内部 Load Balancer(L4)→ アプリ層、のように L7 と L4 を組み合わせる
- ゾーン冗長フロントエンド IPで単一ゾーン障害に備える。Application Gateway v2 もゾーン冗長で配置
運用・監視・トラブルシュート
- Azure Monitor でメトリクスを監視: Load Balancer は
Data Path Availability、Health Probe Status、SNAT Connection Count、SYN Countなど。Application Gateway はThroughput、Healthy/Unhealthy Host Count、Failed Requests、Response Statusなど - SNAT ポート枯渇は L4 の代表的トラブル。送信規則で明示的に SNAT ポートを割り当てるか、NAT Gateway に送信を逃がして解消する
- Application Gateway はバックエンドのヘルス(Backend health) ビューで 502 の原因(プローブ失敗・証明書不一致・NSG)を切り分ける
- Connection Monitor / Network Watcher で到達性を解析。アクセスログ・WAF ログは Log Analytics / Storage へ出力して分析
コスト
ロードバランサの種類ごとに課金体系が異なります。L4 は規則とデータ量、L7 はキャパシティ単位の従量です。
| サービス | 課金の考え方 | 向いている用途 |
|---|---|---|
| Standard Load Balancer | 規則数 + 処理データ量 | L4 の TCP/UDP 分散・内部 LB |
| Application Gateway v2 | 固定の時間課金 + キャパシティユニット (CU) | L7 ルーティング・TLS 終端 |
| Application Gateway WAF_v2 | 上記 + WAF 分のキャパシティ課金 | L7 + Web 攻撃防御が必要 |
| Azure Front Door | リクエスト + 送信データ + ルーティング | グローバル L7・CDN・エッジ WAF |
| Traffic Manager | DNS クエリ数 | DNS ベースのリージョン振り分け |
アイドルでもキャパシティ/時間課金が発生します。L7 機能(URL ルーティング・TLS 終端・WAF)が不要なら、より安価な L4 Load Balancer で十分なことが多い。逆にグローバル分散とエッジ WAF を Application Gateway を地域ごとに並べて実現するより、Front Door に集約した方が安くなる場合があります。
セキュリティ
- Standard Load Balancer は既定でクローズ。NSG でフロントエンド/バックエンドの受信を最小限に許可する
- TLS は Application Gateway で終端し、最新の TLS ポリシー(最小バージョン) を適用。証明書は Key Vault で管理しローテーション
- WAF_v2 で OWASP CRS・Bot 対策を有効化し、SQL インジェクションや XSS を L7 でブロック
- 大規模 DDoS には Azure DDoS Protection を併用(Standard Public IP と組み合わせる)
L4 の Load Balancer に Web アプリ防御(WAF)を期待するのは NG。Load Balancer はパススルー型の L4 で、HTTP の中身を検査しません。Web 攻撃から守るには Application Gateway WAF_v2 や Azure Front Door の WAF を前段に置く必要があります。
関連サービス・比較(AWS との対応)
Azure はロードバランサが「L4 / L7 / グローバル」で別サービスに分かれており、AWS の ALB/NLB/GWLB との対応を押さえると選定が速くなります。
| 観点 | Azure | AWS (Elastic Load Balancing ほか) |
|---|---|---|
| L4 (TCP/UDP) | Azure Load Balancer (Standard) | Network Load Balancer (NLB) |
| L7 (HTTP/HTTPS) | Application Gateway (v2) | Application Load Balancer (ALB) |
| L7 + WAF 統合 | Application Gateway WAF_v2 | ALB + AWS WAF |
| グローバル L7 / CDN / エッジ WAF | Azure Front Door | CloudFront + AWS WAF / Global Accelerator |
| DNS ベースの広域振り分け | Traffic Manager | Route 53 (ルーティングポリシー) |
| セキュリティアプライアンス挿入 | 内部 LB + HA Ports(NVA 構成) | Gateway Load Balancer (GWLB) |
| TLS 終端 | Application Gateway / Front Door | ALB / NLB(証明書は ACM) |
ハンズオン / CLI例
# リソースグループを作成
az group create --name demo-rg --location japaneast
# --- L4: Standard Load Balancer(パブリック)---
# ゾーン冗長のパブリック IP を作成
az network public-ip create \
--resource-group demo-rg \
--name lb-pip \
--sku Standard \
--zone 1 2 3
# Standard ロードバランサ本体を作成
az network lb create \
--resource-group demo-rg \
--name demo-lb \
--sku Standard \
--public-ip-address lb-pip \
--frontend-ip-name fe \
--backend-pool-name bepool
# HTTP ヘルスプローブを作成
az network lb probe create \
--resource-group demo-rg --lb-name demo-lb \
--name http-probe --protocol Http --port 80 --path /healthz
# 80番ポートをバックエンドプールへ負荷分散する規則
az network lb rule create \
--resource-group demo-rg --lb-name demo-lb \
--name http-rule --protocol Tcp \
--frontend-port 80 --backend-port 80 \
--frontend-ip-name fe --backend-pool-name bepool \
--probe-name http-probe
# --- L7: Application Gateway (WAF_v2) ---
# Application Gateway 専用サブネットを用意した前提で作成
az network application-gateway create \
--resource-group demo-rg \
--name demo-agw \
--location japaneast \
--sku WAF_v2 \
--capacity 2 \
--vnet-name demo-vnet \
--subnet appgw-subnet \
--public-ip-address agw-pip \
--priority 100
Azure Service
Azure Load Balancer / Application Gatewayを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ネットワーキング
比較で見る軸
クラウド: Azure / カテゴリ: ネットワーキング / 難易度: intermediate
導入後に効く点
L4 は Load Balancer、L7 は Application Gateway が担当。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- ネットワーキング
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- reliability / performance / security / cost
判断チェックリスト
- 自社の用途が「ネットワーキング / reliability」に近いか確認する。
- 強みである「通信を複数のバックエンドへ振り分ける交通整理役。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。