初級
load balancer (ロードバランサー)
サーバへのトラフィック負荷を複数のサーバに分散させるための装置またはソフトウェアだ。システムの可用性と拡張性を確保するための基本要素でありお前が守るべきシステムの根幹を成す。必ず理解しろ。
公開: 2025年8月23日更新: 2025年9月5日
お前がこれから対峙するシステムの多くに組み込まれているロードバランサーについて説明する。これはシステムの安定稼働を支える非常に重要なコンポーネントだ。日本語では負荷分散装置とも言う。その名の通り仕事の『負荷』を『分散』させる役割を担う。
一言で言えば交通整理員だ。
特定のWebサイトにアクセスが殺到したとしよう。もしサーバが1台しかなければそのサーバはすぐに処理能力の限界を迎えサービスが停止してしまう。そこでロードバランサーの出番だ。
ロードバランサーはやってきたアクセス(トラフィック)をその背後に控える複数のサーバにうまい具合に振り分ける。これによって1台のサーバに負荷が集中することを防ぎシステム全体として安定したサービスを提供し続けられる。
なぜ必要か?
ロードバランサーの存在意義は主に3つだ。これも覚えておけ。
- 可用性の向上 (High Availability) 複数のサーバのうち1台が故障してもロードバランサーがそれを検知し生きている別のサーバにアクセスを振り向けてくれる。これによりサービスが完全に停止する事態を避けられる。お前が守るべきシステムを止めないための基本だ。
- 拡張性の確保 (Scalability) アクセスが増えてきたら背後のサーバの台数を増やすだけで対応できる。利用者は入り口であるロードバランサーのアドレスだけを知っていればよく裏でサーバが何台動いているかを意識する必要はない。これをスケールアウトと言う。
- 保守性の向上 (Maintainability) サーバのメンテナンスを行いたい場合まずロードバランサーの振り分け対象からそのサーバを外す。その後安全に作業を行い完了したら再び振り分け対象に戻す。この間もサービスは他のサーバで継続される。計画的な停止すら許されないシステムでは必須の構成だ。
セキュリティとの関連
ここからが重要だ。ロードバランサーは単なる負荷分散装置ではない。セキュリティの観点からも重要な役割を担う。
- 単一障害点 (Single Point of Failure): 全てのトラフィックがここを通過するということはロードバランサー自体が攻撃対象になり得るしここが落ちればシステム全体が停止する。そのためロードバランサー自体を冗長化構成にするのが定石だ。
- SSL/TLSオフロード: サーバの負荷を軽減するために暗号化・復号の処理をロードバランサーに肩代わりさせることがある。これをSSLオフロードと呼ぶ。これによりサーバは本来の処理に専念できるがロードバランサーで通信が平文に戻るためここでのセキュリティ対策が極めて重要になる。
- 防御の最前線: WAF(Web Application Firewall)の機能を統合した製品も多く存在する。ロードバランサーが最初の窓口として不正な通信をフィルタリングし背後のサーバ群を保護する役割も担える。
まとめ
ロードバランサーはシステムの性能や可用性を高めるだけの存在ではない。構成次第でセキュリティの要にも弱点にもなり得る。お前がアーキテクチャを評価する際はロードバランサーがどのように配置されどのような役割を担っているのかを必ず確認する癖をつけろ。