Elastic Load Balancing — ALB・NLB・GWLBの使い分け
ALB/NLB/Gateway Load Balancerのレイヤー別の役割の違い、GWLBによるサードパーティアプライアンス挿入、クロスゾーン負荷分散を解説します。
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のネットワーク記事参照)の中核技術です。
クロスゾーン負荷分散の設計
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を見ていきましょう。