Azure 防火牆 是一項託管的雲端網路安全服務,保護Azure 虛擬網路資源。 它是完全具狀態的防火牆服務,具有內建的高可用性與不受限制的雲端可擴縮性。
使用Azure時,可靠性是共同責任。 Microsoft 提供一系列功能來支援韌性和復原。 您有責任瞭解這些功能在您使用的所有服務中如何運作,並選取符合業務目標和正常運作時間目標所需的功能。
本文說明如何讓 Azure 防火牆 具備多種潛在故障與問題的韌性,包括暫時性故障、可用性區域故障及區域故障。 它也說明了服務維護期間的韌性,並強調防火牆服務水準協議(SLA)的一些關鍵資訊。
生產部署建議
欲了解如何部署Azure 防火牆以支援解決方案的可靠性需求,以及可靠性如何影響架構的其他面向,請參閱 Azure Well-Architected 框架中的 架構最佳Azure 防火牆實務。
可靠性架構概觀
執行個體是指防火牆的虛擬機器 (VM) 層級單位。 每個執行個體都代表處理流量及執行防火牆檢查的基礎結構。
為了實現防火牆的高可用性,Azure 防火牆 會自動提供至少兩個實例,無需你介入或設定。 當平均輸送量、CPU 使用量與連線使用量達到預先定義的閾值時,防火牆會自動擴增。 更多資訊請參見 Azure 防火牆 performance。 平台會自動管理執行個體建立、狀況監控與狀況不良執行個體更換。
為了防止伺服器與伺服器機架故障,Azure 防火牆 會自動將實例分散到區域內多個故障域。
下圖顯示具有兩個執行個體的防火牆:
為了在資料中心故障時增加冗餘性與可用性,Azure 防火牆 會自動啟用支援多個可用性區域的區域冗餘,並將實例分配至至少兩個可用區域。
對瞬態故障的彈性
暫時性錯誤是元件中的短暫間歇性失敗。 它們經常出現在雲端等分散式環境中,而且是作業的一般部分。 暫時性錯誤會在短時間內自行修正。 請務必確保您的應用程式能妥善處理暫時性錯誤,通常透過重試受影響的請求來進行。
所有雲端託管應用程式在與任何雲端託管的 API、資料庫及其他元件通訊時,都應遵循 Azure 暫態故障處理指引。 如需詳細資訊,請參閱 處理暫時性錯誤的建議。
對於透過 Azure 防火牆 連接的應用程式,請實作帶有指數回退的重試邏輯,以處理潛在的短暫連線問題。 Azure 防火牆 的有狀態特性確保在短暫的網路中斷期間,合法連線仍能保持活躍。
在擴展作業中,約需五到七分鐘,防火牆會保留現有連線,同時新增防火牆實例以應付增加的負載。
對可用性區域故障的抵抗力
可用性區域是Azure區域內物理上獨立的資料中心群組。 當某個區域發生故障時,服務可以切換至其他剩餘的區域。
Azure 防火牆 會在支援多個可用性區域的地區自動部署為區塊冗餘。 防火牆若部署於至少兩個可用性區域時,即為區域冗餘。
Azure 防火牆 支援區域冗餘與區域部署模型:
Zone-redundant: 在支援可用性區域的區域,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 正在將所有現有的非區域防火牆部署遷移到支援多可用性區域的區域冗餘部署。
需求
- Region support: Azure 防火牆 支援所有支援可用區域的可用區域,該區域可使用Azure 防火牆服務。
- 所有 Azure 防火牆 層級都支援可用性區域。
- 區域冗餘防火牆需要標準的公共 IP 位址配置為區域冗餘。
- 區域防火牆(透過基於 API 的工具部署)需要標準的公共 IP 位址,且可設定為區域冗餘或與防火牆同一區域內的區域防火牆。
費用
區域冗餘防火牆部署不會額外付費。
設定可用性區域支援
本節說明防火牆的可用性區域配置。
建立新防火牆: 所有在具有多個可用性區域的地區中部署的新 Azure 防火牆,預設均為區域冗餘。 此規則適用於基於入口網站及基於 API 的部署。
Zone-redundant(預設): 當你在多個可用區域部署新防火牆時,Azure 會自動將實例分配到至少兩個可用區域。 不需要額外的配置。 欲了解更多資訊,請參閱使用 Azure portal部署Azure 防火牆。
- Azure portal: 自動部署區域冗餘防火牆。 你無法透過入口網站選擇特定的可用區域。
- API 基礎工具(Azure CLI、PowerShell、Bicep、ARM 模板、Terraform): 預設部署區域冗餘防火牆。 你可以選擇性地指定部署區域。
欲了解更多關於部署區域冗餘防火牆的資訊,請參見 部署帶有可用性區域的Azure 防火牆。
Zonal(僅限 API 工具): 若要部署防火牆到特定可用區域(例如因區域容量限制),可使用 API 工具,如 Azure CLI、PowerShell、Bicep、ARM 範本或 Terraform。 在你的部署設定中指定一個單一區域。 這個選項無法透過 Azure 入口網站取得。
備註
當您選取要使用的可用性區域時,實際上會選取 邏輯可用性區域。 如果你在不同的 Azure 訂閱中部署其他工作負載元件,它們可能會使用不同的邏輯可用性區號來存取相同的實體可用性區。 如需詳細資訊,請參閱實體和邏輯可用性區域。
現有防火牆: 所有現有的非區域性(區域性)防火牆部署會自動遷移到支援多個可用性區域的區域冗餘部署。 現有的區域防火牆部署(釘選於特定區域)會在未來某天遷移至區域冗餘部署。
容量限制: 若區域無法進行區域冗餘部署(需至少兩個可用區域),該部署即告失敗。 在這種情況下,你可以利用基於 API 的工具,將區域防火牆部署到特定的可用性區域。
所有區域都狀況良好時的行為
本節說明當 Azure 防火牆 設定支援可用性區域且所有可用性區域皆正常運作時,可期待的情況。
區域之間的流量路由傳送:流量路由傳送行為取決於防火牆使用的可用性區域設定。
Zone-redundant: Azure 防火牆 會自動將收到的請求分散到防火牆所使用的所有區域的實例中。 此主動-主動設定可確保正常作業條件下的最佳效能與負載散發。
Zonal: 如果你在不同區域部署多個區域實例,必須透過外部負載平衡解決方案如 Azure Load Balancer 或 Azure 流量管理員 來配置流量路由。
實例管理: 平台會自動管理防火牆所使用的區域間的實例擺放。 它會取代失敗的執行個體,並維持已設定的執行個體計數。 狀況監控可確保只有狀況良好的執行個體才會接收流量。
資料複寫在區域之間: Azure 防火牆 不需要同步可用性區域的連線狀態。 處理要求的執行個體會維護每個連線的狀態。
區域失敗期間的行為
本節說明當 Azure 防火牆 設定支援可用性區域且一個或多個可用性區域無法使用時,可以預期的情況。
偵測及回應:偵測及回應的責任取決於防火牆使用的可用性區域設定。
Zone-redundant: 對於配置為區域冗餘的實例,Azure 防火牆平台會偵測並回應可用性區域的故障。 您不需要起始區域容錯移轉。
區域:針對設定為區域的防火牆,您必須偵測可用性區域遺失,並起始容錯移轉至您在另一個可用性區域中建立的次要防火牆。
- 通知: Microsoft 不會在區域關閉時自動通知您。 不過,你可以使用 Azure 服務健康狀態 來了解服務整體健康狀況,包括任何區域故障,並且可以設定 Service Health 警示來通知你問題。
積極連結: 當可用性區域無法使用時,連接該故障可用性區域內防火牆實例的進行中請求可能會終止,並需要重試。
預期資料遺失:區域故障轉移期間不預期資料遺失,因為Azure 防火牆不會儲存持久的客戶資料。
預期的停機:停機取決於防火牆使用的可用性區域設定。
區域備援:預期在可用性區域中斷期間會有極短的停機 (通常為幾秒鐘)。 用戶端應用程式應該遵循暫時性錯誤處理的做法,包括實作具有指數輪詢的重試原則。
區域:當區域無法使用時,您的防火牆會保持無法使用狀態,直到可用性區域復原為止。
流量重新路由傳送:流量重新路由傳送行為取決於防火牆使用的可用性區域設定。
區域備援:流量會自動重新路由傳送至狀況良好的可用性區域。 如有需要,平台會在狀況良好的區域中建立新的防火牆執行個體。
區域:當區域無法使用時,您的區域防火牆也會無法使用。 如果您在另一個可用性區域中有次要防火牆,則您必須負責將流量重新路由傳送至該防火牆。
Failback
容錯回復行為取決於防火牆使用的可用性區域設定。
Zone-redundant: 可用性區域恢復後,Azure 防火牆 會自動將實例重新分配到防火牆使用的所有區域,並恢復正常的區域負載平衡。
區域:可用性區域復原之後,您必須負責將流量重新路由傳送至原始可用性區域中的防火牆。
測試區域失敗
區域失敗測試的選項取決於防火牆的可用性區域設定。
區域冗餘: Azure 防火牆平台管理區域冗餘防火牆資源的流量路由、故障轉移與備援。 此功能完全受控,因此您不需要起始或驗證可用性區域失敗程序。
區域:您可以透過停止防火牆來模擬可用性區域失敗的各個層面。 使用此方法來測試其他系統與負載平衡器如何處理防火牆中的中斷。 欲了解更多資訊,請參閱停止與開始 Azure 防火牆。
對區域範圍故障的復原能力
Azure 防火牆 是一個單一區域服務。 如果該區域無法使用,你的防火牆資源也無法使用。
自訂多區域解決方案,以實現復原能力
若要實作多區域結構,請使用個別的防火牆。 這種方法需要你在每個區域部署獨立防火牆,將流量導向適當的區域防火牆,並實作自訂的故障轉移邏輯。 請考慮下列幾點:
使用 Azure 防火牆管理員 用於跨多台防火牆的集中式政策管理。 使用防火牆原則方法,跨多個防火牆執行個體進行集中式規則管理。
使用流量管理器或 Azure Front Door 實作流量路由。
關於展示多區域網路安全架構的範例架構,請參見
服務維護的韌性
Azure 防火牆 定期執行服務升級及其他維護工作。
您可以設定每日維護時段,使升級排程符合您的作業需求。 欲了解更多資訊,請參閱配置客戶控制維護Azure 防火牆。
服務等級協定
Azure 服務的服務層級協議(SLA)描述了每項服務的預期可用性,以及您的解決方案必須符合的條件,以達成該可用性預期。 欲了解更多資訊,請參閱線上服務的服務等級協議。
Azure 防火牆 為部署於兩個或以上可用區域的區域冗餘防火牆提供更高的可用性 SLA。