你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 防火墙是一种托管的基于云的网络安全服务,可保护Azure 虚拟网络资源。 它是一个完全有状态的防火墙服务,包括内置的高可用性和不受限制的云可伸缩性。
使用 Azure 时,可靠性是共同的责任。 Microsoft提供了一系列功能来支持复原和恢复。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。
本文介绍如何使Azure 防火墙应对各种潜在中断和问题,包括暂时性故障、可用性区域中断和区域中断。 它还介绍了服务维护期间的复原能力,并重点介绍了有关防火墙服务级别协议(SLA)的一些关键信息。
生产部署建议
若要了解如何部署 Azure 防火墙 以支持解决方案的可靠性要求,以及可靠性如何影响体系结构的其他方面,请参阅 Azure Well-Architected Framework 中关于 Azure 防火墙 的架构最佳做法。
可靠性体系结构概述
实例是指防火墙的虚拟机(VM)级别单元。 每个实例表示处理流量和执行防火墙检查的基础结构。
若要实现防火墙的高可用性,Azure 防火墙自动提供至少两个实例,而无需干预或配置。 当平均吞吐量、CPU 消耗量和连接使用率达到预定义阈值时,防火墙会自动横向扩展。 有关详细信息,请参阅 Azure 防火墙 性能。 平台会自动管理实例创建、运行状况监视和替换不正常的实例。
为了防止服务器和服务器机架故障,Azure 防火墙自动在区域中的多个容错域中分发实例。
下图显示了具有两个实例的防火墙:
为了在数据中心故障期间增加冗余和可用性,Azure 防火墙自动在支持多个可用性区域的区域中启用区域冗余,并在至少两个可用性区域中分配实例。
暂时性故障的复原能力
暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。
与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循Azure暂时性故障处理指南。 有关详细信息,请参阅有关处理暂时性故障的建议。
对于通过Azure 防火墙连接的应用程序,请使用指数退避实现重试逻辑,以处理潜在的暂时性连接问题。 Azure 防火墙有状态的性质可确保合法连接在短暂的网络中断期间保持活动状态。
在缩放作(需要 5 到 7 分钟)期间,防火墙会保留现有连接,同时会添加新的防火墙实例来处理增加的负载。
应对可用区故障的弹性
可用区是物理上相互独立的Azure区域中的数据中心组。 当某个区域发生故障时,服务可以切换到其他可用的区域。
在支持多个可用性区域的地区,Azure 防火墙会自动部署为具备区域冗余功能。 在至少两个可用性区域中部署防火墙时,防火墙是区域冗余的。
Azure 防火墙同时支持区域冗余部署模型和区域部署模型:
区域冗余:支持可用性区域的区域中,Azure自动跨多个可用性区域(至少两个)分发防火墙实例。 Azure 自动管理区域间的负载均衡和故障转移。 此部署模型是所有新防火墙的默认值。
区域冗余防火墙可实现最高运行时间服务级别协议(SLA)。 将其用于需要最大可用性的生产工作负荷。
下图显示了一个区域冗余防火墙,其中包含三个跨三个可用性区域分布的实例:
注释
具有多个可用性区域的区域中的所有防火墙部署都是自动区域冗余的。 此规则适用于通过Azure门户和基于 API 的部署(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform)进行部署。
Zonal: 在存在容量约束或延迟要求至关重要的特定方案中,可以使用基于 API 的工具(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform)将Azure 防火墙部署到特定可用性区域。 在该区域内部署所有区域防火墙实例。
下图显示了一个区域防火墙,其中包含三个部署到同一可用性区域的实例:
重要
只能通过基于 API 的工具创建区域部署。 无法通过 Azure 门户配置它们。 将来,现有的区域防火墙部署将迁移到区域冗余部署。 尽可能使用区域冗余部署来实现最高可用性 SLA。 仅区域防火墙就不能为可用性区域中断提供复原能力。
迁移现有部署
以前,未配置为区域冗余或区域性的 Azure 防火墙 部署是非区域性或区域性的。 在整个日历年 2026 年,Azure将所有现有的非区域防火墙部署迁移到支持多个可用性区域的区域中的区域冗余部署。
要求
- 区域支持: Azure 防火墙 支持在所有支持可用性区域的地区使用 Azure 防火墙 服务。
- Azure 防火墙的所有层都支持可用性区域。
- 区域冗余防火墙需要配置为区域冗余的标准公共 IP 地址。
- 区域防火墙(通过基于 API 的工具部署)需要标准公共 IP 地址,并且可以配置为区域冗余或在与防火墙相同的区域内进行区域配置。
成本
区域冗余防火墙部署无需额外付费。
配置可用性区域支持
本部分介绍防火墙的可用性区域配置。
创建新的防火墙:默认情况下,具有多个可用性区域的区域中的所有新Azure 防火墙部署都将自动进行区域冗余。 此规则适用于基于门户的部署和基于 API 的部署。
区域冗余(默认值):在具有多个可用性区域的区域中部署新防火墙时,Azure自动跨两个可用性区域分配实例。 不需要额外的配置。 有关详细信息,请参阅 使用 Azure 门户部署 Azure 防火墙。
- Azure portal: 自动部署区域冗余防火墙。 不能通过门户选择特定的可用性区域。
- 默认情况下,基于 API 的工具(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform):部署区域冗余防火墙。 可以选择指定用于部署的区域。
有关部署区域冗余防火墙的详细信息,请参阅 部署可用性区域的Azure 防火墙。
区域(仅基于 API 的工具): 若要将防火墙部署到特定可用性区域(例如,由于区域中的容量限制),请使用基于 API 的工具,例如Azure CLI、PowerShell、Bicep、ARM 模板或 Terraform。 在部署配置中指定单个区域。 此选项无法通过Azure门户使用。
注释
选择要使用的可用性区域时,实际上是在选择逻辑可用性区域。 如果在不同的Azure订阅中部署其他工作负荷组件,他们可能会使用不同的逻辑可用性区域编号来访问相同的物理可用性区域。 有关详细信息,请参阅 物理和逻辑可用性区域。
现有防火墙: 所有现有的非区域(区域)防火墙部署都会自动迁移到支持多个可用性区域的区域中的区域冗余部署。 现有的区域防火墙部署(固定到特定区域)在将来的日期迁移到区域冗余部署。
容量约束: 如果某个区域没有区域冗余部署(至少需要两个可用性区域)的容量,则部署将失败。 在此方案中,可以使用基于 API 的工具将区域防火墙部署到特定可用性区域。
所有区域正常时的行为
本部分介绍在配置 Azure 防火墙 带有可用性区域支持时,预期会发生的情况,并且在所有可用性区域均正常运行的情况下。
区域之间的流量路由: 流量路由行为取决于防火墙使用的可用性区域配置。
Zone-redundant: Azure 防火墙会自动在防火墙使用的所有区域中的实例之间分配传入请求。 此主动-主动配置可确保在正常运行条件下实现最佳性能和负载分配。
Zonal: 如果跨不同区域部署多个区域实例,则必须使用外部负载均衡解决方案(如Azure 负载均衡器或Azure 流量管理器)配置流量路由。
实例管理: 平台会自动管理防火墙使用的区域中的实例放置。 它将替换失败的实例并维护配置的实例计数。 运行状况监视可确保仅由正常运行的实例接收流量。
区域之间的数据复制: Azure 防火墙不需要跨可用性区域同步连接状态。 处理请求的实例维护每个连接的状态。
区域故障期间的行为
本部分介绍在配置具有可用性区域支持的 Azure 防火墙 时可以预期的情况,以及一个或多个可用性区域不可用时的预期情形。
检测和响应: 检测和响应的责任取决于防火墙使用的可用性区域配置。
Zone-redundant: 对于配置为使用区域冗余的实例,Azure 防火墙平台检测并响应可用性区域中的故障。 无需启动区域故障转移。
区域性: 对于配置为区域性的防火墙,需要检测可用区的失效,并执行到在另一个可用区中创建的辅助防火墙的故障转移。
- 通知: Microsoft不会在区域关闭时自动通知你。 但是,可以使用 Azure 服务运行状况 了解服务的总体运行状况,包括任何区域故障,并且可以设置 Service Health 警报来通知问题。
活动连接: 当可用性区域不可用时,连接到故障可用性区域中防火墙实例的请求可能会终止,并且需要重试。
预期数据丢失:在可用区故障转移期间不会丢失任何数据,因为 Azure 防火墙 不存储永久性客户数据。
预期的停机时间: 停机时间取决于防火墙使用的可用性区域配置。
区域冗余: 在可用性区域发生故障期间,预计只会有极短的停机时间(通常仅为几秒钟)。 客户端应用程序应遵循 暂时性故障处理的做法,包括实现具有指数退避的重试策略。
区域性: 当某个可用区不可用时,防火墙将保持不可用状态,直到该可用区恢复。
流量重新路由: 流量重新路由行为取决于防火墙使用的可用性区域配置。
区域冗余: 流量会自动重新路由到正常的可用性区域。 如果需要,平台会在正常的区域中创建新的防火墙实例。
区域: 当某个区域不可用时,区域防火墙也不可用。 如果另一个可用性区域中有辅助防火墙,则负责将流量重新路由到该防火墙。
Failback
故障回复行为取决于防火墙使用的可用性区域配置。
区域冗余:可用性区域恢复后,Azure 防火墙会自动跨防火墙使用的所有区域重新分发实例,并跨区域还原正常的负载均衡。
可用区: 在可用性区域恢复后,你负责将流量重新路由到原始可用性区域中的防火墙。
测试区域故障
区域故障测试的选项取决于防火墙的可用性区域配置。
区域冗余: Azure 防火墙 平台管理区域冗余防火墙资源的流量路由、故障转移和故障恢复。 此功能是完全托管的,因此无需启动或验证可用性区域故障流程。
可用性区域: 可以通过停止一个防火墙来模拟可用性区域故障的特定方面。 使用此方法测试其他系统和负载均衡器如何处理防火墙中的中断。 有关详细信息,请参阅 停止和启动 Azure 防火墙。
对区域范围的故障的复原能力
Azure 防火墙是单区域服务。 如果区域不可用,则防火墙资源也不可用。
用于复原的自定义多区域解决方案
若要实现多区域体系结构,请使用单独的防火墙。 此方法要求将独立防火墙部署到每个区域,将流量路由到相应的区域防火墙,并实现自定义故障转移逻辑。 请考虑以下几点:
跨多个防火墙使用Azure 防火墙管理器进行集中策略管理。 使用 防火墙策略 方法跨多个防火墙实例集中管理规则。
使用流量管理器或Azure Front Door实现流量路由。
有关演示多区域网络安全体系结构的示例体系结构,请参阅使用流量管理器、Azure 防火墙和应用程序网关进行区域负载均衡。
服务维护期间的系统弹性能力
Azure 防火墙定期执行服务升级和其他形式的维护。
可以配置每日维护时段,使升级计划与运营需求保持一致。 有关详细信息,请参阅 为 Azure 防火墙配置客户控制的维护。
服务级别协议
Azure服务的服务级别协议(SLA)描述了每个服务的预期可用性以及解决方案必须满足的条件,以实现该可用性预期。 有关详细信息,请参阅 SLa for 联机服务。
Azure 防火墙为跨两个或更多可用性区域部署的区域冗余防火墙提供更高的可用性 SLA。