本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第4章 コンピューティングの設計 · レッスン20

Elastic Load Balancing ― トラフィックを賢く振り分ける

導入

複数のEC2に負荷を分散させたい。しかし「どのロードバランサーを使うか」は、扱う通信の階層によって変わります。SAAではALB/NLB/GWLBの使い分けが頻出です。

説明

Elastic Load Balancing(ELB) は、複数のターゲット(EC2、コンテナ、Lambdaなど)にトラフィックを自動分散するマネージドサービスです。目的に応じて3種類のロードバランサーがあります。

種類階層特徴向いている用途
ALB(Application Load Balancer)L7(HTTP/HTTPSパスベース・ホストベースのルーティング、WebSocket対応Webアプリ、マイクロサービス、コンテナ
NLB(Network Load Balancer)L4(TCP/UDP)超低レイテンシー、静的IP/Elastic IPを固定可能高スループットが必要な通信、固定IPが必要な連携
GWLB(Gateway Load Balancer)L3(IPパケットサードパーティのセキュリティアプライアンスへの透過的な振り分けファイアウォールやIDS/IPSの一括適用
flowchart LR
    C["クライアント"] --> ELB["ロードバランサー"]
    ELB --> AZ1["EC2 (AZ-a)"]
    ELB --> AZ2["EC2 (AZ-b)"]
    ELB --> AZ3["EC2 (AZ-c)"]

ELBは複数AZにまたがるターゲットへ振り分けることで、第1章で学んだ「本番=Multi-AZ」を実現する中心的な部品です。ヘルスチェックに失敗したターゲットは自動的に振り分け対象から外され、正常なターゲットのみにトラフィックが送られます。これがシステムの自己修復力の土台になります。

読んでみよう

「HTTPでパスごとに振り分けたい」→ALB、「TCPで超低遅延・固定IPが必要」→NLB、「既存のセキュリティアプライアンスを経由させたい」→GWLB、という対応を丸暗記して構いません。この3択はほぼそのままの形で出題されます。