DNS

Anycast DNS えにーきゃすとでぃーえぬえす

AnycastDNS負荷分散CDNレイテンシ冗長化
Anycast DNSについて教えて

簡単に言うとこんな感じ!

世界中にある「DNSサーバー」に同じ住所(IPアドレス)を持たせて、アクセスしてきた人を自動的に一番近いサーバーに案内する仕組みだよ。ファストフードチェーンの「最寄り店舗に自動誘導」みたいなイメージ!速くて壊れにくいのが強みなんだ。


Anycast DNSとは

Anycast(エニーキャスト とは、同じIPアドレスを複数のサーバーに割り当て、ネットワークの経路情報(ルーティング)を使って送信者を「最も近い」サーバーへ自動的に振り分ける通信方式です。これをDNSに応用したものが Anycast DNS です。

通常のDNSサーバーは「このIPアドレス=このサーバー1台」という一対一の関係ですが、Anycast DNSでは「このIPアドレス=世界中のどこかにある最寄りのサーバー」という一対多の関係になります。ユーザーがDNSに問い合わせを送ると、インターネットの経路制御(BGP:Border Gateway Protocol)が自動的に最も近い拠点を選んでくれるのです。

この仕組みにより、応答速度の高速化・サーバー障害時の自動迂回・大量アクセスへの耐性 という3つのメリットを同時に実現できます。GoogleのパブリックDNS(8.8.8.8)やCloudflareのDNS(1.1.1.1)はいずれもAnycast DNSとして世界中に展開されています。


Anycastの仕組みと構造

通常のDNS(Unicast)との違い

比較項目通常のDNS(Unicast)Anycast DNS
IPアドレスの割り当てサーバー1台に1つのIP複数サーバーが同じIPを共有
問い合わせの行き先常に同じ特定のサーバー最寄りのサーバーへ自動振り分け
障害時の挙動そのサーバーに到達できなくなる次に近いサーバーへ自動迂回
応答速度距離によって遅くなる場合がある常に近いノードが応答するため高速
設定の複雑さシンプルBGP設定・拠点設計が必要

Anycastが使う経路制御:BGP

Anycastの「最寄りサーバーへの振り分け」は、インターネットの経路制御プロトコルである BGP(Border Gateway Protocol) によって実現しています。各拠点が「自分のところに同じIPアドレスのサーバーがある」とBGPでアナウンスし、ルーターがホップ数(経由するルーターの数)などを元に最短経路を選びます。

ユーザー (東京)
   ↓ DNSクエリ (宛先: 1.1.1.1)
[日本のルーター群]
   ↓ BGPで「1.1.1.1へ最短経路」を判定
[東京の Cloudflare PoP]  ← ここが選ばれる
   ↓ DNSレスポンス返却

ユーザー (ロンドン)
   ↓ DNSクエリ (宛先: 1.1.1.1)
[欧州のルーター群]
   ↓ BGPで「1.1.1.1へ最短経路」を判定
[ロンドンの Cloudflare PoP]  ← ここが選ばれる

拠点(PoP)の分散配置

Anycast DNSを提供する事業者は、PoP(Point of Presence:接続拠点) を世界各地に設置します。PoPの数が多いほど、どこのユーザーでも近い拠点にアクセスできるようになります。

事業者代表的なIPアドレスPoP数(目安)
Google Public DNS8.8.8.8 / 8.8.4.4世界100拠点以上
Cloudflare DNS1.1.1.1 / 1.0.0.1世界330都市以上
Amazon Route 53可変(委任先に依存)世界100以上

歴史と背景

  • 1989年 — BGP(Border Gateway Protocol)が登場し、インターネットの経路制御の基盤が整備される。Anycastの概念的な前提技術
  • 1993年 — RFC 1546にてAnycastの概念が初めて文書化される
  • 2003年頃 — ルートDNSサーバー(インターネットの根幹を担うDNS)がAnycastを導入。13種類のルートサーバーが実際には世界中の数百台のサーバーで支えられる構造に
  • 2005年DDoS攻撃対策としてのAnycast DNSが注目を集める。攻撃トラフィックを地理的に分散吸収できると評価される
  • 2009年 — GoogleがパブリックDNS(8.8.8.8)をAnycastで開始。一般認知度が急上昇
  • 2018年 — CloudflareがAnycast DNS(1.1.1.1)を公開。プライバシー重視・高速応答で人気を博す
  • 現在 — クラウド事業者・CDN事業者の名前解決インフラとして標準的な技術となっている

Anycast DNS の活用場面と関連技術

Anycast DNS の構成イメージ ユーザーのPCやスマホ DNSクエリ送信 同じ宛先IP インターネット BGP経路選択 東京PoP 同じIP: 1.1.1.1 アジア圏ユーザー担当 ロンドンPoP 同じIP: 1.1.1.1 欧州圏ユーザー担当 ニューヨークPoP 同じIP: 1.1.1.1 北米圏ユーザー担当 障害発生 BGPが自動的に次の 最寄りPoPへ迂回 世界中のDNSクライアントへ高速応答

Anycast DNSを支える技術スタック

技術要素役割
BGP(経路制御)最寄りPoPへのルーティングを動的に決定する
PoP(接続拠点)各地に設置されたDNSサーバー群
DNS権威サーバードメインの最終的な回答を持つサーバー
DDoS防御Anycastが攻撃を地理的に分散吸収する
ECMP(等コスト多重経路)同じコストの経路が複数ある場合に負荷分散する仕組み

Anycast DNS ≠ GeoDNS

よく混同される技術として GeoDNS(地理的DNS) があります。GeoDNSはDNSサーバー自身がユーザーの場所を判断して返すIPアドレスを変える仕組みです(例:日本からのアクセスには日本のサーバーIPを返す)。Anycast DNSはIPアドレスを変えず、ルーティングで最寄りサーバーへ誘導 する点が根本的に異なります。

比較軸Anycast DNSGeoDNS
仕組みBGPルーティングで振り分けDNSレスポンスのIP自体を変える
応答IPアドレス常に同じIPクライアントの場所により異なるIP
実装の主体ネットワーク層DNSアプリケーション層
代表的な用途パブリックDNS・ルートDNSCDN・グローバルサービスの配信先制御

関連する規格・RFC

規格・RFC番号内容
RFC 1546Anycastの概念を最初に提案した文書。ホスト・エニーキャスト・サービスについて定義
RFC 4786DNSサービスへのAnycastの適用に関するBCPガイドライン
RFC 7094Anycastに関する実装上の考慮事項(アーキテクチャ上のノート)
RFC 7858DNS over TLS(DoT)の仕様。Anycast DNSと組み合わせてプライバシー強化に使われる
RFC 8484DNS over HTTPS(DoH)の仕様。Anycast DNSと組み合わせて利用されることが多い

関連用語