在 Azure Stack Hub 上部署高可用性網路虛擬設備

此文章說明如何在 Azure Stack Hub 中部署一組網路虛擬設備 (NVA) 以取得高可用性。 NVA 通常是用來控制從周邊網路 (也稱為 DMZ) 流至其他網路或子網路之網路流量的流動。 本文包含「僅輸入」、「僅輸出」,以及「輸入和輸出」的範例架構。

Azure Stack Hub Marketplace 上提供不同廠商的 NVA,您可以使用其中一個來獲得最佳效能。

此架構具有下列元件。

網路和負載平衡

  • 虛擬網路和子網路。 每部 Azure VM 都會部署到可以分割成子網路的虛擬網路。 針對每一層建立不同的子網路。

  • 第 7 層負載平衡器。 由於尚無法在 Azure Stack Hub 上使用應用程式閘道,因此 Azure Stack Hub Marketplace 上有可用的替代方案,例如:KEMP LoadMaster 負載平衡器 ADC 內容切換/ 、f5 Big-IP Virtual EditionA10 vThunder ADC

  • 負載平衡器。 使用 Azure Load Balancer 將來自 Web 層的網路流量散發到商務層,以及將來自商務層的流量散發到 SQL Server。

  • 網路安全性群組 (NSG)。 使用 NSG 來限制虛擬網路內的網路流量。 例如,在如下所示的三層式架構中,資料庫層不接受來自 Web 前端的流量,只接受來自商務層與管理子網路的流量。

  • UDR。 使用使用者定義路由 (UDR) 將流量路由傳送到特定負載平衡器。

此文章假設您對 Azure Stack Hub 網路功能有基本認識。

架構圖表

NVA 可以部署到許多不同架構的周邊網路中。 例如,下圖說明針對輸入使用單一 NVA 的方式。

Screenshot that shows the use of a single NVA for ingress.

在這種架構中,NVA 會檢查所有輸入和輸出的網路流量,並僅傳遞符合網路安全性規則的流量,藉此提供安全的網路界限。 由於所有網路流量都必須通過 NVA,這也代表 NVA 會成為網路中的單一失敗點。 如果 NVA 失敗,網路流量就沒有其他路徑,導致所有後端子網路都無法使用。

若要讓 NVA 具高可用性,請在可用性設定組中部署多個 NVA。

下列架構描述高可用性 NVA 所需的資源和設定:

解決方法 優點 考量
具第 7 層 NVA 的輸入 所有 NVA 節點都是作用中狀態。 需要可以終止連線並使用 SNAT 的 NVA。
需要另外一組 NVA 以供來自企業網路/網際網路與 Azure Stack Hub 的流量使用。
僅能用於源自於 Azure Stack Hub 外部的流量。
具第 7 層 NVA 的輸出 所有 NVA 節點都是作用中狀態。 需要可以終止連線並實作來源網路位址轉譯 (SNAT) 的 NVA。
具第 7 層 NVA 的輸入-輸出 所有節點都是作用中狀態。
能夠處理來自 Azure Stack Hub 中的流量。
需要可以終止連線並使用 SNAT 的 NVA。
需要另外一組 NVA 以供來自企業網路/網際網路與 Azure Stack Hub 的流量使用。

具第 7 層 NVA 的輸入

下圖所示範的高可用性架構會在面向網際網路的負載平衡器後方實作輸入周邊網路。 此架構設計成可針對第 7 層流量 (例如 HTTP 或 HTTPS) 提供與 Azure Stack Hub 工作負載的連線:

A screenshot of a map Description automatically generated

這個架構的優點是所有 NVA 都處於作用中狀態,而且如果其中一個失敗,負載平衡器就會將網路流量導向其他 NVA。 兩個 NVA 都會將流量路由傳送到內部負載平衡器,因此只要有一個 NVA 處於作用中狀態,流量就會繼續流動。 需要這些 NVA 以終止適用於 Web 層 VM 的 SSL 流量。 您無法擴充這些 NVA 以處理企業網路流量,因為企業網路流量需要另一組具有個別網路路由的專用 NVA。

具第 7 層 NVA 的輸出

具有第 7 層 NVA 架構的連入可以擴充,以針對源自 Azure Stack Hub 工作負載的要求提供輸出周邊網路。 下列架構旨在能於周邊網路中為第 7 層的流量 (如 HTTP 或 HTTPS) 提供 NVA 的高可用性:

A screenshot of a cell phone Description automatically generated

在此架構中,源自 Azure Stack Hub 中的所有流量都會路由傳送到內部負載平衡器。 負載平衡器會在一組 NVA 之間散發連出要求。 這些 NVA 會使用個別的公用 IP 位址,將流量導向網際網路。

具第 7 層 NVA 的輸入-輸出

在這兩個輸入與輸出架構中,輸入與輸出有不同的周邊網路。 下列架構會示範如何建立可同時用於針對第 7 層流量 (例如 HTTP 或 HTTPS) 之輸入和輸出的周邊網路:

A screenshot of a social media post Description automatically generated

在具有第 7 層 NVA 架構的輸入輸出中,NVA 會處理來自第 7 層負載平衡器的連入要求。 NVA 也會處理來自負載平衡器後端集區中之工作負載 VM 的連出要求。 因為連入流量是使用第 7 層負載平衡器來路由傳送,而連出流量是透過 SLB (Azure Stack Hub 基本負載平衡器) 來路由傳送,因此 NVA 會負責維護工作階段同質。 亦即,第 7 層負載平衡器會維護傳入和傳出要求的對應,使它可以將正確的回應轉送到原始要求者。 不過,內部負載平衡器並無法存取第 7 層負載平衡器對應,而會使用自己的邏輯來將回應傳送到 NVA。 負載平衡器有可能會將回應傳送給從未接收到來自第 7 層負載平衡器之要求的 NVA。 在此情況下,NVA 必須彼此進行通訊並傳輸回應,使正確的 NVA 可以將回應轉送至第 7 層負載平衡器。

注意

您也可以透過確保 NVA 執行輸入來源網路位址轉譯 (SNAT),來解決非對稱的路由問題。 這會將要求者的原始來源 IP 取代為 NVA 用於輸入流量的其中一個 IP 位址。 如此可確保您能夠一次使用多個 NVA,同時保留路由對稱性。

後續步驟