📝ノート
AWS Elastic Load Balancer (ELB) 解説
Tony Duong
3月 21, 2026 · 2 分
他の言語:🇫🇷
#aws#load-balancer#elb#alb#nlb#gwlb#ec2#zcloudops#cloud
概要
ロードバランサー は、着信トラフィックを複数のバックエンド(下流)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(ネットワーク層) | サードパーティアプライアンス、セキュリティ/仮想アプライアンス |
- ALB と NLB(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による翻訳