如何配置 Route 53 Resolver 入站终端节点,以便从远程网络解析我的私有托管区域中的 DNS 记录?

上次更新时间:2019 年 10 月 11 日

如何配置 Amazon Route 53 Resolver 入站终端节点,以便从远程网络解析我的私有托管区域中的记录?

简短描述

使用 Amazon Virtual Private Cloud (Amazon VPC) 创建的 VPC 从 Route 53 Resolver 接收自动 DNS 解析。VPC 中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例可以使用 VPC IPv4 网络范围 +2 基础上的预留 IP 地址将 DNS 查询发送到 Resolver。如果远程网络和 VPC 之间存在网络连接,则远程网络上的 DNS 解析器可将 DNS 查询转发到 VPC 中的 Resolver。此连接通过使用 AWS Direct Connect 或 VPN 连接建立。但是,Resolver 不接受来自 VPC 网络范围之外的 IP 地址的 DNS 查询。要解决此问题,您可以在 VPC 中创建入站终端节点。入站终端节点接收的 DNS 查询会被转发到 Resolver。这些查询的处理方式与源自 VPC 本身的查询相同。

解决方法

满足先决条件

首先,在要创建入站终端节点的 VPC 的 DNS 支持属性中启用 DNS 主机名和 DNS 解析

然后,将适用的私有托管区域与要在其中创建入站终端节点的 VPC 相关联。

如果该私有托管区域与该 VPC 位于同一账户,请执行以下操作:

  1. 打开 Route 53 控制台
  2. 在导航窗格中,选择托管区域
  3. 选择包含要查询的记录的私有托管区域。
  4. 在搜索栏中,搜索您的 VPC,然后选择关联新的 VPC

如果该私有托管区域与该 VPC 位于不同的账户,请使用 AWS 命令行界面 (AWS CLI) 执行跨账户关联

配置入站终端节点

  1. 打开 Route 53 控制台
  2. 在导航窗格中,选择入站终端节点
  3. 在导航栏上,选择您要在其中创建入站终端节点的 VPC 区域。
  4. 选择创建入站终端节点
  5. 创建入站终端节点页面上,完成入站终端节点常规设置部分。为此终端节点选择一个安全组,以允许来自目标端口 53 上的远程网络的入站 UDP 和 TCP 流量。
  6. 填写 IP 地址部分。您可以让 Resolver 从子网内可用的 IP 地址中为您选择 IP 地址,也可以自行指定 IP 地址。为 DNS 查询选择 2(最小值)到 6(最大值)个 IP 地址。最佳实践是选择至少两个不同可用区中的 IP 地址。对于子网,选择具有以下相应内容的子网:
    • 路由表,其中包含使用 AWS Direct Connect 或 VPN 连接路由到您远程网络上 DNS 解析器的 IP 地址。
    • 网络访问控制列表 (ACL),允许同时接收来自目标端口 53 上的远程网络的 UDP 和 TCP 流量,并将 UDP 和 TCP 流量传送到 1024-65535 目标端口范围上的远程网络。请注意,根据您的客户端类型,您可能要为您的网络 ACL 使用不同的范围。
  7. (可选)完成标签部分。
  8. 选择提交

测试您的配置

测试之前,请确认您已进行以下配置:

  • 将远程网络上的 DNS 服务器配置为将私有托管区域域名的 DNS 查询有条件地转发到入站终端节点的 IP 地址。
  • 将远程 DNS 服务器配置为将域名(而非域名的委托授权机构)的 DNS 查询转发到入站终端节点。
    注意:入站终端节点仅支持递归 DNS 查询。发送到入站终端节点的迭代 DNS 查询超时。

然后,使用以下命令从远程网络上的客户端对私有托管区域中的某个记录执行 DNS 解析:

  • 对于 Linux 或 MacOS:dig <record name> <record type>
  • 对于 Windows:nslookup <record name> <record type>