DNSラウンドロビン
出典: フリー百科事典『ウィキペディア(Wikipedia)』
DNSラウンドロビンとは、一つのドメイン名に複数のIPアドレスを割り当てる負荷分散技術の一つである。トラフィック負荷を複数のIPアドレスに振り分けることにより、例えばHTTPサーバに対するアクセスをほぼ同量ずつ複数のサーバマシンに分配することができる。これはBIND等DNSサーバのゾーン設定により容易に実現できる負荷分散方式である。
後述するような問題点があるため、近年では他の負荷分散方式をもちいたり、クラスタリングを導入するケースが増えてきている。
目次 |
[編集] メリット
- 導入が容易である・・ゾーンファイルの設定のみで導入できる
[編集] 問題点
- 耐障害性の欠如・・分散先のサーバの障害検知は原則として不可能である。そのため、分散先のサーバのうちの1つだけがサービス不能な場合等に復旧が遅れがちである。
- 分散先サーバの通信継続性・・接続ごとに接続先が違うと、接続の継続性が求められるサーバの場合に問題が起きる可能性がある(暗号化通信など)。
- 分散先サーバの同期・・分散サーバのコンテンツの内容が同一でないと、接続に問題が起きる可能性がある(Webサーバでのリンクなど)。
- DNSキャッシングの情報更新の際に生じる時差・・レコードのTTLが長い場合、変更前の情報を参照してしまう期間が長くなってしまう。後述のようにTTLを短めにした運用が一般的である。
- トラフィック負荷を分散する際の予期せぬ偏り・・均等な負荷分散はできない。ヘビーユーザが一つの通信先に集中してアクセスを行う場合もある
[編集] ゾーンファイル記述例
hoge IN A 127.0.1.1 hoge IN A 127.0.1.2 hoge IN A 127.0.1.3
※実際に運用する際には
hoge 30m IN A 127.0.1.1 hoge 30m IN A 127.0.1.2 hoge 30m IN A 127.0.1.3
のように、TTLを短めに設定して頻繁にリクエスト先を変えさせることが好ましい。