全4292文字
ネット君 サーバーの冗長化って、複数のサーバーを用意しておくってことですよね?
インター博士 確かにその通り。だが用意しておくだけじゃだめだ。複数あるサーバーのどれに処理を割り振るのか。それが重要だな。
複数のサーバーを用意して耐障害性を高めることをサーバーの冗長化と呼ぶ(図1)。複数のサーバーに処理を割り振ることで、1台のサーバーで障害が発生した場合でもサービスを提供し続けられるようにする。また、1台のサーバーに処理を集中させないので負荷も分散できる。
サーバーの冗長化および負荷分散のポイントは「要求された処理をどのサーバーに割り振るか」である。いろいろな方法があるが、まずはDNSラウンドロビン▼を解説しよう。
異なるサーバーに順番に割り振る
DNSラウンドロビンは権威DNSサーバー▼(以下、DNSサーバー)を使ってWebサーバーなどへのアクセスを分散させる方法だ。
DNSラウンドロビンでは、1つのドメイン名に複数のIPアドレスを割り当てる。そして名前解決▼で返すIPアドレスを変えることで、異なるサーバーに順番にアクセスさせる。
具体的には、DNSサーバーのゾーンファイル▼(ゾーン設定)において、1つのホスト名に複数のAレコード▼を登録する(図2)。こうすると、DNSサーバーはそのホスト名の問い合わせに対して、AレコードのIPアドレスを順番に返すようになる。