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への移行を検討) |
参考資料: