

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# VPC 解析器的最佳实践
<a name="best-practices-resolver"></a>

本节提供优化 Amazon Route 53 VPC 解析器的最佳实践，涵盖以下主题：

1. **避免使用 Resolver 端点循环配置：**
   + 确保同一 VPC 不会同时与 Resolver 规则及其入站端点相关联，从而防止路由循环。
   + 利用 AWS RAM 它在账户 VPCs 之间共享，同时保持正确的路由配置。

   有关更多信息，请参阅 [避免使用 Resolver 端点循环配置](best-practices-resolver-endpoints.md)。

1. **Resolver 端点扩展：**
   + 实施根据连接状态允许通信的安全组规则，以减少连接跟踪开销
   + 遵循针对入站和出站 Resolver 端点的推荐安全组规则，最大程度地提高查询吞吐量。
   + 监控生成 DNS 流量的唯一 IP 地址和端口组合，避免出现容量限制。

   有关更多信息，请参阅 [Resolver 端点扩展](best-practices-resolver-endpoint-scaling.md)。

1. **Resolver 端点的高可用性：**
   + 创建入站端点，采用至少两个可用区中的 IP 地址以实现冗余。
   + 配置额外的网络接口，以确保维护或流量激增期间的可用性

   有关更多信息，请参阅 [解析程序端点的高可用性](best-practices-resolver-endpoint-high-availability.md)。

1. **防止 DNS 区域步行攻击：**
   + 注意潜在的 DNS 区域步行攻击，攻击者会试图从 DNSSEC 签名的 DNS 区域检索所有内容。
   + 如果您的终端由于怀疑区域行走而出现限流，请联系 Support AWS 寻求帮助。

   有关更多信息，请参阅 [DNS 区域步行](best-practices-resolver-zone-walking.md)。

 通过遵循这些最佳实践，您可以优化 VPC Resolver 部署的性能、可扩展性和安全性，从而确保您的应用程序和资源可靠、高效地解析 DNS。

# 避免使用 Resolver 端点循环配置
<a name="best-practices-resolver-endpoints"></a>

不要将同一 VPC 与 Resolver 规则及其入站端点关联（无论它是端点的直接目标，还是通过本地部署 DNS 服务器）。当 Resolver 规则中的出站端点指向与规则共享 VPC 的入站端点时，可能会导致一个循环，其中查询在入站和出站端点之间持续传递。

仍然可以使用 AWS Resource Access Manager (AWS RAM) 将转发规则与其他 VPCs 账户共享的转发规则相关联。与中心关联的私有托管区域（或中央 VPC）仍将从查询解析到入站端点，因为转发解析程序规则不会更改此分辨率。

# Resolver 端点扩展
<a name="best-practices-resolver-endpoint-scaling"></a>

Resolver 端点安全组使用连接跟踪来收集有关进出端点的流量信息。每个端点接口都具有可跟踪的最大连接数，并且大量 DNS 查询可能会超过连接，从而导致节流和查询丢失。连接跟踪 AWS是监控流经安全组的流量状态的默认行为（SGs）。在中使用连接跟踪 SGs 会降低流量的吞吐量，但是，您可以实现未跟踪的连接以减少开销并提高性能。有关更多信息，请参阅[未跟踪的连接](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#untracked-connections)。

如果使用限制性安全组规则强制执行连接跟踪，或者通过网络负载均衡器路由查询（请参阅[自动跟踪的连接](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#automatic-tracking)），则对于一个端点来说，每个 IP 地址每秒处理的最大查询总数可能低至 1500。

**入站 Resolver 端点的入口和出口安全组规则建议**


****  

| 
| 
| **入口规则** | 
| --- |
| 协议类型 | 端口号 | 源 IP | 
| TCP  | 53 | 0.0.0.0/0 | 
| UDP | 53 | 0.0.0.0/0 | 
| **出口规则** | 
| --- |
| 协议类型 | 端口号 | 目的地 IP | 
| TCP | 全部 | 0.0.0.0/0 | 
| UDP | 全部 | 0.0.0.0/0 | 

**出站 Resolver 端点的入口和出口安全组规则建议**


****  

| 
| 
| **入口规则** | 
| --- |
| 协议类型 | 端口号 | 源 IP | 
| TCP  | 全部 | 0.0.0.0/0 | 
| UDP | 全部 | 0.0.0.0/0 | 
| **出口规则** | 
| --- |
| 协议类型 | 端口号 | 目的地 IP | 
| TCP | 53 | 0.0.0.0/0 | 
| UDP | 53 | 0.0.0.0/0 | 

**注意**  
**安全组端口要求：**  
**入站端点**需要入口规则，这些规则允许端口 53 上的 TCP 和 UDP 接收来自您网络的 DNS 查询。出口规则可以允许所有端口，因为端点可能需要响应来自不同源端口的查询。
**出站端点**需要出口规则，这些规则允许 TCP 和 UDP 访问您网络上用于 DNS 查询的端口。上面的示例中显示端口 53，因为它是最常见的 DNS 端口，但您的网络可能使用不同的端口。入口规则可以允许所有端口容纳来自 DNS 服务器的响应。

**入站 Resolver 端点**

对于使用入站解析程序端点的客户端，如果您拥有超过 40,000 个唯一 IP 地址和端口组合来生成 DNS 流量，弹性网络接口的容量将受到影响。

# 解析程序端点的高可用性
<a name="best-practices-resolver-endpoint-high-availability"></a>

在创建 VPC 解析器入站终端节点时，Route 53 要求您创建至少两个 IP 地址，网络上的 DNS 解析器会将查询转发到这两个 IP 地址。您还应在至少两个可用区中指定 IP 地址以实现冗余。

如果您要求任何时候都可用多个弹性网络接口端点，我们建议您在自身需求的基础上至少再多创建一个的网络接口，以确保您有额外的容量可用于处理可能的流量激增。额外的网络接口还可确保维护或升级等服务操作期间的可用性。

有关更多信息，请参阅这篇详细的博客文章：[如何使用解析器端点实现 DNS 的高可用性](https://aws.amazon.com/blogs/networking-and-content-delivery/how-to-achieve-dns-high-availability-with-route-53-resolver-endpoints/)以及[创建或编辑入站端点时指定的值](resolver-forwarding-inbound-queries-values.md)。

# DNS 区域步行
<a name="best-practices-resolver-zone-walking"></a>

DNS 区域步行攻击试图从 DNSSEC 签名的 DNS 区域获取所有内容。如果 VPC Resolver 团队检测到的流量模式与在您的终端节点上行走 DNS 区域时生成的流量模式相匹配，则服务团队将限制您的终端节点上的流量。因此，您可能会发现 DNS 查询超时的百分比很高。

如果您观察到终端节点的容量减少并且认为终端节点受到了错误限制，请前往 h https://console.aws.amazon.com/support/ ome\$1/ 创建支持案例。