📝ノート

AWS Elastic Load Balancer (ELB) 解説

Tony Duong

Tony Duong

3月 21, 2026 · 2

他の言語:🇫🇷
#aws#load-balancer#elb#alb#nlb#gwlb#ec2#zcloudops#cloud
AWS Elastic Load Balancer (ELB) 解説

概要

ロードバランサー は、着信トラフィックを複数のバックエンド(下流)EC2 インスタンスに転送するサーバー(またはサーバー群)。ユーザーは1つのエンドポイント(ロードバランサー)に接続し、どのバックエンドインスタンスがリクエストを処理しているかは分からない。ユーザーが増えるほど、負荷はインスタンス間で分散される。

ロードバランサーを使う理由

  • 単一アクセス先 — ユーザーは1エンドポイントに接続;バックエンド構成は隠蔽される。
  • 障害時の切り離し — ヘルスチェックで unhealthy インスタンスを検知し、トラフィックを送らない。
  • ヘルスチェック — ルーティング前に下流インスタンスの正常性を確認。
  • SSL 終端 — ロードバランサーで HTTPS 復号を担当。
  • スティッキネス — クッキーで同じユーザーを同じインスタンスへルーティング。
  • ゾーン間の高可用性 — AZ 間でトラフィックを分散。
  • パブリックとプライベートの分離 — 内部 vs 外部ロードバランサー。

Elastic Load Balancer (ELB) — AWS が管理

  • AWS がロードバランサーを管理:アップグレード、メンテナンス、高可用性。
  • 自前運用より安価で簡単;スケーラビリティは AWS が対応。
  • 連携: EC2、Auto Scaling Groups、ECS、Certificate Manager、CloudWatch、Route 53、WAF、Global Accelerator。

ヘルスチェック

  • ELB は ポートルート(例:HTTP ポート 4567、パス /health)でインスタンスの健全性を確認。
  • インスタンスが OK(通常 HTTP 200)を返さない場合、unhealthy とマークされ、トラフィックを受けない。
  • ヘルスチェックは障害インスタンスを避けるのに不可欠。

AWS ロードバランサーの4種類

種類 略称 プロトコル 用途
Classic CLB 2009 (V1) HTTP、HTTPS、TCP、SSL、Security CP 非推奨;利用可能だが避ける
Application ALB 2016 HTTP、HTTPS、WebSocket Webアプリ、レイヤ7ルーティング
Network NLB 2017 TCP、TLS、Security CP、UDP 低遅延、レイヤ4、極高性能
Gateway GWLB 2020 IP(ネットワーク層) サードパーティアプライアンス、セキュリティ/仮想アプライアンス
  • ALBNLB(GWLB は用途に応じて)を Classic より優先。
  • ロードバランサーは 内部(プライベート)または 外部(パブリック)に設定可能。

セキュリティグループ

  • LB の SG: 0.0.0.0/0 からの HTTP (80) と HTTPS (443) を許可し、ユーザーがアクセス可能にする。
  • EC2 の SG: 任意のIP範囲ではなく、ロードバランサーのセキュリティグループ からの HTTP (80) と HTTPS (443) のみ許可。
  • これにより EC2 には LB 由来のトラフィックだけが届き、セキュリティが向上する。

要点

  • ロードバランサーは下流インスタンスへトラフィックを分散し、バックエンド構成を隠蔽する。
  • ELB はフルマネージド;自前運用より利用する。
  • ヘルスチェックで unhealthy インスタンスへのトラフィックを避ける。
  • HTTP/HTTPS と WebSocket には ALB;TCP/UDP と低遅延には NLB;Classic は避ける。
  • EC2 の SG を LB の SG に紐づけ、LB 経由のトラフィックだけインスタンスに届くようにする。

Claudeによる翻訳

Tony Duong

著者: Tony Duong

デジタル日記。思考、経験、そして人生についての考え。