如何解决我的 Route 53 失效转移路由策略中的问题?

1 分钟阅读
0

我配置了 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 配置,请使用 dignslookup 工具。请务必将以下命令中的占位符 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 如何确定运行状况检查是否正常

高级配置(仅限“监控端点”)

AWS 官方
AWS 官方已更新 1 年前