Amazon Route 53 Global Resolverでプライベートホストゾーンの名前解決を試してみた

記事タイトルとURLをコピーする

Amazon Route 53 Global Resolver Image
先日、ツーリングで兵庫県から岡山県へ向かう途中、山陽道(高速)を降りて合流した道が国道53号線でした。 標識にRoute 53と表示があり、ちょっとテンションの上がったCS2課の畑野です。

今回はRoute 53の新機能グローバルリゾルバーが発表されたので早速その機能を試してみました。 大雑把な印象としては、スプリットビューDNSやDNS Firewall統合などの機能盛り沢山なパブリックフルサービスリゾルバです。 2025年12月4日時点でプレビューのサービスとなります。

Global Resolver と VPC Resolver の違い

AWS公式サービスの説明を翻訳したものです。

Route 53 は、目的の異なる 2 つのリゾルバーサービスを提供します。グローバルリゾルバーは、インターネット経由でどこからでもグローバルにアクセス可能で、暗号化された DNS クエリ(DoH または DoT 経由)を提供し、プライベートドメインとパブリックドメインの両方の安全な解決を必要とするオンプレミスクライアントやマルチリージョン展開向けに設計されています。一方、VPC リゾルバー(旧 Route 53 リゾルバー)は、すべてのリージョンの Amazon VPC のデフォルトの再帰リゾルバーであり、VPC ホストクライアント、またはリゾルバーエンドポイント経由の VPN や Direct Connect などのプライベート接続からアクセスできます。DNS 暗号化は、これらのエンドポイントを介したハイブリッドクエリでのみ利用できます。*1

Global Resolverはインターネットからアクセス可能なエニーキャスト再帰DNSリゾルバであり、地理的に近いDNSサーバから応答が返ります。 従来のVPC Resolver(Route 53 Resolver) *2 はVPCのデフォルト再帰DNSリゾルバという点に違いがあります。またGlobal Resolver自体は権威DNSサーバではない点に注意です。

設定方法

ひとまず特定のグローバルIPアドレスからプライベートホストゾーンの名前解決を行える環境を作ってみます。

事前準備

事前準備として、Route 53で同じホストゾーン名でパブリックとプライベートホストゾーンを作成しておきます。

グローバルリゾルバーの作成

Route 53左メニューからグローバルリゾルバーを選択し、「グローバルリゾルバーを作成」をクリックします。 このとき、最低2リージョン以上を指定する必要があります。

数分でステータスが「実行中」に変わります。 オブザーバビリティリージョンは、リゾルバー作成後にログ配信を有効にするときに指定できます。

DNSビューの作成

作成されたリゾルバー名をクリックし、「DNSビューを作成」をクリックします。 クライアントロケーション精度を向上させるため 「EDNS クライアントサブネット」は有効化します。

こちらも数分でステータスが「実行中」に変わります。

DNSビューにプライベートホストゾーンを結び付ける

作成されたDNSビュー名をクリックし、プライベートホストゾーンタブに移動し、「プライベートホストゾーンを関連付ける」をクリックします。 関連付けるプライベートホストゾーンを選択後、こちらも数分でステータスが「実行中」に変わります。

DNSビューにアクセスソースを設定する

今度は接続元の制限を行うため、アクセスソースタブに移動し、「アクセスソースを作成」をクリックします。 CIDR指定が可能ですが、今回は検証のため/32指定とします。 プロトコルは暗号化を考慮せず、Do53にしました。*3

またDNSビューにはDNSファイアウォールルールを設定出来るため、不要なDNSクエリをブロックすることができます。

名前解決してみる

以上で設定が完了したため、agent.xxx.com のプライベート・パブリックホストゾーンの両方にサブドメインとして test を作成し、test.agent.xxx.com で名前解決してみます。

コマンド例は $ dig @グローバルリゾルバーのIPアドレス FQDN +short です。 インターネット経由でアクセスソースで指定されたIPアドレスから、グローバルリゾルバーのIPアドレスを指定して名前解決すると、プライベートIPアドレスが返されました。

次にパブリックDNSサーバを指定すると、プライベートではなく、パブリックIPアドレスが返されました。

