如何配置 Route 53 Resolver 出站终端节点,以便从我的 VPC 资源解析远程网络上托管的 DNS 记录?

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

如何配置 Amazon Route 53 解析程序出站终端节点,以便从 Amazon Virtual Private Cloud (Amazon VPC) 中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例解析远程网络上托管的 DNS 记录?

简短描述

使用 Amazon VPC 创建的 VPC 从 Route 53 Resolver 接收自动 DNS 解析。VPC 中的 EC2 实例可以使用 VPC CIDR IPv4 网络范围 +2 基础上的预留 IP 地址将 DNS 查询发送到 Resolver。您可以配置 Resolver,以将域名的 DNS 查询从 VPC 中的 Amazon EC2 实例转发到远程网络上的 DNS 解析器。

要转发 DNS 查询,请创建以下内容:

  • 出站终端节点,用于指定 Resolver 将 DNS 查询转发到您的远程网络的 VPC 和 IP 地址。
  • Resolver 规则,用于指定 Resolver 转发到您的远程网络的 DNS 查询的域名。

解决方法

满足先决条件

  • 在要创建出站终端节点的 VPC 的 DNS 支持属性中启用 DNS 解析
  • 如果您正在使用 VPC 中的自定义 DNS 服务器:请确认其已配置为使用 VPC IPv4 网络范围 +2 基础上的预留 IP 地址将适用域名的 DNS 查询有条件地转发到 Resolver。
  • 如果您未使用 VPC 中的自定义 DNS 服务器:请确认 DHCP 选项集中的域名服务器已设置为 AmazonProvidedDNS 或 VPC IPv4 网络范围 +2 基础上的预留 IP 地址。

配置出站终端节点

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

配置 Resolver 规则

要创建新规则,请执行以下操作:

  1. 打开 Route 53 控制台
  2. 从 Route 53 导航窗格中选择规则
  3. 在导航栏上,选择新创建的出站终端节点所在的区域
  4. 选择创建规则
  5. 创建规则页面上,完成出站流量规则部分。对于规则类型,请配置“转发”规则并将其关联到要从中将 DNS 查询转发至您的远程网络的 VPC。对于出站终端节点,请选择您刚刚创建的出站终端节点。
    注意:与此规则关联的 VPC 无需与您创建出站终端节点的 VPC 相同。
  6. 填写 IP 地址部分。对于 IP 地址,请指定您远程网络上的 DNS 解析器的 IP 地址。对于端口,请指定这些解析器用于进行 DNS 查询的端口。
    注意:解析器会将符合此规则且源自与此规则关联的 VPC 的所有 DNS 查询转发到引用的出站终端节点。因此,这些查询将被转发到您在此处指定的目标 IP 地址。
  7. (可选)完成标签部分。
  8. 选择提交

要使用现有规则,请执行以下操作:

  • 您的账户中已存在适用于与 VPC 位于同一区域的同一域的规则? 您可以将该规则关联到您的 VPC,而无需创建新的规则。从规则控制面板中选择规则,并将其关联到该区域中适用的 VPC。
  • 您的其他账户中已存在适用于与 VPC 位于同一区域的同一域的规则? 您可以使用 Resource Access Manager 将该规则从远程账户共享到您的账户。在您共享规则的同时,也会共享相应的出站终端节点。与您的账户共享该规则后,请从规则控制面板中选择该规则并将其关联到您账户中的 VPC。

注意:在将 DNS 查询从与 Resolver 规则关联的 VPC 转发至出站终端节点所在的 VPC 时,无需连接网络。无论这些 VPC 是否位于同一账户,都是如此。

测试您的配置

从您 VPC 中的某个 Amazon EC2 实例执行 DNS 解析:

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