【ろーどばらんさー】

ロードバランサー とは?

💡 リクエストの「交通整理」役
📌 このページのポイント
クライアント リクエスト ロード バランサー 振り分け サーバ 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(均衡)させる装置。交差点の信号機のような役割だよ
← 用語集にもどる