ロードバランサーの役割について

ロードバランサーの役割について

ここまでで、AWSにおけるロードバランサーの名称(上位概念)はELBである。ELBの種類として、ALB/NLB/CLBがあることが分かりました。次に、ロードバランサーの役割を見ていきましょう。

負荷分散

ロードバランサーの名前の通り、ルールに従ってトラフィックを振り分けます。例えばALBでは、ルーティングアルゴリズムラウンドロビン(順繰り)を使っています。下記の構成のような場合ですと、2つのEC2インスタンスに均等にトラフィックが配分されるような働きをします。

EC2インスタンスに何らかの変更が必要になった場合、ELBのターゲットグループから外し、もう一つのEC2インスタンスに一時的に100%のトラフィックを流す。といったことが可能ですので、サービスを止めることなくEC2インスタンスのメンテナンスをすることが容易になります。

f:id:TOSHIOSHIMO:20191031220234p:plain

f:id:TOSHIOSHIMO:20191031223514p:plain

ヘルスチェック

ELBは、紐付けられたターゲットグループに指定されているEC2インスタンスを一定間隔でヘルスチェック(死活監視)をしています。監視結果をCloudWatchというサービスに送信し、アラームとして通知することが可能です。これをELBを使わずに実現するとなると、結構余計なリソースを使うことになりますね。

EC2インスタンスが1台の場合でも、ELBを使う意味は大いにある訳です。

f:id:TOSHIOSHIMO:20191031221539p:plain

 

SSL通信の終端

ロードバランサーSSL通信証明書を設定し、SSL通信を終端することができます。一見、ロードバランサーの機能ではないような気もすると思いますが、これができてしまうのです。オンプレミス環境が長い人はこの機能があることに違和感があると思います(僕がそうでした)

証明書の期限切れの対応などは煩雑ですよね。オンプレミス環境の場合は専用のExcelシートを作成して証明書を管理し、更新作業の手順書を作成、メンテナンス時間を確保して手動で実施したり。AWSでは、ACM(Amazon Certificate Manager)という証明書発行サービスも併用することでその辺りにかける労力が大幅に低減されます。

f:id:TOSHIOSHIMO:20191031223043p:plain