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

上次更新日期:2022 年 5 月 12 日

我在 Amazon Route 53 中为我的域创建了一个私有托管区域。但是,DNS 在我的 virtual private cloud(VPC)中不起作用。该如何排查此问题?

解决方法

请遵照以下问题排查步骤:

注意:如果您在运行 AWS Command Line Interface(AWS CLI)命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

  1. 确认正确的 VPC ID 与私有托管区域关联。您可以使用 AWS CLI 命令 get-hosted-zone 获取与托管区域相关联的 VPC 列表。
    注意:请确保您是从同一 VPC 内查询域。
  2. 确认 DNS 主机名DNS 解析参数在 VPC 中已开启。要执行此操作,请检查您的 VPC 设置
  3. 检查 VPC 设置以验证您是否配置了自定义 DNS 服务器。如果配置了此设置,请确认已将服务器设置为转发 DNS 查询。
    注意:服务器必须将私有域的 DNS 查询转发到您的 VPC 中 Amazon 提供的 DNS 服务器的 IP 地址。
  4. 如果您配置了自定义 DNS 服务器,请确认已将服务器设置为转发 DNS 查询。服务器必须将私有域的 DNS 查询转发到您的 VPC 中 Amazon 提供的 DNS 服务器的 IP 地址。例如,如果您的 VPC 的 CIDR 范围是 10.0.0.0/16,那么 VPC DNS 服务器的 IP 地址为 10.0.0.2。IP 地址是 VPC 网络范围加 2。
    注意:私有托管区域只能通过 VPC 中的 DNS 进行解析。
  5. 检查多个具有重叠命名空间的私有托管区域,例如 example.comtest.example.com。如果存在重叠的命名空间,则 Route 53 Resolver 会根据最具体的匹配将流量路由到托管区域。如果存在匹配的区域,请确保记录与域名和请求类型匹配。如果没有匹配的区域,则 Resolver 不会将请求转发到其他区域或公有 DNS 解析程序。而是向客户端返回 NXDOMAIN(域不存在)。
  6. 确认是否在父域的私有托管区域中为子域配置了 NS 记录
    注意:在私有托管区域中,不支持使用名称服务器(NS)记录来委派子域的职责。
  7. 确认您配置的路由策略受私有托管区域支持。支持的路由策略为:
    简单路由
    故障转移路由
    多值答案路由
    加权路由
    基于延迟的路由
    地理位置路由
  8. 检查您是否在出站终端节点使用 Resolver。如果同时满足以下两个条件,则 Resolver 规则具有优先权:
    您可遵照解析程序规则,为私有托管区域的域将流量路由到网络
    Resolver 规则与私有托管区域关联的 VPC 相同
    有关更多信息,请参阅解析 VPC 与您的网络之间的 DNS 查询
  9. 检查为 EC2 实例配置的 DNS 解析程序。对于 Linux 实例,请使用 cat /etc/resolv.confcat /etc/hosts 文件。对于 Windows 和 macOS,请参阅如何在 Windows 10 和 Mac 上更改 DNS 服务器

这篇文章对您有帮助吗?


您是否需要账单或技术支持?