DNS

トラフィックルーティングポリシー とらふぃっくるーてぃんぐぽりしー

DNSロードバランシング地理的ルーティングフェイルオーバーレイテンシRoute 53
トラフィックルーティングポリシーについて教えて

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

「どのユーザーをどのサーバーに案内するか」のルールブックだよ!たとえば「東京からのアクセスは東京サーバーへ」「メインが落ちたら予備サーバーへ自動切替」みたいに、DNSレベルで交通整理してくれる仕組みなんだ。


トラフィックルーティングポリシーとは

トラフィックルーティングポリシーとは、インターネット上のアクセス(トラフィック)を「どのサーバー・どのリージョン(地域)に振り分けるか」をDNS(ドメインネームシステム)レベルで制御するためのルール設定のことです。通常DNSは「このドメイン名はこのIPアドレスです」と単純に答えますが、ルーティングポリシーを使うと「どこから来たか・今何時か・サーバーの状態はどうか」などに応じて、返すIPアドレスを動的に変えることができます。

たとえばWebサービスをグローバルに運営している場合、ヨーロッパのユーザーをわざわざ東京サーバーに向かわせると遅くなります。ルーティングポリシーを使えば「ヨーロッパからのアクセスはフランクフルトのサーバーへ」と自動的に振り分けられます。これによりユーザー体験の向上・サーバー負荷の分散・障害時の自動切替が実現できます。

クラウドサービスではAWSのRoute 53、GCPのCloud DNS、Azure DNSなどがこの機能を提供しており、システム発注や構成設計の際に「どのポリシーを使うか」を検討することが重要です。


ルーティングポリシーの種類と使い方

主要なポリシーを目的別に整理すると以下のようになります。

ポリシー名英語名主な用途イメージ
シンプルSimple単純に1つのIPを返す一本道
加重Weighted割合でサーバーを振り分け70%Aサーバー / 30%Bサーバー
地理的Geolocationアクセス元の国・地域で振り分け日本→東京、米国→バージニア
レイテンシLatency最も応答が速いサーバーへ速さ優先ルート
フェイルオーバーFailover障害時に予備サーバーへ自動切替迂回ルート
地理的近接性Geoproximity物理的な近さ+バイアス調整地図上の引力圏
複数値回答Multivalue Answer複数IPをランダムに返す簡易負荷分散

覚え方:「シカゲレフマ」

シンプル・重(加重)・オロケーション(地理的)・イテンシ・ェイルオーバー・ルチバリュー、の頭文字で「シカゲレフマ」!試験や設計会議でポリシーの種類を聞かれたときに役立ちます。

ヘルスチェックとの組み合わせ

フェイルオーバーや加重ポリシーは、ヘルスチェック(サーバーが正常に動いているか定期確認する仕組み)と組み合わせて使うのが一般的です。ヘルスチェックが「このサーバーはダウン」と判定したら、そのサーバーへのDNS応答を自動的に止めて別のサーバーに切り替えます。

通常時:
  ユーザー → DNS問い合わせ → 東京サーバー(IPアドレスA) ← ヘルスチェック: OK

障害発生時:
  ユーザー → DNS問い合わせ → 大阪サーバー(IPアドレスB) ← ヘルスチェック: 東京NG→自動切替

歴史と背景

  • 1980年代: DNSの誕生(RFC 1034/1035, 1987年)。当初はドメイン→IPのシンプルな名前解決のみ。
  • 1990年代: インターネット商用化が進み、大規模サービスが登場。単一サーバーでは対応しきれなくなる。
  • 2000年代前半: コンテンツデリバリーネットワーク(CDN)が普及し、地理的なトラフィック分散の需要が高まる。
  • 2006年: AWSがRoute 53の前身となるサービス開発を開始。クラウド時代のDNSルーティングの概念が整備される。
  • 2010年: AWSがRoute 53を正式リリース。加重・レイテンシ・フェイルオーバーポリシーを提供。
  • 2013年: Route 53に地理的ルーティング(Geolocation)が追加。GDPRなど地域規制への対応ニーズとも合致。
  • 2020年代: マルチクラウドマルチリージョン構成が当たり前になり、ルーティングポリシーの設計はシステム構築の必須要素に。

主要クラウドサービスとの比較

各クラウドプロバイダーが提供するDNSルーティング機能を比較します。

ポリシー種別AWS Route 53GCP Cloud DNS + LBAzure Traffic Manager
加重✅ Weighted✅ Weighted
地理的✅ Geolocation✅ Geographic
レイテンシ✅ Latency✅ Performance
フェイルオーバー✅ Failover✅ Priority
地理的近接性✅ Geoproximity
ヘルスチェック統合✅ (別サービス)
料金体系クエリ数課金クエリ数課金エンドポイント数課金

ポリシーの選び方フロー(SVG図解)

ルーティングポリシー どれを選ぶ? 障害時に自動切り替えが必要? (冗長化・可用性重視) Yes フェイルオーバー + ヘルスチェック No アクセス元の 地域で分けたい? Yes 地理的/レイテンシ Geolocation / Latency No 複数サーバーに 分散させたい? Yes 加重 / 複数値回答 Weighted / Multivalue No シンプル Simple(1サーバー)

関連する規格・RFC

規格・RFC番号内容
RFC 1034DNS(ドメインネームシステム)の基本概念と仕様
RFC 1035DNSの実装と仕様の詳細
RFC 2782SRVレコード(サービス位置情報)の定義。ルーティングの原型
RFC 6891EDNS(拡張DNS):クライアント情報をDNSに乗せる仕組み(地理的ルーティングの基盤)
RFC 7871ECS(EDNS Client Subnet):DNSでクライアントのサブネット情報を伝達し、地理的ルーティングを実現する

関連用語

  • DNS — ドメイン名をIPアドレスに変換する仕組み。ルーティングポリシーの土台
  • ロードバランサー — サーバー負荷をL4/L7レイヤーで分散する装置。DNSルーティングと組み合わせて使う
  • CDN — コンテンツを世界中の拠点に配置する仕組み。地理的ルーティングの応用例
  • ヘルスチェック — サーバーの死活監視。フェイルオーバーポリシーに必須
  • フェイルオーバー — 障害時に予備系へ自動切り替えする仕組み
  • TTL — DNSの回答をキャッシュしておく時間。短くするとルーティング切替が速くなる
  • レイテンシ — 通信の遅延時間。レイテンシベースルーティングの判断基準
  • Route 53 — AWSが提供するDNSサービス。豊富なルーティングポリシーで有名