変更要約: in-scope サービス網羅: コンピュート/スケーリング/ストレージ(EC2 Auto Scaling/AWS Auto Scaling/ECS/Fargate/Lambda/S3)を追加
4.2ロードバランサの実装と選択
トラフィックを分散——ALB(L7)、NLB(L4)、GWLB、ターゲットグループ/ヘルスチェック、クロスゾーン負荷分散——を理解します。レイヤーと要件で選びます。
Elastic Load Balancing には ALB(アプリケーション)、NLB(ネットワーク)、GWLB(ゲートウェイ) があります。動作する OSI レイヤーと要件で使い分けます。
4.2.13 種類のロードバランサ
- ALB(L7):HTTP/HTTPS。パス/ホストベースルーティング・WAF・TLS。Web アプリやマイクロサービス向け。
- NLB(L4):TCP/UDP/TLS。超低遅延・静的 IP・大量接続、ソース IP を保持。非 HTTP に。
- GWLB:仮想アプライアンス(ファイアウォール/IDS/IPS)を透過的に挿入してトラフィックを検査する。
- ターゲットグループ/ヘルスチェック:振り分け先をグループ化し、不健全なターゲットを自動除外する。
「パス/ホストでルーティング=ALB(L7)」「静的 IP・超低遅延・TCP/UDP=NLB(L4)」「ファイアウォール等アプライアンスの挿入=GWLB」 は ANS-C01 で頻出です。静的 IP が要件なら NLB、コンテンツベースルーティングなら ALB を選びます。
クロスゾーン負荷分散を有効にすると、各 AZ のターゲット数が偏っていても全 AZ のターゲットへ均等に分散できます。
ANS-C01 ではクロスゾーン負荷分散の課金差、ソース IP の保持、GWLB の仕組みが頻出です。クロスゾーン負荷分散は、ALB では常時有効で AZ をまたぐデータ転送が無料、NLB と GWLB では既定で無効(有効化すると AZ 間データ転送が課金対象)という違いがあり、無効のままだと各 AZ 内のターゲットにしか分散されないため AZ ごとのターゲット数の偏りが負荷の偏りに直結します。ソース IP は、NLB(インスタンス ID ターゲット)と GWLB はクライアントの実 IP を保持しますが、NLB を IP ターゲットで使う場合や ALB ではプロキシのため実 IP が消えるので、ALB では X-Forwarded-For ヘッダー、NLB ではプロキシプロトコル v2 で元 IP をバックエンドに伝えます。GWLB は GENEVE(ポート 6081)でトラフィックをカプセル化して検査アプライアンスへ送る仕組みで、GWLB エンドポイント(GWLBe)をルートテーブルに挟むことで、送信元 VPC のトラフィックを透過的にセキュリティ VPC のアプライアンス群へ回す「インスペクション VPC」構成を実現します。ALB はターゲットとして Lambda も指定でき、加重ターゲットグループでブルー/グリーンや A/B も組めます。
| 観点 | ALB | NLB | GWLB |
|---|---|---|---|
| レイヤー | L7(HTTP/HTTPS) | L4(TCP/UDP/TLS) | L3 ゲートウェイ(GENEVE) |
| 静的 IP | なし(DNS 名) | あり(AZ ごと) | GWLBe で接続 |
| クロスゾーン | 常時有効・無料 | 既定オフ・有効化で課金 | 既定オフ |
| 代表用途 | コンテンツルーティング・WAF | 低遅延・静的 IP・非 HTTP | FW/IDS/IPS の透過挿入 |
シナリオ:全ての VPC 出入りトラフィックをサードパーティのファイアウォールで検査したいが、アプリ側のルーティングは変えたくない。→ セキュリティ VPC にアプライアンス群+GWLB を置き、各アプリ VPC のサブネットに GWLB エンドポイント(GWLBe)を作ってルートテーブルで経路を GWLBe に向ける。トラフィックは GENEVE でカプセル化されて検査され、アプリは構成変更なしに透過的に保護される。
FAQ:Q. NLB の背後でクライアントの実 IP が取れない? A. ターゲットタイプが IP の場合は実 IP が保持されない。インスタンス ID ターゲットにするか、プロキシプロトコル v2 を有効化する。Q. AZ ごとにターゲット数が違い負荷が偏る? A. クロスゾーン負荷分散を有効化する(NLB/GWLB は既定オフ・AZ 間転送課金に注意)。
ひっかけ:「静的 IP が欲しいから ALB を使う」は誤り。ALB は DNS 名のみで固定 IP を持たない。固定 IP が要件なら NLB(AZ ごとの静的 IP・EIP も割当可)を使うか、ALB の前段に NLB や Global Accelerator を置く。逆に「パスでルーティングしたいから NLB」も誤りで、L7 ルーティングは ALB の役割。
4.2.2この節のまとめ
- L7 ルーティング=ALB/L4・静的 IP=NLB/アプライアンス挿入=GWLB
- 健全性=ターゲットグループのヘルスチェック
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. URL パス(/api と /web)に応じて別々のバックエンドへ振り分けたい。どのロードバランサを使いますか?
Q2. 超低遅延で大量の TCP 接続を捌き、静的 IP を提供したい。どのロードバランサを使いますか?
Q3. サードパーティのファイアウォールアプライアンスをトラフィック経路に透過的に挿入して検査したい。何を使いますか?

