Amazon Route 53 Resolver と DNS Firewall

VPC の DNS 名前解決、オンプレミスとのハイブリッド DNS、条件付き転送、Route 53 Resolver DNS Firewall の制御を学びます。

学習順Step 75 / 101サービスネットワーク試験ドメインデプロイメント

VPC の DNS を処理する Route 53 Resolver

Amazon Route 53 Resolver は、VPC のワークロードが送信する DNS クエリを処理するマネージドリゾルバーです。VPC の標準 DNS 機能として提供され、VPC 内のリソースは Resolver に問い合わせることで、インターネット上のパブリックドメイン名や、VPC に関連付けられたプライベートホストゾーンの名前を解決できます。VPC の IPv4 CIDR の先頭アドレスに 2 を加えたアドレス(VPC CIDR が 10.40.0.0/16 なら 10.40.0.2)などを通じて利用でき、IPv4 のリンクローカルアドレス 169.254.169.253 も使用できます。

この標準 Resolver は AmazonProvidedDNS と呼ばれることもあります。利用者が DNS サーバーを EC2 インスタンスとして構築・運用する必要はありません。Route 53 Resolver は、プライベートホストゾーンの権威ある応答と、パブリック DNS 名を解決する再帰問い合わせの両方を担います。

以前から VPC には AWS 提供の DNS 機能がありました。2018 年に Route 53 Resolver のハイブリッド DNS 機能が加わったことで、VPC 内だけに閉じていた名前解決をオンプレミス環境との間でも連携しやすくなりました。現在も VPC の標準 Resolver は自動で利用でき、インバウンド/アウトバウンドエンドポイントを追加すると、オンプレミスの DNS とクエリを相互に転送できます。

ハイブリッド DNS での問い合わせ方向

エンドポイント名は、DNS クエリが VPC 境界をどちらへ通過するかを表します。インバウンドは外部ネットワークから VPC の Resolver に入る経路、アウトバウンドは VPC の Resolver から外部の DNS サーバーへ出る経路です。

機能 クエリの方向 解決したい名前の例
インバウンドエンドポイント オンプレミスの DNS サーバー → VPC の Resolver VPC に関連付けられたプライベートホストゾーンの名前
アウトバウンドエンドポイント VPC の Resolver → オンプレミスの DNS サーバー 社内 DNS が管理する名前

Route 53 Resolver の標準 DNS 解決とハイブリッド DNS、DNS Firewall の関係

インバウンドエンドポイント

インバウンドエンドポイントを作成すると、オンプレミスなど VPC 外にある DNS サーバーから、VPC の Resolver にクエリを転送できます。オンプレミスのクライアントがプライベートホストゾーンの名前を引く場合、通常はオンプレミス DNS に条件付きフォワーダーを設定し、そのドメインのクエリをインバウンドエンドポイントの IP アドレスに送ります。Resolver は関連付けられたプライベートホストゾーンなどに基づいて答えを返します。

インバウンドエンドポイントだけで、オンプレミス DNS の転送設定やネットワーク接続が自動作成されるわけではありません。オンプレミス DNS に転送先を設定し、Site-to-Site VPN や Direct Connect などでエンドポイントの IP アドレスまで到達できる経路を用意します。

アウトバウンドエンドポイントと Resolver ルール

アウトバウンドエンドポイントは、VPC の Resolver が特定のクエリを外部 DNS サーバーへ転送するために使用します。転送対象は Resolver ルールで定義します。ルールには対象ドメインと転送先 DNS サーバーの IP アドレスを指定し、そのルールを使う VPC に関連付けます。internal.aozora.example の名前を社内 DNS の 172.20.8.12 と 172.20.8.13 に転送する、といった条件付き転送を構成できます。

ドメインに一致する転送ルールがなければ、クエリは VPC の Resolver の通常の解決経路に進みます。したがって、パブリック DNS 名は Resolver に通常解決させ、社内ドメインだけをオンプレミス DNS へ転送するといった使い分けができます。ルールに指定する転送先は、ネットワーク経路とファイアウォール設定の両方から到達可能でなければなりません。

問題文で求められる構成は、問い合わせを始める側を基準に選びます。

  • オンプレミスから VPC 内のプライベート名を解決するなら、インバウンドエンドポイントを作り、オンプレミス DNS からそこへ転送します。
  • VPC 内のアプリケーションから社内ドメインを解決するなら、アウトバウンドエンドポイントと Resolver の転送ルールを使います。
  • 両方向で名前解決するなら、両方のエンドポイントと、それぞれの DNS 側の転送設定が必要です。

エンドポイントの配置とネットワーク前提

Resolver エンドポイントは、指定した VPC サブネットにネットワークインターフェイスと IP アドレスを持ちます。冗長性を確保するため、複数のアベイラビリティーゾーンに IP アドレスを配置します。一般的な高可用性構成では異なる AZ に少なくとも 2 つの IP アドレスを置き、一つの AZ で障害が起きても DNS クエリを処理できるようにします。

エンドポイントを作っただけでは、ハイブリッド DNS は完了しません。オンプレミスと VPC の間で DNS パケットを交換できるネットワーク経路、エンドポイントの IP アドレスに対するルート、セキュリティグループでの DNS 通信許可が必要です。一般に DNS は UDP 53 を使い、応答サイズなどにより TCP 53 も使うため、両方を含めて通信条件を確認します。DNS だけでなく VPN や Direct Connect などの接続要件も満たしてください。

