DNSラウンドロビン

読み:でぃーえぬえすらうんどろびん / 英語表記:DNS round robin

1つのホスト名に、複数のサーバのIPアドレスを登録しておき、問合せのたびに返す順番を変えることで、アクセスを複数のサーバに振り分ける方法。専用の負荷分散装置がいらないが、故障したサーバにも振り分けてしまう。

イマシルちゃんの解説

人気のWebサイトに、1台のサーバだけだと、お客さんがいっぱい来たときにパンクしちゃうよね。

そこで、同じ名前でサーバを何台か用意して、DNSに全部の住所を登録しておくんだ。
DNSが「今回はこっちのサーバ」「次はあっちのサーバ」って、順番を変えて答えるから、
お客さんが自然にばらけて、それぞれのサーバに行くんだよ。

より深い解説

仕組み

権威DNSサーバに、同じ名前のAレコード(またはAAAAレコード)を複数登録する。

www.example.com.  300  IN  A  192.0.2.11
www.example.com.  300  IN  A  192.0.2.12
www.example.com.  300  IN  A  192.0.2.13

DNSサーバは、問合せのたびに応答の中のレコードの順番を入れ替える。クライアントは、ふつう先頭のアドレスに接続するため、接続先がサーバの間で分散される。

長所と短所

長所短所
DNSの設定だけでできるサーバの故障や負荷の状態を見ずに振り分ける
負荷分散装置が不要キャッシュDNSサーバやクライアントがキャッシュするため、TTLの間は振り分けが偏る
地理的に離れたサーバにも振り分けられる同じ利用者が、毎回同じサーバにつながるとは限らない(セッションの維持ができない)

故障したサーバのレコードを削除しても、各地のキャッシュに残っている間は、そのサーバへの接続が続く。このため、TTLを短めにしたり、負荷分散装置(ロードバランサ)と組み合わせたりする。

負荷分散装置との比較

DNSラウンドロビン負荷分散装置
振り分ける場所名前解決の段階通信の経路上
サーバの死活監視しないする(ヘルスチェック)
セッションの維持できないできる(パーシステンス)
費用ほぼかからない装置やサービスが必要

DNSサーバの情報を守る設定との区別

DNSラウンドロビンは負荷分散の設定であり、ゾーンの情報を外部に読み出されないようにする効果はない。ゾーンの情報の漏えいを防ぐには、プライマリDNSサーバで、ゾーン転送を許可する相手を、セカンダリDNSサーバのIPアドレスに限定する。

実際の試験ではここに出る!

この用語が出てくる記事

↑