Azure Well-Architected Framework 對 Azure 虛擬網路的框架觀點
Azure 虛擬網路是在 Azure 上建立專用網的基本建置組塊。 您可以使用它來啟用 Azure 資源之間的通訊,並提供因特網連線能力。 虛擬網路也會與內部部署系統整合。 其中包含內建篩選功能,以確保只有預期、允許和安全流量到達網路界限內的元件。
本文假設身為架構設計人員,您已熟悉 Azure 上的網路建構。 本指南專注於架構建議,這些建議映射至 Well-Architected 架構要素柱的原則。
重要
如何使用本指南
每個區段都有一個 設計檢查清單,其中會呈現關注的架構區域,以及針對技術範疇而調整的設計策略。
此外,也包含可協助具體化這些策略的技術功能建議。 建議並不代表虛擬網路及其相依性可用之所有組態的完整清單。 相反地,他們列出與設計觀點相對應的主要建議。 使用建議來建置概念證明,或將現有的環境優化。
示範主要建議的基礎架構:Azure 中的中樞輪輻網路拓撲。
技術範圍
此檢閱著重於下列 Azure 資源的相關決策:
- 虛擬網路及其子網
- 網路配接器 (NIC)
- 私人終端節點
- 網路安全組 (NSG)
- IP 位址和IP位址配置
- 路由表
- 網路管理員
還有其他與虛擬網路相關聯的服務,例如負載平衡器。 這些服務涵蓋在其各自的指南中。
可靠性
可靠性支柱的目的是藉由 建置足夠的復原能力,以及從失敗快速復原的能力,來提供持續的功能。
可靠性設計原則 提供適用於個別元件、系統流程和整個系統的高階設計策略。
設計檢查清單
請根據 設計檢閱檢查清單中的可靠性,開始您的設計策略。 在記住虛擬網路及其相依性的功能的同時,判斷其與業務需求的相關性。 擴充策略,以視需要包含更多方法。
設定可靠性目標。 虛擬網路及其大部分的子服務沒有Microsoft支援的服務等級協定 (SLA) 保證。 不過,負載平衡器、NIC 和公用IP位址等特定服務確實具有SLA。 您應該充分瞭解 Azure 所發佈百分位數周圍的涵蓋範圍。 請記住,您的中央IT服務組織通常會擁有虛擬網路和中央服務。 請確定您的目標計算包含此相依性。
減低失敗風險點。 進行失敗模式分析,並識別網路連線中的單一失敗點。
下列範例顯示網路連線中的單一失敗點:
失敗 緩解 單一可用性區域中的公用IP位址失敗。 跨區域部署IP位址資源,或使用次要IP位址搭配負載平衡器。 單一區域中的網路虛擬設備 (NVA) 失敗。 在另一個區域部署次要 NVA,並使用負載均衡器將流量導向 NVA。 分散於區域或區域的工作負載延遲,這會降低輸送量並造成逾時。 將資源集中在一個區域或地區。 重新設計架構以使用可靠性模式,例如搭配負載平衡器的部署戳記,讓每個戳記都可以處理負載,並與附近的資源一起運作。 單一區域的工作負載故障,配有冷備援站點。 在故障轉移區域中預先設定網路設定。 此方法可確保沒有IP位址重疊。 虛擬網路中的單一區域應用程式失敗,使用冷故障轉移網站透過 Azure Private Link 與資料庫通訊。 複製在次要區域和對等虛擬網路中的連線以進行通訊。 過度布建 IP 位址空間。 為了協助確保可靠的調整,常見的策略是過度布建容量以防止IP位址耗盡。 不過,這種方法在可靠性和作業效率之間有取捨。 子網應該只使用虛擬網路位址空間的一部分。 目標應該是在虛擬網路和子網中只有足夠的額外地址空間,以平衡可靠性與作業效率。
請注意網路限制。 Azure 會對您可以部署的資源數目施加限制。 雖然大部分的 Azure 網路限制都設定為最大值,但您可以增加一些限制。 如需詳細資訊,請參閱 Azure Resource Manager 網路限制。
建立著重於使用者流程的網路圖表。 這些圖表可協助您可視化網路分割、識別潛在的失敗點,以及找出因特網輸入和輸出點等關鍵轉換。 它們也是稽核和事件回應的重要工具。
強調使用者與工作負載資源之間的高優先順序流量。 例如,如果您針對企業網路流程設定 Azure ExpressRoute 的優先順序,或在周邊網路設計中保護使用者要求,您可以深入瞭解防火牆和其他服務的容量規劃。
新增備援。 如有需要,請考慮跨多個區域部署 NAT 閘道和虛擬網路。 請確定公用IP位址和其他可用性區域感知服務已啟用區域備援,並讓防火牆區域備援等共用資源。
如需詳細資訊,請參閱 虛擬網路商務持續性。
避免複雜度。 請密切關注虛擬網路、子網、IP 位址、路由、應用程式安全組(ASG)和標籤。 簡單設定可降低設定錯誤和錯誤的可能性。 設定錯誤和錯誤會導致可靠性問題,並增加作業和維護成本。 簡化的一些範例包括:
- 盡可能使用私人 DNS,並將 DNS 區域數目降至最低。
- 簡化路由設定。 如果防火牆用於架構中,請考慮透過防火牆路由所有流量。
測試網路的復原能力。 使用 Azure Chaos Studio 模擬網路連線中斷。 此方法可確保您的工作負載維持備援狀態,並協助您評估潛在失敗的影響。
監視網路流量的可靠性影響。 流量監視是可靠性的重要作業。 例如,您想要識別網路中的大量通訊器,以判斷它們是否可能造成中斷。 Azure 提供流量記錄功能。 如需詳細資訊,請參閱 Operational Excellence。
建議
建議 | 效益 |
---|---|
根據您的調整策略調整虛擬網路和子網大小。 選擇較少且較大的虛擬網路,以因應備援作為失敗的風險降低策略。 請確保您需要通信的虛擬網路之間沒有重疊的位址空間,並且事先規劃好位址空間。 如需詳細資訊,請參閱 建立、變更或刪除虛擬網路。 |
透過過度布建,您可以確保網路可有效率地調整,而不會發生位址空間限制。 事先規劃位址空間,以協助防止衝突,並確保順暢且可調整的網路架構。 |
使用 標準 IP SKU,透過可用性區域獲得更佳的可靠性支援。 根據預設,除非限制為一個區域,否則公用IP位址會部署到多個區域。 | 此 SKU 可協助確保公用 IP 位址內的通訊在區域性失敗期間仍可運作。 |
安全
安全性要素的目的是為工作負載提供 機密性、完整性和可用性 保證。
安全性設計原則 藉由將方法套用至虛擬網路的技術設計,為達成這些目標提供高階的設計策略。
設計檢查清單
根據 設計檢閱檢查清單開始您的設計策略,識別安全性 的弱點和控制措施,以改善安全性狀態。 擴充策略,以視需要包含更多方法。
讓您的網路周邊保持在最新狀態,。 安全性設定,例如 NSG、ASG 和 IP 位址範圍必須定期更新。 過時的規則可能不符合目前的網路架構或流量模式。 此安全性差距可藉由降低輸入和輸出流量的限制,讓您的網路暴露在潛在的攻擊中。
使用分割來增強安全性。 在子網層級使用 NSG 作為 L4 防火牆。 使用使用者定義的路由來監視和管理,透過網路虛擬設備,例如防火牆,路由傳送所有外部流量。 使用完整功能變數名稱 (FQDN) 來篩選因特網存取。
確保平台即服務與私人端點的連線安全,並阻止向外連線。
套用最低許可權原則。 為網路相關角色配置基於角色的存取控制(RBAC),以無存取思維為原則。 請確定使用者只能依照其作業函式的要求修改設定。
限制公用IP位址。 使用 Azure Front Door 等服務的共用公用 IP 位址,以取得更佳的安全性和初始要求檢查。 管理專用的公用IP位址需要您監督其安全性,包括埠管理和要求驗證。 可能的話,請使用私人連線。
建議
建議 | 益處 |
---|---|
使用虛擬網路加密。 | 藉由強制執行加密流量,您可以在相同虛擬網路內的 Azure 虛擬機與 Azure 虛擬機擴展集之間保護傳輸中的數據。 它也會加密區域與全域對等互連虛擬網路之間的流量。 |
在 Azure 虛擬網路管理員中啟用虛擬網路驗證器。 在生產階段前環境中使用這項功能來測試資源之間的連線能力。 不建議在生產環境中使用此功能。 |
請確定網路內的 Azure 資源可連線,且不受原則封鎖。 |
為虛擬網路啟用 Azure DDoS 保護。 或者,您可以透過 Azure DDoS IP Protection來保護個別公用 IP 位址。 檢閱 DDoS IP Protection 和 DDoS 網路保護中所提供的安全性功能,然後選擇一個符合您需求的功能。 例如,當發生攻擊時,DDoS 網路保護層會提供快速回應小組的支援。 DDoS IP 保護層不提供此支援。 |
您可以防範分散式阻斷服務攻擊。 |
使用 NSG來保護虛擬網路內的區段。 可能的話,請使用 ASG 來定義規則。 |
輸入和離開網路的流量可以根據IP位址和埠範圍進行篩選。 ASG 藉由抽象化基礎IP位址範圍來簡化管理。 |
使用 私人端點,透過虛擬網路內的私人IP位址存取 Azure 服務。 實作專用網的另一種方法是透過 服務端點。 這些端點會透過 Azure 網路骨幹將流量路由傳送至服務。 如果服務可用,請選擇私有端點而不是服務端點。 |
私人端點會移除公用IP位址的需求,以減少受攻擊面。 |
成本優化
成本優化著重於 偵測支出模式、將投資放在重要領域,並將其他 優化,以符合組織的預算,同時符合商務需求。
成本優化設計原則 提供高階設計策略,以達成這些目標,並在與網路環境相關的技術設計中在必要時進行取捨。
設計檢查清單
根據投資成本優化 設計檢閱檢查清單,開始您的設計策略。 微調設計,讓工作負載符合為工作負載配置的預算。 您的設計應該使用正確的 Azure 功能、監視投資,以及尋找經過一段時間優化的機會。
優化端點之間的大量數據傳輸。 使用虛擬網路對等連接,在虛擬網路之間有效率地移動數據。 雖然對等互連具有輸入和輸出成本,但這種方法可能符合成本效益,因為它可降低頻寬耗用量和網路效能問題。 避免透過中樞進行路由,以將效率低下和成本降到最低。
若要優化區域之間的數據傳輸,請務必考慮傳輸的頻率和方法。 例如,當您處理備份時,儲存備份的位置可能會大幅影響成本。 將備份數據儲存在不同的區域中會產生頻寬。 若要降低這些成本,請先確定數據會在跨區域傳輸之前壓縮。 您可以藉由調整數據傳輸的頻率,進一步優化成本和效率。
將網路元件納入您的成本模型。 當您建立或調整預算時,請考慮隱藏成本。 例如,在多區域架構中,在區域之間傳輸數據會花費額外的成本。
Azure 成本報告可能不會包含與非Microsoft NVA 相關聯的費用,這些費用具有個別的授權成本。 針對固定價格和以使用量為基礎的選項,它們也可能有不同的計費模式。 請務必在預算考慮中包含這些因素。
某些網路資源可能很昂貴,例如 Azure 防火牆和 ExpressRoute。 您可以在集中式中樞模型中布建這些資源,並針對產生的成本將費用配置給小組。 在您的成本模型中納入該費用。
不為未使用的功能付費。 定期檢閱元件成本,並移除舊版功能或預設組態。 限制公用IP位址的數目,以節省成本。 這種方法也會藉由減少受攻擊面來增強安全性。
優化私人端點。 判斷您是否可以重複使用其他虛擬網路中資源的私人連結。 當您在跨區域虛擬網路對等互連中使用私人端點時,您不會被收取來往私人端點的流量對等互連費用。 您只需支付私人連結存取本身的費用,而不是針對虛擬網路之間的流量付費。 如需詳細資訊,請參閱中樞和輪輻網路中的 私有連結。
將網路流量檢查功能與流程的優先順序和安全性需求一致。 針對大型頻寬需求,請考慮將流量路由傳送至成本較低的路徑。 ExpressRoute 適用於大型流量,但成本可能很高。 請考慮使用公用端點之類的替代方案,以節省成本。 不過,安全性有其妥協之處。 使用網路對等互連來進行網路間的流量,以繞過防火牆,並避免不必要的檢查。
只允許元件之間的必要流量,並封鎖非預期的流量。 如果流量預期且流程符合您的安全性需求,您可以省略這些檢查點。 例如,如果遠端資源位於信任界限內,請評估是否需要透過防火牆路由傳送流量。
評估子網數目及其相關聯的 NSG,即使在虛擬網路內也是如此。 您擁有的 NSG 越多,管理規則集的營運成本就越高。 盡可能使用 ASG 來簡化管理和降低成本。
優化程序代碼成本。 當您開發應用程式時,請選擇更有效率的通訊協定,並套用數據壓縮以將效能優化。 例如,您可以藉由設定元件來壓縮數據,以提升 Web 應用程式中的效率。 這些優化也會影響效能。
利用集中式虛擬網路中的資源。 使用集中式資源來減少重複和額外負荷。 此外,將責任卸除給現有的小組可以進一步協助將成本優化,並允許委派特定功能的專業知識。
建議
建議 | 好處 |
---|---|
使用虛擬網路對等互連,藉由略過控件,讓網路流程更有效率。 避免過度凝視。 |
在對等互連的虛擬網路之間直接傳輸數據,以略過防火牆,以減少頻寬耗用量和網路效能問題。 避免將所有資源放在單一虛擬網路中。 您可能會產生對等互連的成本,但僅僅為了節省成本而將所有資源放入單一虛擬網路中並不切實際。 它可以阻礙增長。 虛擬網路最終會達到新資源無法容納的程度。 |
如果您不需要公用IP位址資源, 請將其最小化。 刪除之前,請確定IP位址未與任何IP位址組態或虛擬機網路介面連結。 |
不必要的公用IP可能會因為資源費用和作業額外負荷而增加成本。 |
卓越營運
營運卓越主要著重於 開發實務、可觀察性和發佈管理。
營運卓越設計原則 提供高階設計策略,以達成工作負載作業需求的目標。
設計檢查清單
根據營運卓越 的 設計審查檢查清單,開始制定您的設計策略,以定義與您的網路環境相關的可觀察性、測試和部署流程。
瞭解新的 Azure 網路建構。 當您上線至 Azure 時,網路小組通常會假設其現有的知識已足夠。 不過,Azure 有許多不同層面。 請確定小組瞭解基本的 Azure 網路概念、DNS 複雜度、路由和安全性功能。 建置網路服務的分類法,讓小組可以分享知識並取得共同瞭解。
正式化您的網路設計,並努力簡化。 記錄設計和任何變更,包括路由表、NSG 和防火牆規則等設定詳細數據。 包含已經實施的管理政策,例如封鎖埠。 清晰的文件可以使與其他團隊和利益關係人之間的合作更加有效。
簡化的網路更容易監視、疑難解答和維護。 例如,如果您有中樞和輪輻拓撲,請將輪輻之間的直接對等互連降至最低,以減少作業負擔並強化安全性。 請一律記錄設計,並提供每個設計決策的理由。
使用別名而不是直接IP位址範圍來降低複雜性。 此方法可降低作業負擔。
使用將網路流量優化的設計模式。 若要優化網路使用和設定,請實作已知設計模式,以將網路流量降到最低或優化。 使用安全性掃描器在組建期間驗證網路設定,以確保一切都已正確設定。
執行一致的網路部署。 針對所有元件使用基礎建設即程式碼 (IaC),包括網路對等連線和私人端點。 瞭解核心網路元件可能會比其他元件變更頻率較低。 為您的堆疊實作分層部署方法,讓您可以獨立部署每一層。 避免將 IaC 與腳本結合,以避免複雜度。
監視網路協定堆疊。 持續監視流量模式,以找出異常和問題,例如連線中斷,以防止它們導致連鎖故障。 可能的話,請設定警示以取得這些中斷的通知。
與此架構中的其他元件類似,從各種網路元件擷取所有相關的計量和記錄,例如虛擬網路、子網、NSG、防火牆和負載平衡器。 在儀錶板中匯總、可視化和分析它們。 建立重要事件的警示。
在您的失敗風險降低策略中包含網路功能,。 虛擬網路和子網一開始會部署,且通常會維持不變,這會使復原變得困難。 不過,您可以遵循下列幾個策略來優化復原:
預先複製網路基礎結構,特別是針對混合式設定。 請確定不同區域中的各個通路事先準備好互相通信。 跨主要和災害復原 (DR) 網站複寫和維護一致的 NSG 和 Azure 防火牆規則。 此程式可能很耗時,而且需要核准,但事先執行此程式有助於防止問題和失敗。 請確定您在DR站台中測試網路堆疊。
避免生產與 DR 網路之間的重疊 IP 位址範圍。 藉由維護不同的IP位址範圍,您可以簡化網路管理,並在故障轉移事件期間加速轉換。
請考慮成本和可靠性之間的取捨。 如需詳細資訊,請參閱 取捨。
將網路作業委派至中央團隊。 盡可能集中管理及治理網路基礎結構。 例如,在中樞輪輻拓撲中,像 Azure 防火牆、ExpressRoute 和 DNS 這類用於共用的服務會被放置在中樞網路中。 該網路堆疊應該集中管理,這會減輕工作負載小組的負擔。
將虛擬網路的管理委派給中央團隊,即使是在輪輻網路中也是如此。 將網路作業降到與工作負載相關的作業,例如 NSG 的管理。
請持續告知中央小組任何可能影響共用資源配置的工作負載變更。 別名會抽象化基礎IP位址,以簡化作業。
虛擬網路和子網許可權化。 選擇較少、較大的虛擬網路以減少管理額外負荷,並避免讓子網過大。 子網及其 NSG 的管理可能會增加作業負擔。 對於具有有限私人IP位址 (RFC 1918) 可用性的環境,請考慮使用IPv6。
建議 | 效益 |
---|---|
部署 虛擬網路管理員。 | 虛擬網路管理員會根據規則集中管理連線,而不是個別設定每個虛擬網路。 這種方法可簡化網路作業。 |
使用網路監視工具。 定期使用 虛擬網路流量記錄 和 流量分析 來識別需求和模式的變化。 使用 連線監視功能 來分析和識別連線中斷等問題,以防止影響應用程式。 |
您可以了解數據如何流經網路、識別瓶頸,以及識別異常或未經授權的存取嘗試。 |
當您定義路由時,請使用 服務標籤,而不是特定的IP位址。 同樣地,當您定義 NSG 的流量規則時,請使用 ASG。 |
這種方法可確保可靠性,因為IP位址可以變更,但不需要設定。 此外,它也有助於克服您可以使用更多泛型名稱設定的路由或規則數目限制。 |
效能效率
效能效率與 維護用戶體驗有關,即使藉由管理容量來增加負載 也一定。 此策略包括調整資源、識別和優化潛在的瓶頸,以及優化尖峰效能。
效能效率設計原則 提供針對預期使用量達成這些容量目標的高階設計策略。
設計檢查清單
根據效能效率 設計檢閱檢查清單來開始設計策略,以根據關鍵效能指標來定義基準。
定義效能目標。 若要定義效能目標,請依賴監視計量,特別是延遲和頻寬。 使用連線監視數據,例如延遲和躍點數目,來設定可接受效能的目標和閾值。 Application Insights 提供工作負載要求在網路中花費的時間詳細檢視,這有助於精簡這些目標。
調整你的子網大小。 當您配置子網時,請務必平衡大小和延展性。 您希望子網夠大,以容納預計的成長,而不會造成作業負擔。
為了有效管理容量,常見的策略是因為不確定性而過度布建容量,但目標應該是隨著時間優化。 持續分析數據,讓您的網路可以處理負載,但您不需要為未使用的資源支付額外的費用。
執行效能測試。 使用綜合和生產數據的組合來測試延遲和頻寬。 此方法可協助評估這些因素如何影響工作負載效能。 例如,它可以偵測造成嘈雜鄰近問題的資源,並耗用比預期更多的頻寬。 此外,它會識別產生多個躍點並造成高延遲的流量。
建議您在生產環境中進行測試,或擷取並重新執行生產數據作為測試數據。 此方法可確保測試反映實際使用量,以協助您設定實際的效能目標。
監視跨區域的流量. 請務必考慮工作負載資源可能位於不同的區域。 跨區域的通訊可能會增加顯著的延遲。 相同區域中可用性區域之間的流量有低延遲,但對於某些特製化工作負載而言,其速度可能不夠快。
建議
建議 | 好處 |
---|---|
啟用 Azure 網路監看員的連線監控器。 在測試期間使用連線監控器,以產生模擬流量。 |
您可以收集指出跨網路遺失和延遲的計量。 此外,您可以追蹤整個流量路徑,這對於偵測網路瓶頸很重要。 |
讓虛擬網路位址空間夠大,以支持調整。 | 您可以因應預期的成長,同時不會增加營運負擔。 |
取捨
如果您使用支柱檢查清單中的方法,可能需要為設計做出一些取捨。 下列範例會醒目提示優點和缺點。
備援網路堆疊
當您選擇實作冗餘網路堆疊,包括其 NSG、路由和其他配置時,基礎設施和徹底測試的成本會增加。
這項前期投資可提升可靠性。 您可以確定一切如預期般運作,並在中斷期間加速復原。
虛擬網路對等連接
直接虛擬網路連結可藉由降低延遲來增強效能,因為它可避免必須將流量透過中樞路由傳送至防火牆,由防火牆進行流量的解密、檢查和重新加密。
這種效能提升是以降低安全性為代價的。 如果沒有中樞路由提供的防火牆檢查,工作負載就更容易遭受潛在威脅。
大型子網
大型子網提供充足的位址空間,可讓工作量無縫地擴展。 大型地址空間可以防範非預期的需求尖峰。 不過,這可能會導致IP位址的使用效率不佳。 隨著時間推移,這種低效率可能會隨著工作負載的演變而導致IP位址耗盡。 此外,此策略也伴隨著更高的營運成本。 從卓越營運的觀點來看,盡可能縮小子網是理想的做法。
Azure 原則
Azure 提供一組與虛擬網路及其相依性相關的大量內建原則。 定義並指派原則,以協助確保資源符合組織標準。 建立 Azure 原則合規性儀錶板,以識別不符合規範的資源並採取更正動作。
一組 Azure 原則可以稽核上述一些建議。 例如,您可以設定一些政策以自動化:
- 防範虛擬網路免受淹沒式攻擊和通訊協議攻擊的侵害。
- 拒絕建立具有公用IP位址的網路介面。
- 將網路監看員部署至虛擬網路。
- 啟用流量分析和流量記錄,以監視流量模式。
如需全面治理,請檢閱 Azure 原則內建定義,以及其他可能會影響網路層安全性的原則。
Azure Advisor 建議
Azure Advisor 是個人化雲端顧問,可協助您遵循最佳做法來優化 Azure 部署。 以下是一些建議,可協助您改善虛擬網路的可靠性、安全性、成本效益、效能和營運卓越性。
後續步驟
下列文章示範本文所討論的建議。
針對中樞輪輻拓撲,請使用 中樞輪輻網路拓撲參考架構 來設定初始戳記。
使用下列產品檔來增強您的實作專業知識: