本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Route 53 解析器的可用性和扩展性
Amazon Route 53 Resolver在 Amazon VPC CIDR + 2 地址和 fd00: ec2:: 253 上运行,默认情况下全部可用,并以DNS递归方式响应对公共记录VPCs、亚马逊VPC特定DNS名称和 Route 53 私有托管区域的查询。Route 53 Resolver 由两个对用户透明的高可用性组件组成:Nitro Resolver 服务和区域解析器舰队。Nitro Resolver 服务是一项服务,在 Nitro 实例上在 Nitro 卡中运行,在老一代实例中在 Dom0 中运行,并在主机服务器上使用发往本地的 Route 53 Resolver 的数据包。有关更多信息,请参阅 AWS Nitro 系统的安全设计。
Nitro Resolver 服务带有本地缓存,该缓存可以通过响应实例在短时间内发出的重复查询来帮助减少延迟。当 Nitro Resolver 服务收到一个没有缓存答案的查询时,它会将查询转发给 Zonal Resolver 队列,这是一个高度可用的解析器队列,通常与实例位于同一个可用区。当处理路径中上游名称服务器或其他组件的查询时出现故障时,Nitro Resolver 服务通常能够透明地处理这些故障,而不会影响实例上运行的工作负载。此外,如果 Resolver 遇到查询超时、连接被拒绝或SERVFAILS来自域名服务器的问题,它可能会使用超过 Time-To-Live (TTL) 值的缓存答案进行响应,以提高可用性。Nitro Resolver 服务和 Zonal Resolver 队列之间的查询仅限于客户以外严格控制的网络VPC,客户无法访问该网络,并且需要接受严格的安全控制。通过处理 Nitro Resolver 服务与外部的 Zonal Resolver 队列之间的查询VPC,可以防止客户拦截DNS其内部的查询。VPC发往外部域名服务器的查询 AWS 将通过公共互联网,源自属于区域解析器队列的公有 IP 地址。我们目前不支持 EDNS 0-Client Subnet 属性,这意味着所有发往公共DNS域名服务器的查询都不包含有关原始客户 IP 地址的信息。
Nitro Resolver 服务是实例上 Link-Local 服务的一部分。Link-Local 服务包括 Route 53 Resolver、Amazon Time Service (NTP)、实例元数据服务 (IMDS) 和 Windows 许可服务(适用于 Windows 实例)。这些服务会随着您在中创建的每个弹性网络接口而扩展VPC,并且每个网络接口允许每秒 1024 个发往 Link-Local 服务的数据包 (PPS)。超过此限制的数据包将被拒绝。您可以从 ethtool 返回的linklocal_allowance_exceeded
值中确定是否已超过此限制。有关 ethtool 的更多信息,请参阅亚马逊EC2用户指南中的监控您的亚马逊EC2实例的网络性能。 CloudWatch代理也可以将此 CloudWatch 指标报告给指标。由于 Route 53 Resolver 是按网络接口实现的,因此当您在更多可用区域中添加更多实例时,它会扩展并变得更加可靠。对查询数量没有逐个VPC汇总的限制,因此 Route 53 Resolver 可以在 a 的范围内进行扩展VPC,这本质上取决于网络地址的使用情况 ()。NAU有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》VPC中的您的网络地址使用情况。
下图概述了 Route 53 Resolver 如何解析可用区内的DNS查询。