全2683文字
PR

 最後にサーバーにおける冗長化に触れておこう。今回はネットワーク管理者が扱うことが多い「DNSラウンドロビン」「負荷分散装置」「NICの冗長化」という3つの方法を解説する。

DNSでアクセス要求を振り分け

 DNSラウンドロビンは、DNSの名前解決を利用してWebサーバーなどへのアクセス要求を分散させる方法だ(図5-1)。複数台のサーバーに通信を振り分けるので、1台のサーバーで障害が発生した場合でもサービスを提供し続けられる。権威DNSサーバー(以下、DNSサーバー)の設定を変更するだけで実現できるので、導入のハードルが低い。

図5-1●DNSによる冗長化
図5-1●DNSによる冗長化
1つのホスト名に複数のサーバーのIPアドレスを割り当てることで、サーバーへのアクセスを振り分けられる。ただし、サーバーに障害が発生してもDNSでは検知できないのでアクセスを振り分け続けてしまう。
[画像のクリックで拡大表示]

 DNSラウンドロビンでは、1つのホスト名に複数のIPアドレスを割り当てる。具体的には、DNSサーバーのゾーンファイルにおいて、1つのホスト名に対して複数のAレコードを設定する。

 例えば、Aレコードに「192.168.10.1」「192.168.10.2」「192.168.10.3」というIPアドレスを登録しておくと、DNSサーバーは名前解決の問い合わせごとに「192.168.10.1→192.168.10.2→192.168.10.3」と順番に切り替えて応答する。Aレコードの最後尾に登録されているIPアドレスを返したら、次は先頭のIPアドレスに戻って応答する。こうしてサーバーへのアクセスを振り分ける。

 DNSラウンドロビンは手軽に導入できるが、障害が発生したサーバーにも通信を振り分けてしまう欠点がある。DNSサーバーはサーバーの障害を検知できないからだ。つまり「冗長化」としては不十分だ。またパソコンからのアクセスが同一のサーバーに連続して発生することを前提としたシステムでは使えない。

負荷分散装置で束ねる

 こうした問題があるため、実際には負荷分散装置がよく使われる。複数のサーバーに処理を振り分ける目的に特化した装置だ。サーバーの障害を検知して振り分けから切り離す機能や、処理を担当したサーバーにパソコンから連続的にアクセスできるようにする機能を備える。

 負荷分散装置は、パソコンとサーバー群の間に配置する。パソコンからは負荷分散装置が1台のサーバーとして見える。負荷分散装置がパソコンからのアクセス要求を受け付け、適切なサーバーに振り分ける。そして、サーバーからの結果を、要求を出したパソコンに送り返す。