你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
若要最大程度地提高 Azure 防火墙和防火墙策略的性能,请务必遵循最佳做法。 但是,尽管防火墙具有性能优化功能,某些网络行为或功能可能会影响防火墙的性能和导致延迟。
性能问题的常见原因
超出规则限制
如果超出限制,例如在规则中使用超过 20,000 个唯一源或目标组合,则可能会影响防火墙流量处理并导致延迟。 尽管此限制是软的,但超过此限制可能会影响整体防火墙性能。 有关详细信息,请参阅在文档中规定的限制。
高流量吞吐量
Azure 防火墙标准版最高支持 30 Gbps,而高级版支持高达 100 Gbps。 有关详细信息,请参阅吞吐量限制。 可以在 Azure 防火墙指标中监视吞吐量或数据处理。 有关详细信息,请参阅 Azure 防火墙指标和警报。
连接数高
通过防火墙传递的连接数量过多可能导致 SNAT(源网络地址转换)端口耗尽。
IDPS 警报 + 拒绝模式
如果启用 IDPS 警报 + 拒绝模式,防火墙会删除与 IDPS 签名匹配的数据包。 此操作会影响性能。
建议
优化规则配置和处理
- 使用防火墙策略将规则组织到规则集合组和规则集合中,并根据规则集合的使用频率确定规则的优先级。
- 使用 IP 组或 IP 前缀减少 IP 表规则的数量。
- 将指向单个 IP 组的防火墙数量控制在 50 的软限制以内。 超过这个限制可能会影响性能,导致 IP 组更新失败。 欲了解更多信息,请参见 Azure 防火墙 limits。
- 优先命中次数最多的规则。
- 请确保符合以下 规则限制。
使用或迁移到 Azure 防火墙高级版
- Azure 防火墙高级版使用高级硬件,并提供高性能的基础引擎。
- 它最适合较重的工作负荷和更高的流量。
- 它还包括内置的加速网络软件,与标准版本不同,它可以实现高达 100 Gbps 的吞吐量。
防止 SNAT 端口耗尽
当防火墙的 SNAT 端口不足时,可以通过两种方式来扩展出站连接能力。 选择最适合成本和可伸缩性需求的选项。
选项 1:添加多个公共 IP 地址
将更多公共 IP 地址(PIP)添加到防火墙。 Azure 防火墙为每个额外的 PIP 提供 2,496 个 SNAT 端口,最多可以关联 250 个 PIP。 有关步骤,请参阅部署具有多个公共 IP 地址的Azure 防火墙。
- 优点:成本较低、配置简单,无需额外管理资源。
- 缺点:每个 PIP 添加固定数量的 SNAT 端口,因此容量会线性缩放。 您还必须在任何下游 IP 过滤规则中允许所有 PIP。
选项 2:使用 NAT 网关
将Azure NAT 网关与防火墙子网相关联,以动态缩放 SNAT 端口。 有关步骤,请参阅使用 Azure NAT 网关 缩放 SNAT 端口。
- 优点:每个公共 IP 地址最多提供 64,512 个 SNAT 端口,并跨子网动态分配端口,以提高规模和复原能力。
- 缺点:添加另一个资源来部署和管理,在受保护的虚拟中心(vWAN)体系结构中不受支持。
如果成本敏感,请使用选项 1。 如果需要更可缩放且更可靠的解决方案,请使用选项 2。
在启用警报 + 拒绝模式之前,请先使用 IDPS 警报模式
- 虽然警报 + 拒绝模式通过阻止可疑流量提供增强的安全性,但它也会带来更多的处理开销。 如果禁用此模式,可能会观察到性能改善,尤其是在防火墙主要用于路由而非深度数据包检查的情况下。
- 请务必记住,在显式配置允许规则之前,会默认拒绝通过防火墙的流量。 因此,即使 IDPS 警报 + 拒绝 模式处于禁用状态,网络也处于受保护状态,并且仅允许显式允许的流量通过防火墙。 禁用此模式可以是一种用于优化性能的战略选择,而不会影响 Azure 防火墙提供的核心安全功能。
注释
避免批量拒绝所有签名替代。 某些签名为以后的检测设置上下文,无法替代以防止无提示删除。 有关详细信息,请参阅 替代行为和限制。
测试和监视
若要确保 Azure 防火墙的最佳性能,请持续并主动监视它。 定期评估防火墙的运行状况和关键指标,以确定潜在问题并维护高效操作,尤其是在配置更改期间。
使用以下有关测试和监视的最佳做法。
-
测试由防火墙引入的延迟
- 若要评估由防火墙添加的延迟,请通过暂时绕过防火墙来衡量流量从源到目标的延迟。 为此,请重新配置路由以绕过防火墙。 比较有防火墙和无防火墙时的延迟测量结果,以了解其对流量的影响。
-
使用延迟探测指标测量防火墙延迟
- 使用延迟探测指标测量 Azure 防火墙的平均延迟。 此指标提供防火墙性能的间接指标。 请记住,间歇性延迟峰值是正常的。
-
度量流量吞吐量指标
- 监视流量吞吐量指标,以了解通过防火墙传递的数据量。 此指标可帮助你衡量防火墙的容量及其处理网络流量的能力。
-
测量已处理的数据
- 跟踪已处理的数据指标,以评估防火墙处理的数据量。
-
确定规则命中和性能峰值
- 查找网络性能或延迟的峰值。 关联规则命中时间戳(例如应用程序规则命中计数和网络规则命中计数),以确定规则处理是否是导致性能或延迟问题的一个重要因素。 通过分析这些模式,可以识别可能需要优化的特定规则或配置。
-
向关键指标添加警报
- 除了定期监视,还针对关键防火墙指标设置警报。 此步骤可确保当特定指标超过预定义阈值时,系统会立即收到通知。 若要配置警报,请参阅 Azure 防火墙日志和指标,了解有关设置有效警报机制的详细说明。 主动警报可增强快速响应潜在问题并维护最佳防火墙性能的能力。
-
实现治理和合规性
- 使用 Azure Policy 在整个 Azure 防火墙部署中强制实施一致的配置标准,包括显式代理设置和其他安全配置。
- 使用 Azure Resource Graph 跟踪配置更改,以保持合规性和作可见性。