現場実践|AWSロードバランサー設計

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

「ALBとNLBって何が違うの?」「どちらを選べばいい?」——AWS Application Load Balancer(ALB)とNetwork Load Balancer(NLB)の違い・選定基準・実際の設計パターンを解説します。

読了目安:約18分更新日:2026年3月

💡 ALBはHTTP/HTTPSのスマートなルーティングが得意、NLBはTCP/UDPの超高性能・超低遅延が得意。Webアプリケーションにはほぼ常にALBを選ぶのが正解です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

AWS環境のロードバランサー設計を多数担当してきた立場から解説します。

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月からフリーランス講師として本格始動予定です。

※AWS ALB/NLBの機能・料金はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル