はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません
ELB
ALBの特徴
レイヤー7に対応し、HTTP/HTTPSリスナー対応
WebsocketとHTTP/2のリクエストを受付
1インスタンスに複数ポートを登録可能
ターゲットグループでのヘルスチェックが可能
★リクエスト内容を確認して分散先を振り分ける、コンテントベースルーティングが可能
ちなみにWebsocketプロトコルとは、WebサーバとWebブラウザの間で双方向通信ができるようにするプロトコルのこと。
ALBが対応している。
パスルーティングについて
URLパスに基づいてリクエストを転送するルールを持つリスナーを作成できる。
これをパスルーティングという。
パスルーティングを使用して、1つのALBで複数のバックエンドサービスにトラフィックをルーティングすることができる。
よってパスベースルーティングによってトラフィックの制御が可能。
ELBのクロスゾーン負荷分散
有効な全てのAZの登録済みターゲットにトラフィックを分散する。
なので複数のAZにわたって全インスタンスに着信要求を均等に分散することが可能になる。
ちなみにリクエストルーティングを用いて任意のルールによって分散処理を実現することが可能。
ただし着信要求を均等に分散するためにはクロスゾーン負荷分散の方が適している。
ELBのロードバランシング機能あれこれ
ヘルスチェック
EC2インスタンスの正常/異常を確認し、利用するEC2の振り分けを行う
クロスゾーン負荷分散
配下のEC2の負荷に応じて、複数のAZに跨るEC2インスタンスに均等に負荷分散を行う
暗号化通信
SSL/TLS証明書をELBに設定することでHTTPSまたはTLS通信を実施することができる
スティッキーセッション
セッション中に同じユーザから来たリクエストを継続して同じEC2に送信する
Connection Draining
インスタンスが登録解除されるか異常が発生した場合に、そのバックエンドインスタンスへの新規リクエスト送信を中止する
ログ取得
ELBのログ取得を有効化するとS3バケットにログを収集する
CLB, ALB, NLBの違い
CLB
・レイヤー4と7に対応しており、TCP, SSL, HTTP, HTTPSリスナーを使用
・古いタイプなのでALB/NLBの利用を優先する
・データ転送(GB単位)に応じて課金される
・IPアドレスが可変であるため、指定時にDNSのみ利用可能
ALB
・レイヤー7に対応しHTTP/HTTPSリスナーに対応
・URLのパス(フォルダ名)に基づいたパスルーティングが利用可能
・時間に応じたロードバランサーキャパシティユニット(LCU)の使用量で課金される
・IPアドレスが可変であるため、指定時にDNSのみ利用可能
・デフォルトでクロスゾーン負荷分散が有効
NLB
・L4NATロードバランサでTCPリスナーに対応(戻りトラフィックがNLBを経由しない)
・時間に応じたLCUの使用量で課金される
・NLBのサブネット拡張サポート(サブネットを追加できる)
・固定IPのためDNS, IPどちらも利用可能
・ALBよりも高パフォーマンス処理が可能
・デフォルトでクロスゾーン負荷分散が可能
ELBとCA証明書
ELBにCA証明書を設定することで、SSLを使用して転送中のデータを保護する。
保護するのは以下。
・ロードバランサーとHTTPSセッションを開始するクライアント間のトラフィック暗号化
・ロードバランサーとEC2インスタンス間の接続
おわりに
引き続き追記します!
簡単ですが以上です。