
ELB(Elastic Load Balancing)とは
ELB(Elastic Load Balancing)は、AWSが提供するトラフィック分散サービスです。複数のサーバーにトラフィックを自動的に分散させることで、アプリケーションの可用性とスケーラビリティを向上させます。ELBは、受信トラフィックを複数のターゲット(EC2インスタンス、コンテナ、IPアドレスなど)に分散し、ターゲットの状態を監視して、正常なターゲットにのみトラフィックをルーティングします。
ELBを使用すると、アプリケーションの耐障害性を高め、単一障害点のリスクを軽減できます。トラフィックの急増時にも、ELBは自動的にスケールアップし、アプリケーションのパフォーマンスを維持します。ELBは、アプリケーションの可用性を向上させるために不可欠なサービスであり、AWS環境でのアプリケーション運用において重要な役割を果たします。
ELBには、Application Load Balancer(ALB)、Network Load Balancer(NLB)、Classic Load Balancer(CLB)の3種類があります。ALBは、HTTP/HTTPSトラフィックのルーティングに最適化されており、コンテンツベースのルーティングやホストベースのルーティングなどの高度な機能をサポートします。NLBは、TCP/UDPトラフィックのルーティングに最適化されており、非常に高いパフォーマンスと低レイテンシを提供します。CLBは、旧世代のロードバランサーであり、現在ではALBまたはNLBへの移行が推奨されています。
ELBの仕組みと種類
「ELBの仕組みと種類」に関して、以下を解説していきます。
- ELBの基本的な仕組み
- ELBの種類(ALB/NLB/CLB)
ELBの基本的な仕組み
ELBは、クライアントからのリクエストを受け取り、登録されたターゲットグループ内の正常なインスタンスにトラフィックを分散します。ヘルスチェック機能によって、インスタンスの状態を定期的に監視し、異常なインスタンスへのトラフィックを停止します。ELBは、自動的にスケールアップまたはスケールダウンすることで、トラフィックの変動に対応し、アプリケーションの可用性を維持します。
ELBは、ロードバランサー、ターゲットグループ、リスナーという3つの主要なコンポーネントで構成されています。ロードバランサーは、クライアントからのリクエストを受け付けるエントリポイントです。ターゲットグループは、トラフィックの分散先となるインスタンスのグループです。リスナーは、指定されたポートでリクエストを監視し、ターゲットグループにルーティングするルールを定義します。
コンポーネント | 説明 | 役割 |
---|---|---|
ロードバランサー | クライアントからのリクエストを受け付ける | トラフィックのエントリポイント |
ターゲットグループ | トラフィックの分散先となるインスタンス群 | バックエンドサーバーの管理 |
リスナー | ポート監視とルーティングルール定義 | トラフィックのルーティング制御 |
ヘルスチェック | インスタンスの状態を定期的に監視 | 異常インスタンスの排除 |
ELBの種類(ALB/NLB/CLB)
ELBには、Application Load Balancer(ALB)、Network Load Balancer(NLB)、Classic Load Balancer(CLB)の3種類が存在します。ALBは、HTTP/HTTPSトラフィックの高度なルーティングに適しており、コンテンツベースやホストベースのルーティングが可能です。NLBは、TCP/UDPトラフィックの高速処理に特化しており、低レイテンシが求められるアプリケーションに適しています。CLBは、旧世代のロードバランサーであり、現在はALBまたはNLBへの移行が推奨されています。
ALBは、マイクロサービスアーキテクチャやコンテナベースのアプリケーションに最適であり、高度なルーティング機能を提供します。NLBは、ゲーム、ストリーミング、IoTなどのリアルタイムアプリケーションに適しており、高いスループットと低レイテンシを実現します。CLBは、シンプルなロードバランシング機能を提供しますが、最新の機能やパフォーマンスの最適化はALBやNLBに劣ります。
ロードバランサー | プロトコル | 特徴 |
---|---|---|
ALB | HTTP/HTTPS | コンテンツベースルーティング |
NLB | TCP/UDP | 高スループット低レイテンシ |
CLB | HTTP/HTTPS/TCP | 基本的なロードバランシング |
ユースケース | マイクロサービス コンテナ | ゲーム ストリーミング IoT |