【えるよんえるななろーどばらんさー】

L4/L7ロードバランサー とは?

最終更新:
💡 「封筒」で振り分けるか「中身」で振り分けるか

トランスポート層(L4)のIPアドレスやポートなどで通信を分散する方式と、アプリケーション層(L7)のHTTP情報などで振り分ける方式。

📌 このページのポイント
どの情報で宛先を選ぶ? L4 IP・ポートなど LB サーバーA サーバーB L7 HTTPのパスなど LB /api /img TLS終端の有無だけでは区別しない
L4は通信のIP・ポートなど、L7はHTTPのパスなどを判断に利用する。線は選択可能な転送先を示す。
ひよこ ひよこ
L4とL7は何が違うの?
ペンギン先生 ペンギン先生
L4はトランスポート層、L7はアプリケーション層のことだよ。L4方式ではIPアドレスやポートなど、L7方式ではHTTPのパスやホスト名などを見て宛先を選ぶんだ。
ひよこ ひよこ
具体的にはどう使い分けるの?
ペンギン先生 ペンギン先生
TCPやUDPの通信を分散したいならL4が候補になる。HTTPの「/api」はAPI用、「/img」は画像用のサーバーへ送る、といったルールを使いたいならL7が候補だよ。
ひよこ ひよこ
AWSではどれに当たるの?
ペンギン先生 ペンギン先生
NLBがL4、ALBがL7に当たるよ。NLBは固定IPを利用でき、ALBはパスやホスト名によるルーティングができる。必要な機能や通信方式で選ぼう。
ひよこ ひよこ
L7ならTLS終端もできる?
ペンギン先生 ペンギン先生
ALBではできるよ。ロードバランサーでクライアント側のTLS接続を終えることなんだ。その先のサーバーへは、設定に応じてHTTPでもHTTPSでも接続できるよ。
ひよこ ひよこ
TLSを扱うなら必ずL7なの?
ペンギン先生 ペンギン先生
そうとは限らないよ。NLBにもTLSを終端するリスナーがある。TCPのリスナーで暗号化された通信をそのまま通す構成もあるから、TLSの有無だけで分類しないでね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「L4/L7ロードバランサー」って出てきたら「通信を振り分けるときに見る情報の層の違い」と思えばだいたいOK!
📖 おまけ:英語の意味
「Layer 4 / Layer 7 Load Balancer」 = レイヤー4/7負荷分散装置
💬 OSI参照モデルの層(Layer)に対応。L4は「どこ宛か」、L7は「何を求めているか」で振り分けるよ

参考資料

← 用語集にもどる