다음을 통해 공유

Azure 防火墙中的可靠性

Azure 防火墙 是一种托管的基于云的网络安全服务,可保护 Azure 虚拟网络资源。 它是一个完全有状态的防火墙服务,包括内置的高可用性和不受限制的云可伸缩性。

使用 Azure 时, 可靠性是共同的责任。 Azure 提供了一系列支持复原和恢复的功能。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。

本文介绍如何使 Azure 防火墙能够灵活应对各种潜在的中断和问题,包括暂时性故障、可用性区域中断和区域中断。 它还介绍了服务维护期间的复原能力,并重点介绍了有关防火墙服务级别协议(SLA)的一些关键信息。

生产部署建议

若要了解如何部署 Azure 防火墙以支持解决方案的可靠性要求,以及可靠性如何影响体系结构的其他方面,请参阅 Azure Well-Architected Framework 中 Azure 防火墙的体系结构最佳做法

可靠性体系结构概述

实例是指防火墙的虚拟机(VM)级别单元。 每个实例表示处理流量和执行防火墙检查的基础结构。

若要实现防火墙的高可用性,Azure 防火墙会自动提供至少两个实例,而无需干预或配置。 当平均吞吐量、CPU 消耗量和连接使用率达到预定义阈值时,防火墙会自动横向扩展。 有关详细信息,请参阅 Azure 防火墙性能。 平台会自动管理实例创建、运行状况监视和替换不正常的实例。

为了防止服务器和服务器机架故障,Azure 防火墙会自动在区域中的多个容错域中分发实例。

下图显示了具有两个实例的防火墙:

显示 Azure 防火墙的图示,包含两个实例。

为了在数据中心故障期间增加冗余和可用性,Azure 防火墙会自动在支持多个可用性区域的区域中启用区域冗余,并在至少两个可用性区域中分发实例。

暂时性故障的复原能力

暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。

与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循 Azure 暂时性故障处理指南。 有关详细信息,请参阅 处理暂时性故障的建议

对于通过 Azure 防火墙连接的应用程序,请使用指数退避实现重试逻辑,以处理潜在的暂时性连接问题。 Azure 防火墙的有状态性质可确保合法连接在短暂的网络中断期间保持活动状态。

在缩放作(需要 5 到 7 分钟)期间,防火墙会保留现有连接,同时会添加新的防火墙实例来处理增加的负载。

应对可用区故障的弹性

可用性区域 是 Azure 区域内物理上独立的数据中心组。 当某个区域发生故障时,服务可以切换到其他可用的区域。

Azure 防火墙在支持多个可用性区域的区域中自动部署为区域冗余。 在至少两个可用性区域中部署防火墙时,防火墙是区域冗余的。

Azure 防火墙支持区域冗余部署模型和区域部署模型:

  • 区域冗余: 在支持可用性区域的区域中,Azure 会自动跨多个可用性区域(至少两个)分发防火墙实例。 Azure 自动管理区域之间的负载均衡和故障转移。 此部署模型是所有新防火墙的默认值。

    区域冗余防火墙可实现最高运行时间服务级别协议(SLA)。 将其用于需要最大可用性的生产工作负荷。

    下图显示了一个区域冗余防火墙,其中包含三个跨三个可用性区域分布的实例:

    此图显示了具有三个实例的 Azure 防火墙,每个实例位于单独的可用性区域中。

    注释

    具有多个可用性区域的区域中的所有防火墙部署都是自动区域冗余的。 此规则适用于通过 Azure 门户和基于 API 的部署(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform)进行部署。

  • 纬 向: 在容量约束存在或延迟要求至关重要的特定方案中,可以使用基于 API 的工具(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform)将 Azure 防火墙部署到特定可用性区域。 在该区域内部署所有区域防火墙实例。

    下图显示了一个区域防火墙,其中包含三个部署到同一可用性区域的实例:

    显示包含三个实例的 Azure 防火墙的关系图,所有这些实例位于同一可用性区域中。

    重要

    只能通过基于 API 的工具创建区域部署。 无法通过 Azure 门户配置它们。 将来,现有的区域防火墙部署将迁移到区域冗余部署。 尽可能使用区域冗余部署来实现最高可用性 SLA。 仅区域防火墙就不能为可用性区域中断提供复原能力。

