ホーム 高可用性・スケーラブルアーキテクチャ

Elastic Load Balancing — ALB・NLB・GWLBの使い分け

ALB/NLB/Gateway Load Balancerのレイヤー別の役割の違い、GWLBによるサードパーティアプライアンス挿入、クロスゾーン負荷分散を解説します。

最終更新: 2026-07-28 カテゴリ: 高可用性・スケーラブルアーキテクチャ

AWSには3種類のロードバランサーがあり、それぞれ対応するOSI参照モデルのレイヤーと 用途が異なります。本記事ではこの使い分けを整理します。

SAA レベル:基礎概念

3種類のロードバランサー

種別レイヤー主な用途
Application Load Balancer (ALB)L7(アプリケーション層)HTTP/HTTPSのルーティング、パスベース・ホストベースルーティング
Network Load Balancer (NLB)L4(トランスポート層)超高スループット、静的IP、TCP/UDP
Gateway Load Balancer (GLB/GWLB)L3(ネットワーク層)サードパーティのセキュリティアプライアンスへのトラフィック透過的な転送

SAA 試験のポイント

「HTTPのパスに応じてルーティングを振り分けたい」→ALB、「固定IPアドレスが必要」「超低レイテンシ・高スループットが必要」→NLB、という基本的な使い分けの判断軸を押さえることがSAAの前提知識です。

ALBの主な機能

  • パスベースルーティング(/api/*/static/*で異なるターゲットグループへ)
  • ホストベースルーティング(サブドメインごとに異なるターゲットグループへ)
  • WAFとの統合が可能

SAP レベル:高度な設計シナリオ

Gateway Load Balancerによるアプライアンス挿入

SAP 試験のポイント

セキュリティ要件で、サードパーティのファイアウォールやIDS/IPSアプライアンスをすべてのトラフィックに強制的に経由させたい場合、Gateway Load Balancerを使います。GWLBはGENEVEプロトコルでトラフィックをカプセル化し、透過的にアプライアンスへ転送した後、元の経路に戻します。Transit Gatewayと組み合わせた集中型インスペクション設計(1-1のネットワーク記事参照)の中核技術です。

VPC内トラフィック Gateway Load Balancer Endpoint │ (GENEVEカプセル化) サードパーティアプライアンス(ファイアウォール等) │ (検査後、元のフローに復帰) 宛先へ転送

クロスゾーン負荷分散の設計

SAP 試験のポイント

クロスゾーン負荷分散を有効にすると、各AZのロードバランサーノードがすべてのAZのターゲットに均等にトラフィックを分配します。無効の場合、各AZのノードはそのAZ内のターゲットにのみ振り分けるため、AZごとのターゲット数に偏りがあると、一部のターゲットに負荷が集中する可能性があります。ALBはデフォルトで有効、NLBはデフォルトで無効という違いがあり、コスト(NLBでクロスゾーンを有効にするとAZ間データ転送料が発生)とのトレードオフが問われます。

設計上の落とし穴

NLBでクロスゾーン負荷分散を安易に有効化すると、AZをまたぐデータ転送料金が発生し、想定外のコスト増につながることがあります。SAPレベルでは、各AZのターゲット数を均等に保つ設計を優先し、クロスゾーン負荷分散に頼らないという選択肢も含めて検討することが問われます。

スティッキーセッションとターゲットグループの設計

  • ALBのスティッキーセッション(Cookieベース)は、ステートフルなアプリケーションで特定のユーザーを同じターゲットに固定する際に使うが、負荷の偏りを生む可能性があるため、可能な限りステートレス設計(セッション情報をElastiCache等の外部ストアに持たせる)が推奨される
  • 複数のターゲットグループを使い、Blue/Greenデプロイやカナリアリリース(加重ターゲットグループ)を実現する設計もSAPで頻出

まとめ

  • SAA: ALB(L7)、NLB(L4)、GWLB(L3、アプライアンス挿入)のレイヤーと用途の違いを理解する。
  • SAP: GWLBによる集中型インスペクション設計、クロスゾーン負荷分散のコストとトレードオフを踏まえた設計ができる。

次は マルチAZ RDS・Aurora Global Databaseを見ていきましょう。