これら挙動からアクセスソースで許可されたIPアドレスからのみ、プライベートIPアドレスが返されることが確認できました。スプリットビューDNSが効いてますね。 Route 53の機能として、同名のパブリック・プライベートホストゾーンが存在する場合、リゾルバーはプライベート→パブリックの順に評価するので、Global Resolverがその評価プロセスを踏んでいることが分かりました。*4

kdigコマンドを使ってDoH + アクセストークンでも名前解決できました。

コマンド例は $ kdig @グローバルリゾルバ―のDNS名 \+https=/dns-query?token=DNSビューのアクセストークン test.agent.xxx.com +short です。

その他機能

  • DNSSEC、DoH、DoTをサポート
  • EDNSクライアントサブネットをサポート
  • AWS ShieldでDDoS対策
  • DNS Firewall

組織で再帰リゾルバを集約するのであれば、不要なDNSクエリはブロックしたいところです。 なんとDNS Firewallも統合可能とのことでうれしい機能です。

用途

Route 53のプライベートホストゾーンの名前解決をグローバルネットワークから行え、しかもアクセス元の制限が出来るので、インターネット経由でVPC内の様々なサービスの名前解決に利用出来そうです。

従来はオンプレミス拠点からVPC内リソース(EC2等)の名前解決を行うには、Route 53 インバウンドエンドポイントを作成し、オンプレDNSサーバのフォワーダーを設定する必要がありました。オンプレミス拠点が複数あれば、フォワーダー設定が拠点ごとに必要になり、煩雑な管理になりそうです。 Global Resolverを使うことで、インターネット経由でプライベートホストゾーンの名前解決ができることから、こういった煩雑な管理から解放されそうですね。

費用

2025年12月時点ではプレビューということで無料で利用出来るようです。 プレビュー期間終了後の料金体系については、料金表の英語ページで確認できました。 リージョン単位のリゾルバーとクエリに費用がかかるようです。

  • 最初の2つのAWSリージョン:1時間あたり5.00米ドル(DNSフィルタリングなしの場合は1時間あたり4.50米ドル)
  • 追加リージョン:1リージョンあたり1時間あたり1.50米ドル(DNSフィルタリングなしの場合は1時間あたり0.75米ドル)​

Global Resolver During preview period, customers will not be charged for Global Resolver. ​

Route 53 Global Resolver uses a two-part pricing model based on regional deployment and query volume:​

Regional Hourly Charges:​

First two AWS Regions: $5.00 per hour ($4.50 per hour without DNS filtering)

Additional regions: $1.50 per hour per region ($0.75 per hour without DNS filtering)​

Customers are metered on a pro-rated basis for regions instantiated during the month.​

Query Volume Charges:​

$1.50 per million queries beyond the first 1 billion queries generated across all Global Resolver regions.

Amazon Route 53 料金表

総括

Route 53 Global Resolver は、インターネット経由で安全にプライベートホストゾーンへ名前解決できる新しい選択肢です。 これにより、オンプレミス・他クラウド・リモート拠点など、VPC 外部からのアクセスでも、VPN やインバウンドエンドポイントを用意せずにプライベートホストゾーンの名前解決が利用できるようになります。 従来の Route 53 インバウンドエンドポイントは、拠点ごとの DNS フォワーダー設定やネットワーク構築が必要でしたが、Global Resolver の登場によりこれらの複雑さから解放されそうです。

特に次の点が大きなメリットと考えられます。

  • インターネット越しにプライベートゾーンを解決できる → ハイブリッド環境での DNS 管理が簡素化
  • アクセスソースやアクセストークンでゼロトラスト的な制御が可能 → 不要な権限の拡大を防ぎ、セキュアに運用
  • スプリットビュー DNS に対応 → 同名の パブリック・プライベートホストゾーン が共存する環境の名前解決がパブリックネットワーク経由で行なえる
  • DoH / DoT / DNSSEC / EDNS など最新の DNS 技術に対応 → セキュアで高機能な DNS Resolver をグローバルに提供できる *5

現在はプレビュー段階ですが、正式リリースされればハイブリッド構成における DNS 設計のスタンダードになり得るかもしれません。AWS 内外の名前解決を統合し、よりシンプルかつセキュアに運用したい場合、Global Resolver は非常に魅力的な選択肢になるのではないでしょうか。

参考資料

aws.amazon.com

docs.aws.amazon.com

docs.aws.amazon.com Global Resolverのデフォルトクォータはアカウントレベルで2つみたいです。