Cloud Service
Azure DNS / Traffic Manager
Azure 上で DNS ゾーンをホストする Azure DNS と、DNS ベースでグローバルにトラフィックを振り分ける Traffic Manager。AWS の Amazon Route 53 に相当。
- 1.権威 DNS をホストし名前解決を担うマネージドサービス。
- 2.Traffic Manager が DNS で複数リージョンへ振り分け。
- 3.障害時の切替や最寄り誘導も可能。Route 53 相当。
解決する課題
物理的な DNS サーバーや GSLB(広域負荷分散)アプライアンスを持たず、マネージドで名前解決とグローバル振り分けを実現できます。
- ドメイン名でサービスに繋ぎたい(Azure DNS で権威 DNS をホスト)
- リージョン障害時に別リージョンへ自動で切り替えたい(Traffic Manager のフェイルオーバー)
- ユーザーを最も近い/速いエンドポイントへ振りたい(Traffic Manager のパフォーマンス)
- VNet 内部だけで使うプライベートな名前解決をしたい(プライベート DNS ゾーン)
主要概念と用語
- DNS ゾーン: ドメインの DNS レコードを束ねる入れ物。パブリック DNS ゾーン(インターネット向け権威 DNS)とプライベート DNS ゾーン(VNet 内向け)がある
- レコードセット: 同じ名前・同じ種類のレコードの集合。A / AAAA / CNAME / MX / TXT / SRV / NS / SOA / CAA / PTR などをサポート
- エイリアスレコード (Alias record set): Azure リソース(パブリック IP / Traffic Manager / Front Door / CDN)を指す特別なレコード。ゾーン頂点(apex)で使え、リソースの IP 変化に自動追従する。AWS の Route 53 Alias に相当
- Traffic Manager プロファイル: 振り分けの設定単位。
<名前>.trafficmanager.netという DNS 名を持つ - ルーティング方式: Priority(優先度=フェイルオーバー)/ Weighted(重み付け)/ Performance(最寄り)/ Geographic(地理)/ Multivalue(多値)/ Subnet(送信元サブネット)
- エンドポイント: Traffic Manager の振り分け先。Azure エンドポイント / 外部エンドポイント / 入れ子(Nested)プロファイル
- エンドポイント監視(ヘルスチェック): HTTP/HTTPS/TCP でエンドポイントの死活を監視し、異常先を応答から除外する
仕様・制限・クォータ
- Azure DNS / Traffic Manager はいずれもグローバルサービス。権威 DNS は世界中の Anycast ネットワークで応答する
- ドメイン登録そのものは別サービスの App Service ドメイン(または外部レジストラ)で行い、ネームサーバーを Azure DNS に向けて委任する
- Traffic Manager は DNS レベルの振り分けであり、L7 のプロキシではない。応答した IP にクライアントが直接接続するため、フェイルオーバーの体感速度は TTL(既定 300 秒)に左右される
- 課金は Azure DNS が「ゾーン数 + クエリ数」、Traffic Manager が「プロファイルの DNS クエリ数 + 監視対象エンドポイント数」
- サブスクリプション単位でゾーン数・レコードセット数・プロファイル数などに上限があり、多くは引き上げ申請が可能
内部の仕組み
Azure DNS は Anycast でグローバルに分散した権威 DNS として、レコードセットに基づき問い合わせへ応答します。エイリアスレコードは CNAME と違い、ゾーン頂点(apex: example.com)でも使え、指し先 Azure リソースの IP 変更に自動追従します。
Traffic Manager は DNS の応答内容そのものをルーティング方式に応じて変える仕組みです。クライアントの DNS リゾルバが app.trafficmanager.net を問い合わせると、Traffic Manager は監視で「正常」と判定したエンドポイントの中から、方式(Priority / Performance など)に従って 1 つ(Multivalue では複数)の CNAME / IP を返します。
example.com(apex)には DNS 仕様上 CNAME を置けません。Traffic Manager や Front Door へ apex を向けたい場合は、Azure DNS の**エイリアスレコード(A/AAAA タイプ)**を使うのが定石です。サブドメイン(www 等)であれば CNAME で trafficmanager.net を指しても構いません。
設計パターン / ベストプラクティス
- apex はエイリアスで Traffic Manager / Front Door / パブリック IP へ向ける
- Priority ルーティング + エンドポイント監視で DR(プライマリ異常時にセカンダリへ自動フェイルオーバー)
- Performance ルーティングで多リージョンに展開したアプリへ最寄り誘導、Weighted でカナリア/段階リリース
- 切替を速くしたい場合はプロファイルの TTL を短く(例 30〜60 秒)しておく
- L7 機能(WAF / SSL オフロード / パスベース)も欲しいなら Front Door、純粋な DNS 振り分けで十分なら Traffic Manager、と使い分ける
- 入れ子プロファイル(Nested) で「まず地域で振り、地域内では Performance」のような多段ルーティングを構成
運用・監視
- Azure Monitor で Traffic Manager のクエリ数・エンドポイント正常性メトリクスを監視し、異常時にアラート
- エンドポイント監視のステータス(Online / Degraded / Disabled)でどの先が応答から外れているかを確認
- 反映が遅い/切り替わらない → TTL を確認(クライアント側リゾルバがキャッシュ中の可能性。切替前提なら TTL は短めに)
- 名前解決の確認は
nslookup/dig(dig app.trafficmanager.netで返る CNAME/IP が方式どおりか検証) - プライベート DNS ゾーンは 自動登録(autoregistration) や VNet リンクの状態を確認
コスト
| 要素 | 課金 | ポイント |
|---|---|---|
| Azure DNS パブリックゾーン | ゾーン数(月額)+ DNS クエリ数 | 最初の一定クエリまでは低単価、以降は従量 |
| Azure DNS プライベートゾーン | ゾーン数(月額)+ クエリ数 | VNet 内部解決用。リンク自体は無料 |
| エイリアスレコードのクエリ | 通常の DNS クエリと同じ | Route 53 と異なり Alias 専用の無料枠はない |
| Traffic Manager | DNS クエリ数(100 万単位) | 返した DNS 応答の数で課金 |
| Traffic Manager エンドポイント監視 | 監視対象エンドポイント数 | Azure 内/外部で単価が異なる |
不要になったエンドポイントは無効化(Disable)ではなく削除すれば監視課金が止まります。また Traffic Manager と Azure DNS は別課金なので、純粋な名前解決だけで足りるなら Traffic Manager プロファイルは作らないのが安価です。
セキュリティ
- プライベート DNS ゾーンで VNet 内部だけの名前解決を実現し、内部ホスト名を外部に晒さない
- Microsoft Entra ID + RBAC でゾーン/レコードの変更権限を最小化(AWS の IAM 相当)。
DNS Zone Contributorなどの組み込みロールを使う - リソースロックでゾーンやレコードの誤削除を防止
- CAA レコードで、そのドメインの証明書を発行してよい CA を制限
- パブリックエンドポイントを保護するなら、Traffic Manager の前段ではなく Front Door + WAF や DDoS Protection を併用
廃止したリソースの A レコード/CNAME をゾーンに残したままにするのは NG。指し先のパブリック IP やストレージ名が第三者に再割り当てされると、サブドメインテイクオーバー(乗っ取り)の標的になります。リソース削除時はレコードも必ず削除し、Azure リソースを指す箇所はエイリアスレコードで自動追従させましょう。
関連サービス・比較(AWS との対応)
| 観点 | Azure DNS / Traffic Manager | Amazon Route 53 |
|---|---|---|
| 位置づけ | 権威 DNS(Azure DNS)+ DNS 振り分け(Traffic Manager) | DNS・ドメイン登録・振り分けを単一サービスに統合 |
| apex 向けレコード | エイリアスレコード(A/AAAA) | Alias レコード |
| フェイルオーバー | Traffic Manager: Priority + エンドポイント監視 | フェイルオーバールーティング + ヘルスチェック |
| 低遅延誘導 | Traffic Manager: Performance | レイテンシベースルーティング |
| 重み付け分散 | Traffic Manager: Weighted | 加重ルーティング |
| 地理ベース | Traffic Manager: Geographic | 位置情報ルーティング |
| 内部向け DNS | プライベート DNS ゾーン | プライベートホストゾーン |
| ドメイン登録 | App Service ドメイン(別サービス) | Route 53 ドメイン登録(同一サービス) |
ハンズオン / CLI例
# リソースグループを作成
az group create --name demo-rg --location japaneast
# パブリック DNS ゾーンを作成
az network dns zone create --resource-group demo-rg --name example.com
# www の A レコードを追加(TTL 3600 秒、IP を指定)
az network dns record-set a add-record \
--resource-group demo-rg --zone-name example.com \
--record-set-name www --ipv4-address 203.0.113.10
# Traffic Manager プロファイルを作成(Priority = フェイルオーバー、TTL 30 秒)
az network traffic-manager profile create \
--resource-group demo-rg --name demo-tm \
--routing-method Priority --ttl 30 \
--unique-dns-name demo-tm-app \
--protocol HTTPS --port 443 --path "/healthz"
# プライマリ/セカンダリのエンドポイントを登録(優先度の小さい方が優先)
az network traffic-manager endpoint create \
--resource-group demo-rg --profile-name demo-tm \
--name primary --type externalEndpoints \
--target app-eastus.contoso.com --priority 1 --endpoint-status Enabled
az network traffic-manager endpoint create \
--resource-group demo-rg --profile-name demo-tm \
--name secondary --type externalEndpoints \
--target app-westeurope.contoso.com --priority 2 --endpoint-status Enabled
# apex を Traffic Manager に向けるエイリアスレコード(CNAME 不可の apex でも可)
az network dns record-set a create \
--resource-group demo-rg --zone-name example.com --name "@" \
--target-resource $(az network traffic-manager profile show \
--resource-group demo-rg --name demo-tm --query id -o tsv)
Azure Service
Azure DNS / Traffic Managerを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ネットワーキング
比較で見る軸
クラウド: Azure / カテゴリ: ネットワーキング / 難易度: intermediate
導入後に効く点
Traffic Manager が DNS で複数リージョンへ振り分け。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- ネットワーキング
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- reliability / performance / operational
判断チェックリスト
- 自社の用途が「ネットワーキング / reliability」に近いか確認する。
- 強みである「権威 DNS をホストし名前解決を担うマネージドサービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。