はじめに
今のシステムではロードバランサーは欠かせない存在です。オンプレミスであれクアウドであれ、システムを構築する際には必ずと言っていいほどロードバランサーを使用すると思います。すでにロードバランサーについて詳しい方も多いと思いますが、いくつかの記事に分けて基本的な事をまとめて行こうと思います。
ロードバランサーとは
ロードバランサーの最も基本的な機能は、その名の通り負荷(ロード)を分散させる事です。最近のサーバーは高性能ですが、それでも1台で全てのクライアントからのアクセスに応答する事が難しい場合もあります。そこで複数のサーバーを用意するのですが、それらのサーバーにクライアントからのアクセスを割り振る事が必要になります。その役目を担うのがロードバランサーです。
ロードバランサーの種類
ロードバランサーにはいくつかの種類があります。ここでは、形態と処理レイヤーによる分類を説明します。
形態による分類(アプライアンス、VM版、クラウド)
オンプレミス環境で使用する場合は、アプライアンス機器かVM版のロードバランサーを使用する場合が多いと思います。アプライアンス機器としては、F5社のBIG-IPシリーズなどが挙げられます。また、ソフトウェアのロードバランサーとしては、BIG-IPのVM版などが挙げられます。アプライアンスの特徴は高性能であり、SSL処理用のプロセッサーなどを搭載している機器も存在します。反面、価格は高価になっています。VM版は比較的安価ですが、性能ではアプライアンスに及びません。また、VM状で稼働するロードバランサーとVMを動かす基盤部分でサポートが分かれるため、トラブル対応時の原因究明に時間がかかる場合があります。
一方、クラウド環境でロードバランサーを使用する場合は、クラウドベンダーが用意するものを使用する場合が多いです。AWSのALBやNLBなどが挙げられます。IaaS上のVMでVM版のロードバランサーを使用できる場合もあります。
処理レイヤーによる分類(L4 or L7)
次に、処理を行うレイヤーによってロードバランサーを分類してみます。アプライアンスやVM版のロードバランサーでは、L4とL7のどちらの通信も処理できます。HTTP/HTTPS通信などをロードバランサーで終端したい場合はL7、そうでない場合はL4になるように設定します。(要件によりますので、違う場合もあると思います。)
クラウドベンダーが提供するロードバランサーはL4用、L7用で別れている事が多いです。AWSの場合はNLBがL4、ALBがL7を処理するロードバランサーになります。