AWS ALBとNLBの違い|ロードバランサーの選定と実践的な設計パターン

現場実践|AWSロードバランサー設計
AWS ALBとNLBの違い|ロードバランサーの選定と実践的な設計パターン
「ALBとNLBって何が違うの?」「どちらを選べばいい?」——AWS Application Load Balancer(ALB)とNetwork Load Balancer(NLB)の違い・選定基準・実際の設計パターンを解説します。
💡 ALBはHTTP/HTTPSのスマートなルーティングが得意、NLBはTCP/UDPの超高性能・超低遅延が得意。Webアプリケーションにはほぼ常にALBを選ぶのが正解です。
1. ALBとNLBの基本的な違い
| ALB(Application LB) | NLB(Network LB) | |
|---|---|---|
| レイヤー | L7(HTTP/HTTPS) | L4(TCP/UDP/TLS) |
| ルーティング | パスベース・ホストベース・ヘッダーベース | IPアドレス・ポートベースのみ |
| パフォーマンス | 高い | 超高性能・超低遅延(数ミリ秒) |
| 固定IP | なし(DNS名のみ) | あり(Elastic IPを割り当て可能) |
| WebSocket・HTTP/2 | 対応 | 非対応 |
| 主なユースケース | Webアプリ・マイクロサービス・ECS | ゲーム・IoT・固定IP要件・超低遅延API |
2. ALBのパスベースルーティング設定
ALBのリスナールールで「/api/* → APIサーバーターゲットグループ」「/static/* → S3オリジンのCloudFront」「その他 → Webサーバーターゲットグループ」という振り分けが実現できます。1つのALBで複数のサービスにトラフィックを振り分けるマイクロサービス構成の定番パターンです。
3. ヘルスチェックの設定ポイント
- ヘルスチェックパス:/health や /ping 等の専用エンドポイントを用意して200を返すようにする。/ (ルート) はリダイレクトで301を返すケースがあり不適切
- 間隔・閾値:本番環境では「30秒間隔・2回連続失敗でUnhealthy・3回連続成功でHealthy」が標準的な設定
- ドレイニング時間:デプロイ時の接続断を防ぐため、ターゲットグループの登録解除遅延(デフォルト300秒)を適切に設定する
4. ALBのアクセスログをS3に保存する
ALBはアクセスログをS3に出力できます。リクエスト数・レイテンシー・ステータスコード・クライアントIPが記録されます。Athenaで分析することで、エラーの多いパス・遅いAPIエンドポイントの特定に活用できます。本番環境では必ず有効化することを推奨します。
📌 この記事のポイント
- WebアプリケーションにはほぼALBを選ぶ。NLBは固定IP要件・超低遅延・TCP/UDPプロトコルの場合に選ぶ
- ALBのパスベースルーティングでマイクロサービスへの振り分けが1つのALBで実現できる
- ヘルスチェックは専用エンドポイント・30秒間隔・2回連続失敗でUnhealthyが標準的な設定
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




