はじめに
今回は、「Elastic Load Balancer (ELB)」というサービスの概要についてです。
ELBは、AZやEC2に何らかの障害が発生した場合、ユーザーからのアクセスを受け付けることができるシステムです。
ELBを使用することで、同じ構成を持った2つのEC2インスタンスを別々のAZに配置することができます。
ELBは、二つのEC2インスタンスにユーザーからのリクエストトラフィックを分散してくれます。
これで、高可用性、対障害性を向上することができるのです。
ELBの特徴について紹介していきます。
項目
1.ロードバランサータイプ
2.ヘルスチェック
3.インターネット向け/内部向け
4.高可用性のマネージドサービス
5.クロスゾーン負荷分散
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』 の第5章に相当
1.ロードバランサータイプ
ELBには、3つのタイプがあります。
(1)Application Load Balancer(ALB)
HTTP、HTTPSのリクエストを負荷分散する用途で使われます。
インスタンスやコンテナを複数設定し、リクエストや送信元のホストによってルーティングする機能、SSL証明書を設定する機能、リダイレクトする機能、ターゲットのインスタンスに対してセッションを維持する機能など、WEBアプリケーションに対して行動な機能が提供されます。
(2)Network Load Balancer(NLB)
HTTP、HTTPS以外のTCPプロトコルを使用する場合に選択します。
ALBとは違い、静的IPアドレスを使用することができます。
1秒あたり数百万のリクエストを処理することができます。
(3)Classic Load Balancer(CLB)
以前のタイプのロードバランサーです。
基本的には、HTTP、HTTPSではALBを、それ以外ではNLBを使うことになります。
2.ヘルスチェック
ELBは、ターゲットとしているインスタンスが正常かどうかのヘルスチェックを行います。
正常なインスタンスのみにリクエストを送るように動作します。
そうすることで、ユーザーが異常なインスタンスにアクセスしてしまうことを防いでいます。
ヘルスチェックは、対象として指定されたパス(index.htmlなど)への接続試行、またはインスタンスに対してのpingで確認します。
pingは、回線のレスポンスや応答速度を表します。 ping値は「ms(ミリ秒)」で表記され、数値が小さければ小さいほどレスポンスや応答が早く通信環境は良いということになります。 具体的には、デバイスからホストサーバー宛に送った通信の応答速度を指します。
3.インターネット向け/内部向け
ELBは、インターネット向けに作ることも、内部向けに作ることもできます。
ELBを作成するときにどちら向けかを選択します。
ELBを作成すると、設定したELBの名前を含んだDNS名が付与されます。
このDNS名にパブリックIPアドレスが紐づくか、プライベートIPアドレスが紐づくかの選択によって設定結果が変わります。
インターネット向けのELBのDNSにはパブリックIPアドレスが付与されます。
外部から、インターネット経由でアクセスできます。
内部向けのELBのDNSにはプライベートIPアドレスが付与されます。外部からのアクセスは受け付けず、内部でのアクセスを許可します。
4.高可用性のマネージドサービス
ELBは、可用性が高いマネージドサービスです。
そのため、ELBが壊れるという前提でシステム設定をする必要はありません。
ELBにはノードと呼ばれるインスタンスが複数起動しており、ユーザーからのリクエストを受け付けて負荷分散しています。
ELBを通過するトラフィックが増えれば、自動的・水平的にELBのノードも増えてリクエストに対応します。
5.クロスゾーン負荷分散
クロスゾーン負荷分散というものがあります。
ターゲットに対して、AZを超えて負荷分散するかどうかの設定です。
ALBでは常に有効、NLBでは有効か無効化を選択できます。
有効にしていると、全てのターゲットインスタンスに対してリクエストが送信されます。
ALBのノードが存在するAZだけではなく、他のAZのターゲットインスタンスにも分散できています。
これにより、全ターゲットインスタンスで負荷を均等にすることができます。
参考書籍
※ 『AWS認定資格試験テキスト AWS認定クラウドプラクティショナー』
● 楽天はこちら