
ELBとは?
ELBはEC2インスタンス、コンテナ、IPアドレス、Lambda関数などの複数のターゲットに着信アプリケーショントラフィックを自動的に分散するサービスです。
種類としては以下の3つがあります。
- CLB
- ALB
- NLB
それぞれ負荷分散にするものですが、用途が違います。
CLBとは
CLBは古いタイプのELBであり、レイヤー4でのロードバランシングが必要なケースなどCLB特有のケースを除いてWEBアプリケーションには基本的には利用しないものです。
ALBの特徴
- レイヤー7に対応。HTTP/HTTPSリスナーに対応
- パスルーティングが利用可能
- 時間に応じたロードバランサーキャパシティーユニット(LCU)の使用量で課金される
- IPアドレスが可変であるため、指定時にDNSを利用する
- デフォルトでクロスゾーン負荷分散が有効
ALBはURL パスに基づいてリクエストを転送するルールを持つリスナーを作成できます。
この方式をパスルーティングと呼ばれます。
複数のタスクを実施するEC2インスタンスグループを有している場合は、パスルーティングを使用して1つのALBで複数のバックエンドサービスにトラフィックをルーティングすることができます。
NLBの特徴
- L4 NATロードバランサでTCPリスナーに対応
- 戻りトラフィックがNLBを経由しない
- 時間に応じたLCUの使用量で課金される
- NLBのサブネットを追加できる
- 固定IPのためDNSとIPどちらも利用が可能
- ALBよりも高パフォーマンス処理が可能
- デフォルトでクロスゾーン負荷分散が無効
NLBはOSIモデルの第 4 層で機能する毎秒数百万のリクエストを処理できる高性能なロードバランサーです。パスルーティングは実行可能ですが、かなりの大規模システム向けの高性能なELB
負荷分散機能は配下のEC2の負荷に応じて、複数のAZに跨るEC2インスタンスの負荷分散を行う機能です。
Connection Drainingとは
Connection Drainingとはインスタンスが登録解除されるか異常が発生した場合に、そのバックエンドインスタンスへの新規リクエスト送信を中止する機能です
SSL Terminationとは
SSL Terminationとは ELBにSSL Terminationを設定して、ロードバランサー側でSSL認証を行ってくれる機能です。
HTTPS暗号化および復号化プロセス全体(SSLターミネーション)をElastic LoadBalancerで処理するように調整する機能になります。
関連サービス
参考サイト