AWSのロードバランサーといえば長らく、2009年から提供されている「Elastic Load Balancing(ELB)」だった。しかし2016年8月にWebシステムに特化したApplication Load Balancer(ALB)が、2017年9月には大量のトラフィック処理向けのNetwork Load Balancer(NLB)が提供された。

 これに伴い、従来のELBはClassic Load Balancer(CLB)に改称され、ELBはCLB、ALB、NLBという三つのロードバランサーの総称となった。

 最初に、これら三つのロードバランサーを簡単に説明する(図1)。

図1 三つのロードバランサー
図1 三つのロードバランサー
[画像のクリックで拡大表示]

 CLBは名称の通りClassic(旧型)という位置付けの汎用型ロードバランサーだ。L4(トランスポート層)/L7(アプリケーション層)での負荷分散が可能で、TCP、SSL、HTTP/HTTPSが使える。

 ALBはHTTP/HTTPSに特化したL7ロードバランサー。Webシステムでの負荷分散では、現状での第一選択肢となる。

 新しいNLBは、性能増強の暖気(Pre-Warming)を申請しなくとも大量のトラフィック処理が可能なL4ロードバランサー。TCP専用である。

 本稿では、これら三つのロードバランサーをどのように使い分けるかを解説する。最初にCLB、ALB、NLBに共通する基本機能を取り上げたうえで、個別の機能を説明する。検証では、アクセス件数およびデータ量を増やしたときの挙動を確かめる。