負荷分散(ふかぶんさん/Load Balancing)とは、1台のサーバーに処理が集中しないよう、複数のサーバーへアクセスや処理を振り分ける仕組みのことです。特定のサーバーだけに負担がかかることを防ぎ、サービス全体を安定して稼働させるために欠かせない技術です。
現実世界に例えると、負荷分散はスーパーのレジで、空いているレジへお客さんを案内する係員のようなものです。ひとつのレジに行列が集中しないよう、複数のレジへバランスよく振り分けることで、全体の待ち時間を短くすることができます。
ロードバランサーの役割
| 役割 | 内容 |
|---|---|
| 振り分け | 受け取った通信を複数のサーバーへ分配する |
| 死活監視 | サーバーの稼働状況を確認し、異常時は除外する |
負荷分散を行う機器の名称
負荷分散を実現する専用の機器やソフトウェアは、「ロードバランサー」と呼ばれ、利用者からのアクセスを受け取り、あらかじめ決められたルールに従って各サーバーへ振り分けます。振り分け先のサーバーの状態を常に監視し、負荷が偏らないよう調整する役割も担っています。
負荷分散が必要な理由
1台のサーバーだけでサービスを運用していると、アクセスが集中した際に処理が追いつかず、表示の遅延やサーバーダウンにつながるおそれがあります。複数台に処理を分散させることで、こうしたリスクを大きく減らすことができます。
障害対策としての側面
負荷分散には、特定のサーバーが故障や不具合を起こした際に、正常な他のサーバーへ処理を振り分け続けられるという利点もあります。死活監視の仕組みによって不調なサーバーを自動的に切り離せるため、サービス全体を止めずに運用しやすくなります。
身近なサービスとの関わり
多くの人が利用するWebサービスやオンラインショップの裏側では、アクセスが集中する時間帯でもサイトが落ちないよう、負荷分散の仕組みが常に働いています。普段は意識されない存在ですが、快適な利用体験を支える重要な役割を担っています。
振り分け方式の種類
ロードバランサーには、アクセスを順番に均等へ割り振る「ラウンドロビン方式」や、各サーバーの負荷状況を見て振り分け先を判断する方式など、いくつかの振り分け方法があります。サービスの特性に応じて、適した方式が選ばれています。
スケーリングとの組み合わせ
負荷分散は、サーバーの台数を増やす「スケールアウト」と組み合わせて使われることが多い技術です。台数を増やすだけでは処理が偏ってしまうため、負荷分散の仕組みがあって初めて、複数台構成のメリットを十分に活かすことができます。両者を組み合わせることで、拡張性と安定性を同時に高めることができます。

コメント