DNSラウンドロビン

DNSラウンドロビン (DNS round robin)とは、一つのドメイン名に複数のIPアドレスを割り当てる負荷分散技術の一つである。
概要.
トラフィック負荷を複数のIPアドレスに振り分けることにより、例えばHTTPサーバに対するアクセスをほぼ同量ずつ複数のサーバマシンに分配することができる。これはBIND等DNSサーバのゾーン設定により容易に実現できる負荷分散方式である。
アクセス数に応じた負荷分散のほか、通信量、サーバの負荷（CPUやメモリの使用率）、応答時間で負荷分散をすることができる。
後述するような問題点があることに加え、主にIPv6における宛先アドレス選択アルゴリズムとして定義された「RFC3484」では、DNSが同一サーバ名に対し複数のIPアドレスを持つ場合に「自分のアドレスに近いアドレスを優先的に選択する」ことを定めており、Windows Vistaなどマイクロソフト製OSの一部や、最近のLinuxなどではこのルールに従いDNSラウンドロビンがデフォルトで無効にされている。
このため、近年では他の負荷分散方式を用いたり、クラスタリングを導入するケースが増えてきている。またYouTubeなどが採用する「IPアドレスの上位プレフィックスを同じ値で揃える」方法など、RFC3484が有効な環境でもDNSラウンドロビンの効力を発揮させるテクニックも編み出されている。
ゾーンファイル記述例.
※実際に運用する際には
のように、TTLを短めに設定して頻繁にリクエスト先を変えさせることが好ましい。
以前は、以下のようにCNAMEレコードを用いて記述されることがあったが、現在のDNSの仕様ではこの方法は禁止されている。