【ろーどばらんさー】
ロードバランサー とは?
最終更新:
💡 届いた通信を、設定に従って振り分ける
通信や要求を、設定に従って複数の処理先へ振り分ける装置・ソフトウェア・サービス。L4・L7、ヘルスチェックと限界を解説します。
📌 このページのポイント
- 届いた通信や要求を、複数の処理先へ振り分ける
- L4とL7では、振り分けに使う情報が異なる
- ヘルスチェック等で、転送先の状態を確認する
- 負荷の均等化や、無停止を単独で保証するものではない
ロードバランサーは、何を振り分けるの?
負荷は、必ず同じになる?
選び方と要求の重さによるよ。順番に送っても、一件ごとの処理時間が違えば負荷は同じにならない。使える方式と処理先の能力、アプリの性質を確認するんだ。
L4とL7は、何が違う?
異常なサーバーには、送らない?
ヘルスチェックで状態を判定し、転送対象を調整する仕組みがあるよ。ただし検出までの時間や、全転送先が異常になった場合の挙動は製品で違う。「障害を即時・完全に防ぐ」とは言えないんだ。
サーバーを増やせば、必ず速くなる?
もっと詳しく知りたい人へ
ヘルスチェックは、必ず/healthの200を見る?
設定によります。たとえばAWS ALBでは、パス・間隔・成功とみなすコード・連続成功や失敗の回数を設定します。確認する処理が成功しても、アプリの全機能が正常だと保証するわけではありません。
全サーバーが異常なら、必ず通信を止める?
製品の挙動を確認します。AWS ALBでは、対象の全転送先が異常な場合、状態にかかわらずそれらへ振り分けるfail-openの動作があります。正常な転送先がある例と、全転送先が異常な状況を分けて扱います。
まとめ:ざっくりこれだけ覚えればOK!
「ロードバランサー」って出てきたら「届いた通信を、複数の処理先へ振り分ける仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Load Balancer」 = 負荷を分散する仕組み
💬 装置だけでなくソフトウェアやクラウドのサービスとしても提供されます。振り分けの方法や状態判定は、製品と設定で変わります。