如何解决 VPC 终端节点服务的“等待验证”域名问题?

上次更新日期:2022 年 3 月 23 日

我正在为我的 Amazon Virtual Private Cloud(Amazon VPC)终端节点服务(AWS PrivateLink)配置私有 DNS 名称并设置 DNS TXT 记录。域名验证状态陷入“等待验证”。如何排查此问题?

简短描述

以下是域名验证状态陷入等待验证状态的常见原因:

  • 您使用的域名不属于您或您的企业。
  • 您在私有区域文件而不是公有区域文件中创建了 TXT 记录。
  • 域注册商为您的域使用了错误的名称服务器。

注意:有关为您的 VPC 终端节点服务设置私有 DNS 名称的信息,请参阅如何将 VPC 终端节点服务设置为使用自定义私有 DNS 名称?

解决方法

您使用的域名不属于您或您的企业

终端节点服务提供商只能使用您或您的企业拥有的域名作为私有 DNS 名称。例如,您不能使用“amazonaws.com”作为私有 DNS 名称,因为该域归 Amazon 所有。

您在私有区域而不是公有区域中创建了 TXT 记录

AWS 会验证终端节点服务下提供的域名的所有权。这是通过根据域注册商配置的授权公有名称服务器查询 TXT 记录来完成的。如果用户在私有区域文件中配置了 TXT 记录,则验证失败,因为该文件无法公开查询。

您可以使用 nslookup 命令检查 TXT 记录值是否在可公开验证的域中创建。此命令在 Windows 和 Linux 计算机上均可使用:

nslookup -type=TXT _aksldja21i1.myexampleservice.com

如果 TXT 记录是在可公开验证的域中创建的,您会收到创建 TXT 记录时使用的域验证值作为输出:

_aksldja21i1.myexampleservice.com text = "vpce:asjdakjshd78126eu21”

如果 TXT 记录是在私有托管区域中创建的,您会收到类似于以下内容的输出:

_aksldja21i1.myexampleservice.com = "v=spf1 -all”

注意:您也可以使用任何第三方网站(例如 whatsmydns)验证此信息。

域注册商为您的域设置了错误的名称服务器

对于私有 DNS 验证,AWS 会查询在域注册商下注册的公有名称服务器。因此,请务必确保公有区域文件中的名称服务器与您在注册商处注册的域的名称服务器相匹配

注意:如果验证状态长时间显示等待验证,则可以尝试手动启动验证流程。有关更多信息,请参阅管理 VPC 终端节点服务的 DNS 名称