迁移现有部署

以前,未配置为区域冗余或区域性的 Azure 防火墙部署是非区域性区域性部署。 在整个日历年 2026 年,Azure 将所有现有的非区域防火墙部署迁移到支持多个可用性区域的区域中的区域冗余部署。

区域支持

Azure 防火墙支持支持 可用性区域的所有区域中的可用性区域,其中提供了 Azure 防火墙服务。

要求

  • Azure 防火墙的所有层都支持可用性区域。
  • 区域冗余防火墙需要配置为区域冗余的标准公共 IP 地址。
  • 区域防火墙(通过基于 API 的工具部署)需要标准公共 IP 地址,并且可以配置为区域冗余或在与防火墙相同的区域内进行区域配置。

成本

区域冗余防火墙部署无需额外付费。

配置可用性区域支持

本部分介绍防火墙的可用性区域配置。

  • 创建新的防火墙: 默认情况下,具有多个可用性区域的区域中的所有新的 Azure 防火墙部署都将自动进行区域冗余。 此规则适用于基于门户的部署和基于 API 的部署。

    • 区域冗余(默认值): 在具有多个可用性区域的区域中部署新防火墙时,Azure 会自动跨至少两个可用性区域分配实例。 不需要额外的配置。 有关详细信息,请参阅 使用 Azure 门户部署 Azure 防火墙

      • Azure 门户: 自动部署区域冗余防火墙。 不能通过门户选择特定的可用性区域。
      • 基于 API 的工具(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform): 默认情况下部署区域冗余防火墙。 可以选择指定用于部署的区域。

      有关部署区域冗余防火墙的详细信息,请参阅 部署具有可用性区域的 Azure 防火墙

    • 区域(仅限基于 API 的工具): 若要将防火墙部署到特定可用性区域(例如,由于区域中的容量限制),请使用基于 API 的工具,例如 Azure CLI、PowerShell、Bicep、ARM 模板或 Terraform。 在部署配置中指定单个区域。 此选项无法通过 Azure 门户使用。

      注释

      选择要使用的可用性区域时,实际上是在选择逻辑可用性区域。 如果你在不同的 Azure 订阅中部署其他工作负载组件,它们可能会使用不同的逻辑可用性区域编号来访问相同的物理可用性区域。 有关详细信息,请参阅 物理和逻辑可用性区域

  • 现有防火墙: 所有现有的非区域(区域)防火墙部署都会自动迁移到支持多个可用性区域的区域中的区域冗余部署。 现有的区域防火墙部署(固定到特定区域)在将来的日期迁移到区域冗余部署。

  • 容量约束: 如果某个区域没有区域冗余部署(至少需要两个可用性区域)的容量,则部署将失败。 在此方案中,可以使用基于 API 的工具将区域防火墙部署到特定可用性区域。

所有区域正常时的行为

本部分介绍使用可用性区域支持配置 Azure 防火墙时的预期情况,以及所有可用性区域都正常运行的情况。

  • 区域之间的流量路由: 流量路由行为取决于防火墙使用的可用性区域配置。

    • 区域冗余: Azure 防火墙会自动跨防火墙使用的所有区域中的实例分配传入请求。 此主动-主动配置可确保在正常运行条件下实现最佳性能和负载分配。

    • 带状的: 如果跨不同区域部署多个区域实例,则必须使用外部负载均衡解决方案(例如 Azure 负载均衡器或 Azure 流量管理器)配置流量路由。

  • 实例管理: 平台会自动管理防火墙使用的区域中的实例放置。 它将替换失败的实例并维护配置的实例计数。 运行状况监视可确保仅由正常运行的实例接收流量。

  • 区域之间的数据复制: Azure 防火墙不需要跨可用性区域同步连接状态。 处理请求的实例维护每个连接的状态。

