[ロードバランサー]死活監視と負荷分散でサーバーの可用性を維持

[画像のクリックで拡大表示]

 ロードバランサーとはその名の通り、サーバーにかかる負荷を分散する装置だ。主に使われるのはWebサーバーのロードバランサーである。インターネット向けのサービスを提供する企業などでは必須の機器だ。その意味で、ロードバランサーはネットワークシステムにおける陰の主役と言える。ロードバランサーをサイト全体の窓口とすることで、不特定多数のユーザーからやってくるアクセス(リクエスト)を複数のWebサーバーに分担して処理させられる。この機能に加え、ロードバランサーは「サービスの可用性維持」の役割を担う。

死活監視と負荷分散を担当

 サービスの可用性維持とは「サーバーにいつでも必ずアクセスできる」ことを意味する。これを実現するには「負荷分散」に加えて「死活監視」が必要だ(図3-1)。

 死活監視は「ヘルスチェック」とも呼ばれ、ロードバランサーの背後にいる各サーバーがユーザーからのリクエストに応答できる状態かを常に把握する。故障やメンテナンスによってサーバーが利用できない場合、ロードバランサーはそのサーバーをリクエストの分散対象から外す。

 死活監視のため、ロードバランサーはサーバーに対して定期的にパケットを送信する。それに対するサーバーからの応答を確認して、サーバーの状態を常に把握するのである。パケットが到達できればよいとするネットワークレベルだけでなく、Webサーバー上で動作するサービスが正常に応答するかを確認するアプリケーションレベルの死活監視もある。可用性が重視されるサービスを提供している場合はアプリケーションレベルの死活監視を採用する。

図3-1●負荷分散の流れ
図3-1●負荷分散の流れ
ロードバランサーはサービスの可用性を維持するのが目的だ。このため「死活監視」と「負荷分散」という2つの役割がある。死活監視はサーバーの動作状況の確認、負荷分散は各サーバーへの処理の振り分けである。
[画像のクリックで拡大表示]