Application Load Balancer(ALB)とは?L7 ロードバランサーの仕組みと活用

ALB は アプリケーション層(HTTP/HTTPS)専用のロードバランサー。URL パス・ホスト名・HTTP ヘッダ・クエリ文字列・送信元 IP など、L7 情報に基づくきめ細かいルーティングが可能。マイクロサービス・コンテナ・Lambda・WebSocket・HTTP/...

HTTP/HTTPS(L7)に特化した、ホスト名・パス・ヘッダで柔軟にルーティングできるロードバランサー。


1. 概要(端的に)

ALB は アプリケーション層(HTTP/HTTPS)専用のロードバランサー。URL パス・ホスト名・HTTP ヘッダ・クエリ文字列・送信元 IP など、L7 情報に基づくきめ細かいルーティングが可能。マイクロサービス・コンテナ・Lambda・WebSocket・HTTP/2 まで幅広く対応する。


2. 何ができるか

  • L7 ベースルーティング:パス(/api/*)・ホスト(api.example.com)・ヘッダ・メソッド・クエリで分岐
  • 複数のターゲット種別:EC2 / IP / Lambda / コンテナ
  • WebSocket・HTTP/2・gRPC 対応
  • SSL/TLS 終端:HTTPS を ALB で復号、後段は HTTP で軽量化
  • WAF 統合:AWS WAF で SQL インジェクション・XSS 対策
  • ユーザー認証統合:Cognito や OIDC で組み込み認証
  • スティッキーセッション:Cookie ベースで同一クライアントを同一ターゲットへ

ルーティング条件

  • パスベース(/api/users → サービス A)
  • ホストベース(admin.example.com → サービス B)
  • HTTP ヘッダ(User-Agent や独自ヘッダで分岐)
  • クエリ文字列(?version=2 で別ターゲット)
  • 送信元 IP(社内 IP のみ別系統)
  • HTTP メソッド(GET / POST で分岐)

3. 特徴

観点特徴
レイヤーL7(HTTP/HTTPS のみ)
ターゲットEC2 / IP / Lambda / コンテナ
WAF直接統合可能
HTTP/2・WebSocketサポート
固定 IPなし(DNS で解決)
AZ 数最低 2 AZ 必要
コストNLB より高め
接続性クライアント IP は X-Forwarded-For で渡る

vs NLB(試験頻出比較)

観点ALBNLB
プロトコルHTTP/HTTPS/gRPC/WebSocketTCP/UDP/TLS
固定 IP×○(Elastic IP 可)
レイテンシ数十 ms数 ms
WAF 統合×
ルーティング高度(L7 条件)シンプル(L4)
用途Web/APIゲーム/VoIP/超高速

4. 仕組み

ALB は 「リスナー → ルール → ターゲットグループ → ターゲット」 の流れでルーティングする。

構成要素

  • ロードバランサー本体:DNS エンドポイント
  • リスナー:ポート + プロトコル(例:HTTPS:443)
  • ルール:条件と優先順位を持つルーティング設定
  • アクション:forward / redirect / fixed-response / authenticate
  • ターゲットグループ:振り分け先の集合
  • ヘルスチェック:HTTP/HTTPS で生存確認

動作の流れ

  1. クライアントが ALB の DNS にアクセス
  2. リスナーが受信(HTTPS:443 で SSL 復号)
  3. ルール評価:上から順に条件マッチ
  4. マッチしたアクションを実行(多くは forward)
  5. ターゲットグループから 正常な ターゲットを選択
  6. ターゲットへリクエスト転送
  7. レスポンス受信 → クライアントへ返却

スティッキーセッション

  • アプリケーション維持型:アプリが発行する Cookie を利用
  • 期間ベース:ALB が AWSALB Cookie を発行(1 秒〜7 日)

ターゲットの正常性

  • healthy:ヘルスチェック合格
  • initial:登録直後のヘルスチェック前
  • unhealthy:ヘルスチェック失敗
  • draining:登録解除中(既存接続は処理)
  • unused:AZ にターゲットなし

5. ユースケース

ユースケース 1:マイクロサービス・API ゲートウェイ

/api/users/* → ユーザーサービス、/api/orders/* → 注文サービスへルーティング。

ユースケース 2:マルチテナント SaaS

tenant1.example.com tenant2.example.com をホストベースで分岐。

ユースケース 3:A/B テスト

ヘッダ X-Version: beta のリクエストだけ新環境へ振り分け。

ユースケース 4:Lambda + ALB のサーバーレス Web

EC2 不要で Lambda をターゲットに、API Gateway 不要の構成も可。

ユースケース 5:WAF + ALB のセキュアな Web

ALB に AWS WAF を直接アタッチして SQL インジェクション・XSS 対策。


6. 関連用語

  • ELB — ALB を含むロードバランサー総称
  • NLB — L4 ロードバランサー(比較対象)
  • EC2 / ECS / Lambda — ALB のターゲット
  • WAF — ALB と統合してセキュリティ強化
  • ACM — SSL/TLS 証明書を ALB に適用
  • Cognito — ALB 認証で利用
  • Route53 — ALB への DNS ルーティング

7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFALB の役割、L7 ロードバランサーの概念
SAAALB vs NLB の使い分け、ルーティング設計
DVAパスベースルーティング、Lambda 統合、認証連携
SOAヘルスチェック・ログ分析