【ろーどばらんさー】

ロードバランサー とは?

最終更新:
💡 リクエストの「交通整理」役
📌 このページのポイント
クライアント リクエスト ロード バランサー 振り分け サーバ 1 33% サーバ 2 33% サーバ 3 34% 1つのアドレスへのリクエストを複数サーバに均等に振り分ける
クライアントのリクエストを複数サーバーに振り分け
ひよこ ひよこ
L4とL7ロードバランサーの違いは?
ペンギン先生 ペンギン先生
L4はTCPレベルで分散。IPアドレスポート番号だけを見て振り分ける。高速だけど、リクエストの中身は見えない。L7はHTTPレベルで分散。URLパス、ヘッダー、Cookieを見てルーティングできる。/apiはバックエンドサーバーに、/imagesはCDNに、という振り分けはL7でしかできないよ
ひよこ ひよこ
分散アルゴリズムは何がいいの?
ペンギン先生 ペンギン先生
ラウンドロビン(順番に振り分け)が最もシンプルで多くの場合十分。最小接続数(接続数が少ないサーバーに振り分け)は処理時間にバラつきがある場合に有効。IPハッシュ(同じIPを同じサーバーに振り分け)はセッション維持が必要な場合に使う。ただしステートレス設計ならラウンドロビンで問題ないよ
ひよこ ひよこ
ペンギン先生 ペンギン先生
ロードバランサーが定期的にサーバーの生死を確認する仕組み。/healthエンドポイントHTTPリクエストを送って200が返るか確認する。応答がなければそのサーバーを分散対象から外す。サーバーが復旧したら自動で戻す。これにより障害サーバーへのリクエスト転送を防ぐんだよ
ひよこ ひよこ
AWSのALBとNLBの使い分けは?
ペンギン先生 ペンギン先生
ALB(Application Load Balancer)はL7でHTTPベースのルーティングが可能。WebアプリやAPIに最適。NLB(Network Load Balancer)はL4でTCP/UDPの超高速処理が可能。ゲームサーバーやIoTデバイスの大量接続に向いている。WebアプリならALBを選んでおけばほぼ間違いないよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ロードバランサー」って出てきたら「サーバーの負荷分散装置」と思えればだいたいOK!
📖 おまけ:英語の意味
「Load Balancer」 = 負荷分散装置
💬 Load(負荷)をBalance(均衡)させる装置。交差点の信号機のような役割だよ
← 用語集にもどる