名前解決を行っているクライアントの国や地域によって、近い場所のサーバのIPを返すといったことは既に行われている。しかし、そのDNSによる負荷分散の方法は標準化されていない。
「DNS load balancing」という提案仕様では、新しくLBレコードを定義し、権威DNSサーバからフルリゾルバに対して負荷分散のための情報を伝達できるようにします。
日本の方が書かれている提案なので緊張感がありつつも、ざっと読んでみたので簡単に書く。
LBレコード
LBレコードは、分散のための
例えば
# <owner> <ttl> <class> LB <weight> <location> <target> example.jp. 3600 IN LB 1 AP ap.example.com. example.jp. 3600 IN LB 1 JP jp1.example.jp. example.jp. 3600 IN LB 3 JP jp2.example.jp. example.jp. 3600 IN LB 1 JP-13 tokyo.example.jp. example.jp. 3600 IN LB 1 AS2496 as2497.example.jp. example.jp. 3600 IN LB 1 AS2496:1 as2497.example.jp. example.jp. 3600 IN LB 1 +BEER beer.example.jp.
地域としてAP, 国としてJP, 日本の都道府県コードで東京を示すJP-13, AS番号も指定可能であるほか、プライベートユースとして+から始まる文字列が使用できる。
流れ
(一部省略)
Authoritative name serverが下記のようなレコードを持つとする
example.jp. 3600 IN A 198.51.100.1 example.jp. 3600 IN LB 1 * www.example.com. example.jp. 3600 IN LB 1 JP jp1.example.com. example.jp. 3600 IN LB 3 JP jp2.example.com.