我配置了 Amazon Route 53 失效转移路由策略。但是,当我测试 DNS 解析时,我看到了意外结果。
简短描述
**注意:**如果在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请 确保您使用的是最新的 AWS CLI 版本。
当运行状况检查仅与主失效转移记录关联时,会出现以下情况:
- 如果主记录不正常,则 DNS 查询会返回辅助记录。
- 如果没有对辅助记录进行运行状况检查,则辅助记录始终被视为正常。
- 如果主运行状况检查恢复正常,则 Route 53 会在失效的情况下转移到主记录并对 DNS 查询提供响应。
当您将运行状况检查与主失效转移记录和辅助失效转移记录关联时,会出现以下情况:
- 如果主记录正常,则 DNS 查询会返回主记录。
- 如果主记录不正常,但辅助记录正常,则 DNS 查询会返回辅助记录。
- 如果两条记录都不正常,则 DNS 查询会返回主记录。
配置辅助记录时,可以选择是否添加运行状况检查。当没有对辅助记录进行运行状况检查且主记录不正常时,Route 53 会使用辅助记录响应 DNS 查询。即使映射到辅助记录的资源不正常,还是会使用辅助记录。如果辅助记录没有相关的运行状况检查,则 Route 53 会返回辅助记录。
假设您为 别名 记录类型配置了运行状况检查,并将 评估目标运行状况(ETH)设置为 true。在这种情况下,Route 53 在返回别名记录之前会检查别名记录引用的资源的运行状况。如果您将运行状况检查与别名记录相关联,则运行状况检查和别名的 ETH 必须正常才能返回别名记录。
**注意:**如果您的别名记录集指向同一托管区中的另一条记录(目标),则目标记录必须进行相关的运行状况检查。否则,Route 53 会认为别名记录正常,并将其与对查询的可能响应一起包含在内。
解决方法
1. 要测试记录集的配置,请使用 DNS 检查工具。
2. 要查询 DNS 配置,请使用 dig 或 nslookup 工具。请务必将以下命令中的占位符 URL 替换为相应的值:
$ dig abc.example.com
$ nslookup abc.example.com
3. 使用您在第 1~2 步中找到的信息,确定问题与主记录还是辅助记录有关。
4. 检查运行状况检查配置,确定运行状况检查是否报告为正常。有关更多信息,请参阅 Amazon Route 53 如何检查您的资源运行状况。如果您发现运行状况检查失败,请参阅 查看运行状况检查的状态和运行状况检查失败的原因。
5. 如果您发现运行状况检查正常,但仍看到意外结果,请检查记录解决方法。为此,请将查询发送到您的一个域名托管区 权威域名服务器 或其他公共解析器:
$ dig abc.example.com @AuthoritativeNameServer
$ nslookup abc.example.com AuthoritativeNameServer
$ dig abc.example.com @DNSResolver_IP
$ nslookup abc.example.com DNSResolver_IP
**注意:**用您的域名服务器替换 AuthoritativeNameServer。将 DNSResolver_IP 替换为您的公共解析器 IP 地址。
如果您看到预期的输出,则很可能是中间或本地 DNS 解析器缓存出了问题。
相关信息
配置 DNS 故障转移
Amazon Route 53 如何确定运行状况检查是否正常
高级配置(仅限“监控端点”)