ロードバランサーとは何か?
負荷(Load)を均一にする装置(Balancer)。
ネットでは、平均化というよりも、割り振りを担う場合が多い。
単に、入ってきたFQDN(URL)を見てif文でサービスに振り分けるだけという単純な機能。
リクエスト(FQDN)
↓
Route53
↓
ロードバランサー(振り分け)
↓
ターゲットグループ
↓
サービスA サービスB,,,,
ユーザーが入力したURLに合わせて、接続するサービスを変更するルーティング機能。
ELBとは何か?
ELB(Elastic Load Balancing)AWSのロードバランサー。サービス名。
ELBの種類
ELBは用途に合わせて4種類ある。
- Application Load Balancer
- Network Load Balancer
- Gateway Load Balancer
- Classic Load Balancer
使用頻度が高いのは、Application Load Balancer。大規模サイトの場合はNetwork Load Balancerも使われる。
Application Load Balancer
入力されたURLによって、接続先のサーバー(サービス)を切り替えるロードバランサー。
HTTP トラフィックおよび HTTPS トラフィックの負荷分散。リクエストに基づいて、awsvpc内のターゲットにトラフィックをルーティングする。
Network Load Balancer
超高性能ロードバランサー。
極めて高いパフォーマンスが要求されるTCP(Transmission Control Protocol)、UDP(User Datagram Protocol)および (TLS)Transport Layer Securityにおけるトラフィックの負荷分散。
VPC 内のターゲットにルーティングし、きわめて低いレイテンシーを維持しながら 1 秒間に数百万件ものリクエストを処理できる。
Gateway Load Balancer
AWS以外のVPCに接続する場合に使うロードバランサー。
サードパーティーの仮想ネットワークアプライアンスを簡単にデプロイ、拡張、および実行できます。
トラフィックの送信元と送信先に対して透過性がある。
Classic Load Balancer
複数のEC2インスタンスで負荷分散をするロードバランサー。
リクエストレベルと接続レベルの両方で動作する。対象はEC2-Classic ネットワーク内に構築されたアプリケーション。
バランサー実例(Application Load Balancer)
基本的な設定
作成したバランサーには、DNSやVPCが割り当てられている。
リスナー
ロードバランサーが受け付けるリスナーポートが設定してある。
ルール
各リスナーにルートが設定されている。この入力がきたらこのサービスにリダイレクトするという設定をif then文で記述する。
HTTPからHTTPSへのリダイレクト
HTTPでリクエストがきたら、HTTPSにリダイレクトする設定も可能。
if then文
もし(IF)入力されたホストが〇〇なら(THEN)、指定したターゲットグループにトラフィックを転送する。
ターゲットグループとは、コンテナ(サービス)のこと。
クラスターの上でタスクを展開し、タスクの中のコンテナに接続する。