我们公司最近更新了 DNS 设置,以便可以通过 Terraform 在 AWS Route53 中进行管理,而不是在 Google Domains 中手动管理。我们有一个位于 的站点,example.com
还有两个位于stage.plus.example.com
和 的站点plus.example.com
。
example.com
并plus.example.com
正常工作,但stage.plus.example.com
DNS 解析和NXDOMAIN
返回错误时会间歇性出现问题。这似乎取决于您使用的 DNS 解析器服务器,但 OpenDNS 存在持续性问题,而 Google 则存在间歇性解析问题。DNS 的设置类似于:
- Google Domains 是我们的注册商
- 此名称服务器设置为转到 AWS 账户 1 (HZ1) 中的 AWS Route53 托管区域
- HZ1 具有
plus.example.com
指向 AWS 账户 2 (HZ2) 中的托管区域的NS 记录 - HZ1 具有
stage.plus.example.com
指向 AWS 账户 3 (HZ3) 中的托管区域的NS 记录 - HZ2 拥有指向同一 AWS 账户中的负载均衡器的 A 记录
- HZ3 拥有指向同一 AWS 账户中的负载均衡器的 A 记录
对和使用dig +trace ... @208.67.222.220
(OpenDNS 服务器)似乎返回类似的结果,并且两者都显示 A 记录。plus.example.com
stage.plus.example.com
但是如果没有该+trace
选项,则stage.plus.example.com
无法找到。
我已经为这个问题绞尽脑汁一段时间了,但无济于事,所以任何帮助我都会非常感激!
答案1
为了防止将来有人遇到类似问题,我们最终将所有记录移至一个托管区域,从而立即解决了该问题。我相信这是因为在托管区域 3 (HZ3) 中,托管区域本身被命名,example.com
但其中的 A 记录被称为stage.plus.example.com
。
对于许多 DNS 解析器来说,这没什么问题,但有些解析器对 Route53 自动添加的 SOA 记录进行了额外的验证(我认为)。SOA 记录是 for example.com
,出于某种原因,它不喜欢 against ,stage.plus.example.com
但还是 find again plus.example.com
。
虽然不太确定为什么,但是https://dnsviz.net/有助于确定它可能是那样的。