ALB、NLB、CLBの違いとは?🔀

ALB、NLB、CLBの違いとは?🔀

AWS (Amazon Web Services) が提供する Elastic Load Balancing (ELB) サービスには、主に3つのロードバランサーの種類があります。それぞれの特徴と用途について詳しく見てみましょう。

ALB (Application Load Balancer) 🌐

特徴:

  • レイヤー7で動作し、HTTP/HTTPSトラフィックを処理。
  • URLパス、ホスト名、ヘッダーなどに基づいた高度なルーティングが可能。
  • コンテナ化されたアプリケーションに最適。
  • ウェブアプリケーションファイアウォール (WAF) との連携が可能。

用途:

  • マイクロサービスアーキテクチャ
  • コンテナベースのアプリケーション (Amazon ECS, Kubernetes)。
  • REST API
  • 動的コンテンツを持つウェブサイト。

NLB (Network Load Balancer) 🚀

特徴:

  • レイヤー4で動作し、TCP/UDPトラフィックを処理。
  • 超低レイテンシと高スループット。
  • 静的IPアドレスを保持。
  • 高いパフォーマンスが必要なアプリケーションに最適。

用途:

  • TCP/UDP トラフィックの負荷分散
  • リアルタイムアプリケーション (ゲーミング、VoIP)。
  • 高トラフィックのウェブサイト。
  • IoT デバイス

CLB (Classic Load Balancer) 🏛️

特徴:

  • ALB、NLBが登場する前に提供されていたロードバランサー。
  • 基本的な負荷分散機能を提供。
  • 新規構築は推奨されない (ALB、NLBへの移行を検討)。

用途:

  • 過去にCLBで構築された既存のアプリケーション (移行を検討)。

まとめ📊

ロードバランサー レイヤー 特徴 用途
ALB 7 HTTP/HTTPS、高度なルーティング、コンテナに最適、WAF連携 マイクロサービス、コンテナ、REST API、動的コンテンツ
NLB 4 TCP/UDP、超低レイテンシ・高スループット、静的IP TCP/UDP、リアルタイムアプリ、高トラフィックサイト、IoT
CLB 4, 7 基本的な負荷分散、新規構築は非推奨 既存のCLBアプリケーション (ALB, NLBへの移行を検討)

参考資料:


Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
FebMarAprMayJunJul
© 2024, PWE