ラウンドロビンDNSとは、DNSサーバの定義で、1つのホスト名に対して、複数のIPアドレスを定義するしくみのことです。
ラウンドロビンDNSを利用することにより、同一サービスを提供するサーバの負荷分散をすることができます。
ラウンドロビンDNSは、DNSサーバの正引き用のゾーン設定ファイルに、1つのホスト名に対して、複数のAレコードを設定するだけです。
以下に、rd.ash.jpの設定例を示します。
ash.zoneの内容 $ORIGIN ash.jp. ---------------------- rd IN A 210.164.57.78 rd IN A 211.18.241.114 |
動作確認は、nslookupコマンドで行います。
ホスト名を指定すると、2つのIPアドレスが返ってくればOKです。
この2つのIPアドレスの順番は、検索する毎に異なります。
実際に、rd.ash.jpで設定してありますので、検索してみてください。
unix# nslookup rd.ash.jp ---------------------- Name: rd.ash.jp Addresses: 210.164.57.78, 211.18.241.114 |
210.164.57.78と211.18.241.114の2つのサーバに同一の内容のWebサーバを設定します。
ASHでは、バーチャルホストによって実現しています。
以下のURLをアクセスしてみましょう。
unix# lynx http://rd.ash.jp/ |
210.164.57.78は、FTTHサーバ、211.18.241.114は、DIONサーバのデータをランダムにアクセスします。
ただし、プロキシサーバのキャッシュを使っている場合などは、片方のサーバしかアクセスできないことがあります。
ダウンしたサーバがあると、サイト全体がダウンしていると思われてしまいます。
そのため、障害時は、ipaliasなどで、すべてのIPでアクセスできるようにする必要があります。
また、負荷状況を見ていないため、サーバの負荷を見ながら分散するわけではありません。