区域故障期间的行为

本部分介绍使用可用性区域支持配置 Azure 防火墙时的预期情况,以及一个或多个可用性区域不可用的情况。

  • 检测和响应: 检测和响应的责任取决于防火墙使用的可用性区域配置。

    • 区域冗余: 对于配置为使用区域冗余的实例,Azure 防火墙平台会检测并响应可用性区域中的故障。 无需启动区域故障转移。

    • 带状的: 对于配置为区域性的防火墙,需要检测可用性区域的丢失情况,并启动到在另一个可用性区域中创建的辅助防火墙的故障转移。

  • 活动连接: 当可用性区域不可用时,连接到故障可用性区域中防火墙实例的请求可能会终止,并且需要重试。

  • 预期数据丢失: 区域故障转移期间不会丢失任何数据,因为 Azure 防火墙不会存储永久性客户数据。

  • 预期的停机时间: 停机时间取决于防火墙使用的可用性区域配置。

    • 区域冗余: 在可用性区域中断期间,预计停机时间最短(通常是几秒钟)。 客户端应用程序应遵循 暂时性故障处理的做法,包括实现具有指数退避的重试策略。

    • 带状的: 当某个区域不可用时,防火墙将保持不可用状态,直到可用性区域恢复。

  • 流量重新路由: 流量重新路由行为取决于防火墙使用的可用性区域配置。

    • 区域冗余: 流量会自动重新路由到正常的可用性区域。 如果需要,平台会在正常的区域中创建新的防火墙实例。

    • 带状的: 当某个区域不可用时,区域防火墙也不可用。 如果另一个可用性区域中有辅助防火墙,则负责将流量重新路由到该防火墙。

Failback

故障回复行为取决于防火墙使用的可用性区域配置。

  • 区域冗余: 在可用性区域恢复后,Azure 防火墙会自动跨防火墙使用的所有区域重新分发实例,并跨区域还原正常的负载均衡。

  • 带状的: 可用性区域恢复后,负责将流量重新路由到原始可用性区域中的防火墙。

测试区域故障

区域故障测试的选项取决于防火墙的可用性区域配置。

  • 区域冗余: Azure 防火墙平台管理区域冗余防火墙资源的流量路由、故障转移和故障回复。 此功能是完全托管的,因此无需启动或验证可用性区域故障流程。

  • 带状的: 可以通过停止防火墙来模拟可用性区域故障的各个方面。 使用此方法测试其他系统和负载均衡器如何处理防火墙中的中断。 有关详细信息,请参阅 “停止和启动 Azure 防火墙”。

对区域范围的故障的复原能力

Azure 防火墙是单区域服务。 如果区域不可用,则防火墙资源也不可用。

用于复原的自定义多区域解决方案

若要实现多区域体系结构,请使用单独的防火墙。 此方法要求将独立防火墙部署到每个区域,将流量路由到相应的区域防火墙,并实现自定义故障转移逻辑。 请考虑以下几点:

  • 使用 Azure 防火墙管理器 跨多个防火墙进行集中式策略管理。 使用 防火墙策略 方法跨多个防火墙实例集中管理规则。

  • 使用流量管理器或 Azure Front Door 实现流量路由

有关演示多区域网络安全体系结构的示例体系结构,请参阅 使用流量管理器、Azure 防火墙和应用程序网关实现多区域负载均衡

服务维护期间的系统弹性能力

Azure 防火墙定期执行服务升级和其他形式的维护。

可以配置每日维护时段,使升级计划与运营需求保持一致。 有关详细信息,请参阅为 Azure 防火墙配置客户控制的维护

服务级别协议

Azure 服务的服务级别协议 (SLA) 描述了每个服务的预期可用性,以及解决方案为实现该可用性预期而必须满足的条件。 有关详细信息,请参阅 联机服务的 SLA

Azure 防火墙为跨两个或更多可用性区域部署的区域冗余防火墙提供更高的可用性 SLA。