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

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

💡 「封筒」で振り分けるか「中身」で振り分けるか
📌 このページのポイント
ロードバランサーの種類: L4 vs L7 L4(トランスポート層) L4 LB 確認するもの: IP アドレス / ポート番号 / TCP/UDP Server A Server B Server C 用途: 高速・大量通信向け ゲーム / DB / TCP通信 L7(アプリケーション層) L7 LB 確認するもの: URL / ヘッダー / Cookie / コンテンツ /api /images /web /api/* /img/* /web/* 用途: URLベースの振り分け Web / API / マイクロサービス L4は通信レベル、L7はアプリケーションレベルで振り分ける
ロードバランサーの種類のイメージ
ひよこ ひよこ

L4とL7のどっちを使えばいい?

ペンギン先生 ペンギン先生

用途で決まるよ。単純にTCP/UDPの通信を複数サーバに分散するならL4(高速・低レイテンシ)。URLパス別にバックエンドを変えたい(/apiはAPIサーバ、/imagesは画像サーバ)ならL7。ゲームサーバや動画ストリーミングはL4、WebアプリケーションはL7が一般的だね

ひよこ ひよこ

AWSではどうなってる?

ペンギン先生 ペンギン先生

NLB(Network Load Balancer)がL4、ALB(Application Load Balancer)がL7に対応するよ。ALBはパスベースルーティング、ホストベースルーティング、WebSocket対応など高機能。NLBは超高速(毎秒数百万リクエスト処理可能)で固定IPが使える。CLB(Classic)は旧世代だね

ひよこ ひよこ

L7はSSL終端もできる?

ペンギン先生 ペンギン先生

できるよ。SSL終端(SSL Termination)とは、ロードバランサーHTTPS復号して、バックエンドサーバにはHTTPで通信すること。証明書の管理が1か所で済むし、バックエンドの負荷も下がる。L7ロードバランサーの重要な機能の一つだね

ひよこ ひよこ

サービスメッシュとの関係は?

ペンギン先生 ペンギン先生

IstioLinkerdなどのサービスメッシュは、サイドカープロキシがL7ロードバランシングを行うよ。マイクロサービス間の通信をサービスメッシュで管理し、外部からの入口にはクラウドのALB/NLBを配置する構成が現代的なアーキテクチャだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「L4/L7ロードバランサー」って出てきたら「振り分けの判断基準がネットワーク層かアプリ層かの違い」と思えればだいたいOK!
📖 おまけ:英語の意味
「Layer 4 / Layer 7 Load Balancer」 = レイヤー4/7負荷分散装置
💬 OSI参照モデルの層(Layer)に対応。L4は「どこ宛か」、L7は「何を求めているか」で振り分けるよ
← 用語集にもどる