Azure と AWS の DNS サービスの主要な違いを個人的に比較

ざっくりとした理解は、Amazon Route 53 ≒ Azure DNS Zone + Azure Traffic Manager です。

https://learn.microsoft.com/ja-jp/azure/architecture/aws-professional/networking#route-53-azure-dns-and-azure-traffic-manager

> AWS の Route 53 では、DNS 名管理と DNS レベルのトラフィック ルーティング サービスと、フェールオーバー サービスの両方を提供します。 Azure では、これは 2 つのサービスで処理されます。
>
> Azure DNS は、ドメインと DNS の管理を提供します。
>
> Traffic Manager は、DNS レベルのトラフィック ルーティング、負荷分散、およびフェールオーバー機能を提供します。

## パブリック DNS の違い

いくつか気になる要素を比較しました。

| 項目                         | Route 53 | DNS Zone | Traffic Manager |
| ---------------------------- | -------- | -------- | --------------- |
| SLA                          | 100%     | 100%     | 99.99%          |
| DNS レコード管理             | ○[^1]    | ○[^2]    |                 |
| エイリアスレコードのサポート | ○[^3]    | ○[^2]    |                 |
| DNSSEC のサポート            | ○[^1]    | ×[^2]    |                 |
| 負荷分散                     | ○[^4]    |          | ○[^5]           |
| フェールオーバー             | ○[^1]    |          | ○[^5]           |
| ドメインの購入               | ○[^6]    | ×[^2]    |                 |

DNS に関しては両者共に SLA 100% となっています。
負荷分散やフェイルオーバー等も込みの構成で考えると、SLA 的には AWS が強いですね。
Azure DNS Zone はドメインの購入ができませんが、Azure App Service ドメインを利用することで Azure 上でドメインを購入し、Azure DNS Zone で管理することは可能です。

[^1]: https://aws.amazon.com/jp/route53/features/
[^2]: https://learn.microsoft.com/ja-jp/azure/dns/dns-overview
[^3]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html
[^4]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/routing-policy-weighted.html
[^5]: https://learn.microsoft.com/ja-jp/azure/traffic-manager/traffic-manager-routing-methods
[^6]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/domain-register.html

## プライベート DNS の違い

AWS Route 53 の プライベートホストゾーン と Azure Private DNS Zone の比較をしてみました。

| 項目                                       | Route 53 (プライベートホストゾーン) | Private DNS Zone                    |
| ------------------------------------------ | ----------------------------------- | ----------------------------------- |
| プライベートネットワーク統合               | ○(VPC と関連付け[^b1])              | ○(VNet と関連付け[^b2])             |
| 複数ネットワークサポート                   | ○(複数 VPC と関連付け可能[^b1])     | ○(複数 VNet と関連付け可能[^b2])    |
| スプリットホライズン DNS                   | ○[^b3]                              | ○[^b4]                              |
| EC2/VM の DNS レコードの自動登録           | ×                                   | ○[^b7]                              |
| フェールオーバー等の高度なルーティング機能 | ○[^b8]                              | ×                                   |

Azure の場合、VM の DNS レコードの自動登録をできることが、一つの特徴ですね。
下記に引用します。
https://learn.microsoft.com/ja-jp/azure/dns/private-dns-overview

> 仮想ネットワーク リンク上で自動登録を有効にすると、その仮想ネットワーク上の仮想マシンの DNS レコードがプライベート ゾーンに登録されます。 自動登録を有効にすると、仮想マシンの作成または削除、あるいはその IP アドレスの変更を行うたびに、Azure DNS でそのゾーン レコードが更新されます。

AWS の場合は、Route 53 の特徴であるフェールオーバー等がプライベート DNS でも利用できる強みがあります。
ただ、設定には注意が必要そうです。
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/dns-failover-private-hosted-zones.html

> プライベートホストゾーンにフェイルオーバーレコードを作成する方法は、次の点に注意してください。
>
> - Route 53 ヘルスチェッカーは VPC の外にあります。IP アドレスを使用して VPC 内のエンドポイントの正常性をチェックするには、VPC 内のインスタンスにパブリック IP アドレスを割り当てる必要があります。

[^b1]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/hosted-zone-private-associate-vpcs.html
[^b2]: https://learn.microsoft.com/ja-jp/azure/dns/private-dns-virtual-network-links
[^b3]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/hosted-zone-private-considerations.html#hosted-zone-private-considerations-split-view-dns
[^b4]: https://learn.microsoft.com/ja-jp/azure/dns/private-dns-scenarios#scenario-split-horizon-functionality
[^b7]: https://learn.microsoft.com/ja-jp/azure/dns/private-dns-overview
[^b8]: https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/hosted-zone-private-considerations.html

## 料金についての比較

料金は変動するので都度確認が必要です。2024/7/24 時点の情報で記載していることにご了承ください。

利用が多くなるとディスカウントがあったり追加料金があったりなどしますが、基本的な部分は同じような価格設定でした。

ポイントとして、AWS の場合はプライベート DNS のクエリに対する料金が無料です。

### Route 53

https://aws.amazon.com/jp/route53/pricing/

- ホストゾーンに対する固定費($0.50/ゾーン/月)がかかります
- 標準クエリは百万クエリあたり$0.40 です
- **プライベートホストゾーンに対するクエリに料金はかかりません**

### Azure DNS Zone

https://azure.microsoft.com/ja-jp/pricing/details/dns/

パブリック/プライベートで共通です。

- 主に DNS ゾーンに対する固定費($0.50/ゾーン/月)がかかります
- 日本が属するゾーン 2 で見ると、 百万クエリあたり$0.40 です
- **プライベートの DNS Zone もクエリ料金がかかります**