Elastic Load Balancing(ELB)とは
Elastic Load Balancing(ELB)とは、複数のターゲット (EC2インスタンス、コンテナ、IPアドレス等)に自動で負荷分散するロードバランサーのサービスです。
例えば、可用性を向上させたい時にELBを以下の図ようなイメージで使用します。
Webサーバ(EC2インスタンス)を1つのリージョン内(※)のそれぞれの場所(AZ:アベイラビリティゾーン)に構築して、ELBによってそれぞれのWebサーバに通信を振り分けます。
※ELBにて複数のリージョンに設置されたサーバへの負荷分散はできません。
複数のアベイラビリティゾーンのサーバに対して負荷分散することをクロスゾーン負荷分散といいます。
一台のWebサーバに障害が発生した場合は、ELBが検知してもう一台のWebサーバにのみ通信を振り分けるので、可用性が高まります。
ELBから定期的にEC2インスタンスが正常に動作しているか確認して、異常が発生しているEC2インスタンスには通信を振り分けないという機能があります。
その機能のことをヘルスチェックといいます。
また、ELBは高可用性のマネージドサービスですので、1つのみでも実際は冗長化されています。
そのため、ELBが単一障害点(single point of failure:SPOF)にはなりません。
Elastic Load Balancingの種類
ELB(Elastic Load Balancing)には様々な種類があります。
OSI参照モデルとロードバランサーの種類を対応付けると以下のようになります。
階層 | 階層名 | ロードバランサーの種類 |
---|---|---|
7 | アプリケーション層 | Application Load Balancer(ALB) Classic Load Balancer(CLB) |
6 | プレゼンテーション層 | |
5 | セッション層 | |
4 | トランスポート層 | Network Load Balancer(NLB) Classic Load Balancer(CLB) |
3 | ネットワーク層 | Gateway Load Balancer(GWLB) |
2 | データリンク層 | |
1 | 物理層 |
また、各ロードバランサーの概要は以下の通りです。
(1) Application Load Balancer(ALB)
HTTPとHTTPSの通信を負荷分散するロードバランサーです。
Webアプリケーションを振り分ける際に使用します。
URLのパスに基づいてルーティングするパスベースルーティングをすることができます。
(2) Network Load Balancer(NLB)
全てのTCP通信も負荷分散するロードバランサーです。
HTTPとHTTPS以外のTCP通信も振り分ける際に使用します。
ALBより高パフォーマンス処理ができるため、大量のトラフィックを処理する場合は、NLBを選択することを推奨します。
(3) Gateway Load Balancer(GWLB)
GENEVEプロトコルを使用できる仮想アプライアンスを使用するためのロードランサーです。
トレンドマイクロ社やPalo Alto社の製品など様々なネットワークアプライアンスやセキュリティアプライアンスを使用できます。
(4) Classic Load Balancer(CLB)
以前のタイプのロードバランサーです。
以前の構成との互換性のために選択できるようになっていますが、新規構築の場合は基本的に使用しません。
Elastic Load Balancingの機能
ELB(Elastic Load Balancing)では、以下の機能がありますので、必要に応じて設定します。
用語 | 用語の意味 |
---|---|
スティッキーセッション | セッション中に同じユーザからの通信を同じEC2インスタンスに送る機能 |
Connection Draining | システムのメンテナンスなどでELBからEC2インスタンスを切り離した場合、 新規リクエストを送らないようにする機能 |
Elastic Load Balancingの料金とは
Elastic Load Balancingは使用した時間で料金が発生します。
以下の2つの要素によって、Elastic Load Balancingの費用は変わります。
(1) ELB(Elastic Load Balancing)の種類
ELB(Elastic Load Balancing)の種類(ALB、NLB、GWLB、CLB)によって、料金が変わります。
(2) 動作するリージョン
ELB(Elastic Load Balancing)が動作するリージョンによって、料金が変わります。
ELBの詳細な料金については、以下のAWSの公式サイトをご確認ください
AWSに関する記事
AWSについての関連記事は以下の通りです。
必要に応じて、ご確認ください。