Anycast DNS えにーきゃすとでぃーえぬえす
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 DNS | 8.8.8.8 / 8.8.4.4 | 世界100拠点以上 |
| Cloudflare DNS | 1.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を支える技術スタック
| 技術要素 | 役割 |
|---|---|
| BGP(経路制御) | 最寄りPoPへのルーティングを動的に決定する |
| PoP(接続拠点) | 各地に設置されたDNSサーバー群 |
| DNS権威サーバー | ドメインの最終的な回答を持つサーバー |
| DDoS防御 | Anycastが攻撃を地理的に分散吸収する |
| ECMP(等コスト多重経路) | 同じコストの経路が複数ある場合に負荷分散する仕組み |
Anycast DNS ≠ GeoDNS
よく混同される技術として GeoDNS(地理的DNS) があります。GeoDNSはDNSサーバー自身がユーザーの場所を判断して返すIPアドレスを変える仕組みです(例:日本からのアクセスには日本のサーバーIPを返す)。Anycast DNSはIPアドレスを変えず、ルーティングで最寄りサーバーへ誘導 する点が根本的に異なります。
| 比較軸 | Anycast DNS | GeoDNS |
|---|---|---|
| 仕組み | BGPルーティングで振り分け | DNSレスポンスのIP自体を変える |
| 応答IPアドレス | 常に同じIP | クライアントの場所により異なるIP |
| 実装の主体 | ネットワーク層 | DNSアプリケーション層 |
| 代表的な用途 | パブリックDNS・ルートDNS | CDN・グローバルサービスの配信先制御 |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 1546 | Anycastの概念を最初に提案した文書。ホスト・エニーキャスト・サービスについて定義 |
| RFC 4786 | DNSサービスへのAnycastの適用に関するBCPガイドライン |
| RFC 7094 | Anycastに関する実装上の考慮事項(アーキテクチャ上のノート) |
| RFC 7858 | DNS over TLS(DoT)の仕様。Anycast DNSと組み合わせてプライバシー強化に使われる |
| RFC 8484 | DNS over HTTPS(DoH)の仕様。Anycast DNSと組み合わせて利用されることが多い |
関連用語
- DNS(Domain Name System) — ドメイン名とIPアドレスを対応付けるインターネットの根幹技術
- BGP(Border Gateway Protocol) — インターネット上の経路情報を交換するルーティングプロトコル
- CDN(Content Delivery Network) — コンテンツを世界中の拠点から配信する仕組み。Anycastと併用されることが多い
- GeoDNS — ユーザーの地理的位置に応じてDNS応答を変える技術
- DDoS攻撃 — 大量のトラフィックでサービスを妨害する攻撃。Anycastが防御に有効
- DNS over HTTPS(DoH) — HTTPSでDNSクエリを暗号化してプライバシーを守る技術
- ルートDNSサーバー — DNSの頂点に立つサーバー群。現在はAnycastで運用されている
- 負荷分散(ロードバランシング) — トラフィックを複数のサーバーへ分散させる技術