VPC ピアリングや VPC エンドポイントは、それぞれネットワーク接続や AWS サービスへのプライベート接続を実現する機能です。これらを作成しただけで、VPC 間・オンプレミス間の DNS クエリ転送が自動で設定されるわけではありません。名前解決の要件には Resolver のエンドポイントとルールを、パケットの到達性にはルーティングや接続機能を個別に構成します。

Route 53 Resolver DNS Firewall

Route 53 Resolver DNS Firewall は、VPC のワークロードから Route 53 Resolver に送られる DNS クエリを評価するセキュリティ機能です。既知の悪意あるドメインや、組織のポリシーで許可していないドメインの名前解決を、クエリ段階で許可・ブロック・監視できます。DNS Firewall は DNS 名を対象とし、名前解決後の IP 通信や HTTP リクエストの中身を検査する機能ではありません。

DNS Firewall の設定は、ドメインリスト、ルール、ルールグループ、およびその VPC への関連付けで構成します。

構成要素 役割
ドメインリスト ルールを適用するドメイン名の集合。独自のリストと AWS 管理のリストを利用できる
ルール ドメインリストに一致したときの動作と評価優先度を定義する
ルールグループ 複数のルールをまとめ、VPC に適用する単位となる
VPC との関連付け どの VPC の Resolver クエリにルールグループを適用するかを決める

ルールの主なアクションは次のとおりです。

アクション DNS クエリへの動作
ALLOW クエリを許可し、通常の名前解決に進める
BLOCK クエリを遮断する。応答として NODATA、NXDOMAIN、または指定した応答を返す設定を選べる
ALERT クエリを許可しつつ、検出をメトリクスやログで確認できるようにする

ルールには優先度を設定し、数値の小さいものから評価します。複数のルールが対象に当てはまる場合は、優先度順で最初に一致したルールのアクションを使います。意図した許可リストとブロックリストの順序になるよう設計してください。まず ALERT で利用状況を観察し、誤検知や業務影響を確認したうえで BLOCK に移行する運用もできます。

AWS 管理ドメインリストは、AWS が脅威情報などを基に維持するドメイン集合を利用できるため、既知のマルウェア配布先などを個別に登録する手間を減らせます。独自のカスタムドメインリストを追加すれば、組織が許可・拒否したい名前も管理できます。リストの対象範囲や評価対象の詳細は、利用時に公式ドキュメントで確認してください。

DNS Firewall の評価を受けるのは、ワークロードの DNS クエリが対象 VPC の Route 53 Resolver を通る場合です。アプリケーションが独自 DNS サーバーを直接使うなど Resolver を迂回する経路があると、同じルールで評価されないことがあります。DNS Firewall で名前解決を遮断しても、既に解決済みの IP アドレスへの直接通信や別経路の通信まで遮断するものではありません。

ほかのネットワーク制御との役割分担

DNS Firewall は名前解決を制御するため、IP アドレスやポートを使った通信制御とは適用位置が異なります。

要件 主な制御
VPC の DNS クエリから不正ドメインをブロックする Route 53 Resolver DNS Firewall
リソース単位で IP 通信を許可する セキュリティグループ
サブネットを通る通信を許可・拒否する ネットワーク ACL
VPC の通信経路を通過するパケットを検査する AWS Network Firewall
HTTP/HTTPS リクエストの URI やヘッダーを検査する AWS WAF

DNS Firewall は接続先の名前を解決させないことで通信を抑止しますが、DNS 問い合わせをしない接続や、キャッシュ・固定 IP を使う通信は別の制御が必要です。実際の接続先 IP やポートも制限する要件には、セキュリティグループや Network Firewall などを併用します。

DVA 試験での判別

  • 「オンプレミス側から VPC のプライベートホストゾーンを引く」なら インバウンドエンドポイント。
  • 「VPC のアプリケーションから社内 DNS の名前を引く」なら アウトバウンドエンドポイントと転送ルール。
  • 「ドメインサフィックスごとに異なる DNS サーバーへ送る」なら 条件付き Resolver ルール。
  • 「VPC からの DNS クエリを不正ドメイン一覧に照らしてブロックする」なら Resolver DNS Firewall。
  • 「VPC とオンプレミスが名前解決を共有する」場合は Resolver の設定に加えて、VPN/Direct Connect、ルート、セキュリティグループも確認する。
  • 「ドメイン名ではなく IP アドレスやポートで接続を制御する」なら、DNS Firewall 以外のネットワーク制御を選ぶ。

あわせて読む

公式ドキュメント

重要ポイント

  • ▸Route 53 Resolver は VPC の標準 DNS リゾルバーとして、パブリック DNS 名や関連付けられたプライベートホストゾーンの名前を解決する
  • ▸インバウンドエンドポイントはオンプレミスから VPC の名前を解決し、アウトバウンドエンドポイントと転送ルールは VPC からオンプレミスの DNS へ問い合わせる
  • ▸転送ルールはドメイン名と転送先 DNS サーバーを結び付け、対象 VPC に関連付けて使う
  • ▸Resolver エンドポイントを複数のアベイラビリティーゾーンに配置すると、ゾーン障害に対する冗長性を持たせられる
  • ▸DNS Firewall は Resolver が受け取る VPC の DNS クエリをドメインリストで評価し、許可、ブロック、または監視する

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます