如何排查 Route 53 私有托管区域的 DNS 解析问题?

上次更新时间:2020 年 4 月 21 日

我在 Amazon Route 53 中为我的域创建了一个私有托管区域。但是,域名解析在我的 virtual private cloud(VPC)中无法运行。该如何排查此问题?

解决方案

首先,请使用 dignslookup 命令检查您的配置。如果这些命令返回错误,或显示的设置与您期望的不同,请执行以下故障排除步骤:

  1. 请确认正确的 VPC ID 与私有托管区域已关联。此外,请确保您是从同一 VPC 内查询域。您可以使用 get-hosted-zone 命令获取与托管区域相关联的 VPC 列表。
  2. 请确认 DNS 主机名 和 DNS 解析 参数在 VPC 中已启用。要执行此操作,请检查您的 VPC 设置
  3. 请检查您的 VPC 设置,查看您是否已配置 自定义 DNS 服务器。如您已配置此设置,请确认您已将服务器设置为可将对私有域的 DNS 查询转发到您的 VPC 中由 Amazon 提供的 DNS 服务器的 IP 地址。例如,如果您的 VPC 的 CIDR 范围为 10.0.0.0/16,则您的 VPC 中 DNS 服务器的 IP 地址为 10.0.0.2 (VPC 网络范围的基址+ 2)。 
    注意: 私有托管区域只有通过 VPC中的 DNS 才能解析。
  4. 检查是否有多个私有托管区域具有重叠的命名空间。如果有多个私有托管区域具有重叠的命名空间(例如 example.com和 test.example.com),则 Route 53 解析程序会根据最特定的匹配将流量路由到托管区域。如果存在匹配的区域,但没有与请求中的域名和类型匹配的记录,则解析程序不会将请求转发至公有 DNS 解析程序。而是将 NXDOMAIN(不存在的域) 返回给客户端。
  5. 检查是否在父域的私有托管区域中为子域配置了 NS 记录
    注意:在私有托管区域中,不支持使用名称服务器(NS)记录来委派子域的职责。
  6. 请确认您配置的路由策略受私有托管区域支持。支持的路由策略为:
    简单路由
    多值答案路由
    故障转移路由
    加权路由
  7. 检查您使用的是否是出站解析程序终端节点。有关更多信息,请参阅解析 VPC 与您的网络之间的 DNS 查询。如果同时满足以下两个条件,则“解析程序”规则具有优先权:
    您可遵照解析程序规则,为私有托管区域的域将流量路由到网络
    解析程序规则与同一 VPC 关联,此 VPC 也与私有托管区域关联