Azure 上 SaaS 工作負載的網路功能
您的網路提供客戶如何存取 SaaS 應用程式的骨幹,並可讓您在解決方案的元件之間進行通訊。 設計網路的方式對解決方案的安全性、作業、成本、效能和可靠性有直接影響。 隨著雲端環境成長,網路策略的結構化方法會變得更加重要。
決定網路部署策略和拓撲
SaaS 解決方案具有獨特的網路需求。 當您將更多客戶上線且其使用量增加時,網路需求就會變更。 處理成長可能會因為有限的資源而面臨挑戰,例如IP位址範圍。 您的網路設計會影響安全性和客戶隔離。 規劃您的網路策略可協助管理成長、改善安全性,並減少作業複雜度。
設計考量
根據您的租用模型規劃您的網路部署策略。 決定您的網路資源是否會在客戶之間共用、專用於單一客戶或組合。 這個選項會影響應用程式的功能、安全性和客戶隔離。
在多個客戶之間共用網路資源很常見,例如虛擬網路和 Azure Front Door 配置檔。 這種方法可降低成本和作業額外負荷。 它也會簡化連線。 您可以輕鬆地將客戶的資源與共用資源連線,例如共用記憶體帳戶或控制平面。
不過,可能需要為每個客戶建立高安全性與合規性的專用網路資源。 例如,若要支援客戶之間高度的網路分割,您可以使用虛擬網路作為界限。 當所有客戶之間的網路資源數目超過單一共享網路的容量時,可能需要專用資源。
考慮立即和未來的需求,規劃每位客戶將需要的網路資源數目。 客戶需求和 Azure 資源限制可能會強制特定結果。 不同的資源可能需要不同的部署策略,例如使用個別的網路與客戶擁有的 Azure 虛擬網路進行虛擬網路對等互連。
如需在 SaaS 解決方案中共用資源的詳細資訊,請參閱 SaaS 工作負載的資源組織。
了解網路拓撲。 網路拓撲通常分為三種類別:
一般網路:具有子網進行分割的單一隔離網路。 當您有具有簡單網路配置的單一多租用戶應用程式時,適合使用。 一般網路可能會達到資源限制,而且當您調整時需要更多網路、增加額外負荷和成本。 如果您打算裝載多個應用程式,或使用相同虛擬網路內的專用部署戳記,您可能需要複雜的網路配置。
中樞和輪輻:具有對等互連至隔離輪輻網路的集中式中樞網路。 適用於高延展性和客戶隔離,因為每個客戶或應用程式都有自己的輪輻,只與中樞通訊。 您可以視需要快速部署更多輪輻,讓中樞內的資源可供所有輪輻使用。 默認會停用透過中樞的可轉移或輪輻對支點通訊,這有助於維護 SaaS 解決方案中的客戶隔離。
無網路:用於 Azure PaaS 服務,您可以在其中裝載複雜的工作負載,而不需要部署虛擬網路。 例如,Azure App 服務 允許透過 Azure 骨幹網路與其他 PaaS 服務直接整合。 雖然這種方法可簡化管理,但它可限制部署安全性控件的彈性,以及優化效能的能力。 這種方法適用於雲端原生應用程式。 隨著解決方案的發展,預期會隨著時間轉換至中樞和輪輻拓撲。
取捨:複雜度和安全性。 從沒有定義的網路界限開始,可以降低管理網路安全組、IP 位址空間和防火牆等網路元件的作業負擔。 不過,網路周邊對大部分工作負載而言都是不可或缺的。 在沒有網路安全性控制的情況下,依賴強式身分識別和存取管理來保護工作負載免於惡意流量。
瞭解多重區域架構如何影響網路拓撲。 在使用虛擬網路的多區域架構中,大部分的網路資源會分別部署在每個區域中,因為防火牆、虛擬網路網關和網路安全組無法在區域之間共用。
設計建議
建議 | 優點 |
---|---|
決定要共用哪些網路元件,以及哪些元件專用於客戶。 共用每個實例收費的資源,例如 Azure 防火牆、Azure Bastion 和 Azure Front Door。 |
體驗安全性與隔離需求之間的平衡支援,同時降低成本和作業負擔。 |
從一般拓撲開始,或沒有網路方法。 請務必先檢閱安全性需求,因為這些方法提供有限的隔離和流量控制。 |
您可以使用更簡單的網路拓撲來降低解決方案的複雜性和成本。 |
請考慮針對複雜需求,或針對每個客戶部署專用虛擬網路時使用中樞和輪輻拓撲。 使用中樞跨客戶網路裝載共享網路資源。 | 您可以透過中樞網路共享資源,更輕鬆地調整規模並提升成本效益。 |
設計安全的網路周邊
您的網路周邊會建立應用程式與其他網路之間的安全性界限,包括因特網。 藉由記錄您的網路周邊,您可以區分不同類型的流量:
- 從外部來源抵達網路的輸入流量。
- 內部流量,其會在網路內的元件之間。
- 離開網路的輸出流量。
每個流程都牽涉到不同的風險和控制。 例如,需要多個安全性控制,才能檢查和處理輸入流量。
重要
一般最佳做法是,一律遵循零信任方法。 請確定已控制並檢查所有流量,包括內部流量。
您的客戶也可能有影響架構的特定合規性需求。 例如,如果需要 SOC 2合規性 ,則必須實作各種網路控制,包括防火牆、Web 應用程式防火牆和網路安全組,以符合安全性需求。 即使您不需要立即遵守,在設計架構時,請考慮這些擴充性因素。
設計考量
保護和管理輸入流量。 檢查此流量是否有連入威脅。
防火牆可讓您封鎖惡意IP並完成進階分析,以防止入侵嘗試。 不過,防火牆的成本可能很高。 評估您的安全性需求,以判斷是否需要防火牆。
Web 應用程式容易受到常見的攻擊,例如 SQL 插入、跨網站腳本和其他 OWASP 前 10 個弱點。 Azure Web 應用程式防火牆 可防範這些攻擊,並與 應用程式閘道 和 Azure Front Door 整合。 檢閱這些服務的階層,以瞭解哪些 WAF 功能有哪些產品。
DDoS 攻擊是因特網面向應用程式的風險。 Azure 免費提供基本層級的保護。 Azure DDoS 保護 可藉由學習流量模式並據以調整保護,藉此提供進階保護,但代價如下。 如果您使用 Front Door,請利用內 建的 DDoS 功能。
除了安全性之外,您也可以使用快取和負載平衡來操作輸入流量,以改善應用程式的效能。
請考慮使用 Azure Front Door 之類的反向 Proxy 服務進行全域 HTTP(S) 流量管理。 或者,使用 應用程式閘道 或其他 Azure 服務進行輸入流量控制。 若要深入瞭解 Azure 中的負載平衡選項,請參閱 負載平衡選項。
保護內部流量。 確保應用程式與其元件之間的流量安全,以防止惡意存取。 使用內部流量而不是透過因特網路由,來保護這些資源並改善效能。 Azure Private Link 通常用來透過網路內部IP位址連線到 Azure 資源。 對於某些資源類型,服務端點可以是更具成本效益的替代方案。 如果您為資源啟用公用因特網連線,請瞭解如何使用IP位址和應用程式身分識別來限制流量,例如受控識別。
保護輸出流量。 在某些解決方案中,檢查輸出流量以防止數據外泄,特別是針對法規合規性和企業客戶。 使用防火牆來管理和檢閱輸出流量,封鎖未經授權位置的連線。
規劃如何調整輸出連線和 SNAT。 來源網路位址轉換 (SNAT) 埠耗盡可能會影響多租用戶應用程式。 這些應用程式通常需要每個租使用者不同的網路連線,且在客戶之間共用資源會增加隨著客戶群成長而耗盡 SNAT 的風險。 您可以使用 Azure NAT 閘道、例如 Azure 防火牆 等防火牆,或兩種方法的組合來緩解 SNAT 耗盡。
設計建議
建議 | 優點 |
---|---|
維護公開至因特網的網路端點目錄。 擷取IP位址(如果靜態)、主機名、埠、使用的通訊協定,以及連線理由等詳細數據。 記錄您打算如何保護每個端點。 |
此清單會形成周邊定義的基礎,讓您能夠明確決定透過解決方案管理流量。 |
瞭解 Azure 服務功能以限制存取並增強保護。 例如,向客戶公開記憶體帳戶端點需要額外的控制,例如共用存取簽章、記憶體帳戶防火牆,以及針對內部和外部使用個別的記憶體帳戶。 |
您可以選取符合安全性、成本和效能需求的控制件。 |
針對 HTTP(S) 型應用程式,請使用反向 Proxy,例如 Azure Front Door 或 應用程式閘道。 | 反向 Proxy 提供各種不同的功能,可改善效能、復原能力、安全性,以及降低作業複雜度。 |
使用 Web 應用程式防火牆檢查輸入流量。 避免將 Web 型資源,例如 App Service 或 Azure Kubernetes Service (AKS) 直接公開至因特網。 |
您可以更有效地保護您的 Web 應用程式免於常見的威脅,並降低解決方案的整體暴露程度。 |
保護您的應用程式免於遭受 DDoS 攻擊。 根據公用端點所使用的通訊協定,使用 Azure Front Door 或 Azure DDoS 保護。 |
保護您的解決方案免於常見的攻擊類型。 |
如果您的應用程式需要大規模輸出連線,請使用 NAT 閘道或防火牆來提供額外的 SNAT 埠。 | 您可以支援更高層級的縮放比例。 |
跨網路連線能力
在某些情況下,您可能需要連線到 Azure 外部的資源,例如客戶專用網內的數據,或多重雲端設定中不同雲端提供者上的資產。 這些需求可能會使網路設計複雜化,需要各種方法來根據您的特定需求實作跨網路連線。
設計考量
識別應用程式需要連線的端點。 應用程式可能需要與其他服務通訊,例如記憶體服務和資料庫。 記錄其擁有者、位置和連線類型。 然後,您可以選擇適當的方法來連線到這些端點。 常見的方法包括:
資源位置 擁有者 要考慮的連線選項 Azure 客戶 - 私人端點 (跨 Microsoft Entra ID 租使用者)
- 虛擬網路對等互連 (跨 Microsoft Entra ID 租使用者)
- 服務端點 (跨 Microsoft Entra ID 租使用者)
其他雲端提供者 ISV 或客戶 - 站對站 VPN
- ExpressRoute
- 網際網路
內部部署 ISV 或客戶 - 站對站 VPN
- ExpressRoute
- 網際網路
Private Link 和私人端點。 提供與各種 Azure 資源的安全連線,包括虛擬機的內部負載平衡器。 他們可為客戶啟用 SaaS 解決方案的私人存取權,不過它們隨附成本考慮。
取捨:安全性和成本。 私人鏈接可確保流量保留在專用網內,並建議跨 Microsoft Entra 租使用者進行網路連線。 不過,每個私人端點都會產生成本,根據您的安全性需求加起來。 服務端點可以是符合成本效益的替代方案,可將流量保留在Microsoft骨幹網路上,同時提供某種層級的私人連線。
服務端點。 透過Microsoft的骨幹網路將流量路由傳送至 PaaS 資源,以保護服務對服務通訊。 這些應用程式對於高頻寬應用程式來說可能符合成本效益,但需要設定和維護安全性的訪問控制清單。 跨 Microsoft Entra ID 租使用者的服務端點支援會因 Azure 服務而異。 檢查您所使用的每項服務的產品檔。
虛擬網路對等互連 會連線兩個虛擬網路,讓一個網路中的資源存取另一個虛擬網路中的IP位址。 它有助於連線到 Azure 虛擬網路中的私人資源。 您可以使用網路安全組來管理存取權,但強制執行隔離可能會很困難。 因此,請務必根據特定客戶需求規劃您的網路拓撲。
虛擬專用網 (VPN) 會在兩個網路之間透過因特網建立安全通道,包括跨雲端提供者和內部部署位置。 站對站 VPN 會在每個網路中使用網路設備進行設定。 它們提供低成本的連線選項,但需要設定,且不保證可預測的輸送量。
ExpressRoute 提供 Azure 與其他雲端提供者或內部部署網路之間的專用高效能私人連線。 其可確保可預測的效能並避免因特網流量,但成本較高,而且需要更複雜的設定。
根據目的地進行規劃。 您可能需要連線到不同Microsoft Entra ID 租使用者中的資源,特別是當目標資源位於客戶的 Azure 訂用帳戶中時。 請考慮使用私人端點、站對站 VPN 或對等互連虛擬網路。 如需詳細資訊,請參閱 不同Microsoft Entra ID 租使用者中的對等互連虛擬網路。
若要連線到另一個雲端提供者中裝載的資源,通常會使用公用因特網聯機、站對站 VPN 或 ExpressRoute。 如需詳細資訊,請參閱與其他雲端提供者建立連線。
了解連線對網路拓撲的影響。 Azure 虛擬網路只能有一個虛擬網路閘道,可透過站對站 VPN 或 ExpressRoute 連線到多個位置。 但是,透過閘道的連線數目有限制,而隔離客戶流量可能會很困難。 針對不同位置的多個連線,請據以規劃您的網路拓撲,可能是為每個客戶部署個別的虛擬網路。
瞭解IP位址規劃的含意。 某些連線方法會自動提供網路位址轉換 (NAT),避免發生重疊 IP 位址的問題。 不過,虛擬網路對等互連和 ExpressRoute 不會執行 NAT。 使用這些方法時,請仔細規劃您的網路資源和IP位址配置,以避免重疊的IP位址範圍,並確保未來的成長。 IP 位址規劃可能相當複雜,尤其是在連線到第三方時,例如客戶,因此請考慮與其IP範圍的潛在衝突。
瞭解網路輸出計費。 Azure 通常會在離開Microsoft網路或在 Azure 區域之間移動時,針對輸出網路流量計費。 設計多區域或多重雲端解決方案時,請務必瞭解成本影響。 架構選擇,例如使用 Azure Front Door 或 ExpressRoute,可能會影響您為網路流量計費的方式。
設計建議
建議 | 優點 |
---|---|
偏好使用專用網方法來跨網路連線,以設定安全性的優先順序。 只有在評估相關聯的安全性和效能影響之後,才考慮透過因特網路由。 |
私人流量會周遊安全的網路路徑,這有助於降低許多類型的安全性風險。 |
連線到裝載在其 Azure 環境中的客戶資源時,請使用 Private Link、服務端點或虛擬網路對等互連。 | 您可以保留Microsoft網路上的流量,相較於其他方法,這有助於降低成本和作業複雜度。 |
跨雲端提供者或內部部署網路連線時,請使用站對站 VPN 或 ExpressRoute。 | 這些技術提供提供者之間的安全連線。 |
部署到客戶所擁有的環境
您的商務模型可能需要您在客戶的 Azure 環境中裝載應用程式或其元件。 客戶會管理自己的 Azure 訂用帳戶,並直接支付執行應用程式所需的資源成本。 身為解決方案提供者,您必須負責管理解決方案,例如初始部署、套用設定,以及將更新部署至應用程式。
在這種情況下,客戶通常會攜帶自己的網路,並將您的應用程式部署到他們定義的網路空間。 Azure 受控應用程式提供協助此程式的功能。 如需詳細資訊,請參閱 搭配 Azure 受控應用程式使用現有的虛擬網路。
設計考量
IP 位址範圍和衝突。 當客戶部署和管理虛擬網路時,他們會負責處理網路衝突和調整。 不過,您應該預期不同的客戶使用案例。 規劃在具有最少IP位址空間的環境中部署,方法是有效率地使用IP位址,並避免硬式編碼IP位址範圍,以避免與客戶範圍重疊。
或者,為您的解決方案部署專用虛擬網路。 您可以使用 Private Link 或虛擬網路對等互連,讓客戶連線到資源。 這些方法會在跨網路連線中說明。 如果您已定義輸入和輸出點,請評估 NAT 作為消除 IP 位址重疊所造成的問題的方法。
提供網路存取以供管理之用。 檢閱您部署到客戶環境的資源,並規劃如何存取它們以監視、管理或重新設定它們。 將具有私人IP位址的資源部署到客戶擁有的環境時,請確定您有網路路徑可從您自己的網路連線。 請考慮如何促進應用程式和資源變更,例如推送新版本的應用程式或更新 Azure 資源組態。
在某些解決方案中,您可以使用 Azure 受控應用程式所提供的功能,例如對應用程式的 Just-In-Time 存取和部署更新。 如果您需要更多控制,您可以在客戶網路內裝載控制平面可以連線的端點,以提供資源的存取權。 此方法需要額外的 Azure 資源和開發,才能符合安全性、作業和效能需求。 如需如何實作此方法的範例,請參閱 Azure 受控應用程式更新範例。
設計建議
建議 | 優點 |
---|---|
使用 Azure 受控應用程式來部署和管理客戶部署的資源。 | Azure 受控應用程式提供一系列功能,可讓您在客戶的 Azure 訂用帳戶內部署和管理資源。 |
將您在客戶虛擬網路空間內取用的IP位址數目降到最低。 | 客戶通常會限制IP位址可用性。 藉由將使用量降到最低,並將調整與其IP位址使用量分離,您可以擴大使用解決方案的客戶數目,並啟用更高的成長層級。 |
規劃如何取得網路存取權來管理客戶環境中的資源,並考慮監視、資源設定變更,以及應用程式更新。 | 您可以直接設定您管理的資源。 |
決定是否要部署專用虛擬網路,或與客戶現有的虛擬網路整合。 | 您可以事先規劃,以確保您可以符合客戶隔離、安全性和與其他系統整合的需求。 |
根據預設,停用 Azure 資源的公用存取。 盡可能偏好私用輸入。 | 您將減少您和您的客戶需要保護的網路資源範圍。 |
其他資源
多租用戶是設計 SaaS 工作負載的核心商務方法。 這些文章提供與網路設計相關的詳細資訊:
後續步驟
瞭解 Azure 上 SaaS 工作負載數據完整性和效能的數據平台考慮。