部署 Azure Stack HCI 體驗 SDN 軟體定義網路 | 網管人 209 期



網管人雜誌

本文刊載於 網管人雜誌第 209 期 - 2023 年 6 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。





本文目錄






前言

在過去的環境中,管理人員要在地端資料中心內,部署 Microsoft HCI 超融合以及 SDN 軟體定義網路環境時,雖然有許多部署方式可供選擇,但是需要投入的 IT 人力和預算並不低,因此對於 IT 人力和預算原本就不足的中小企業或組織來說,想要體驗這部份的技術就顯得有點距離。

然而,現在透過 Azure 公有雲環境,中小企業或組織的管理人員,可以透過申請 Azure 免費訂閱帳號,或是花費極低的金額,便能夠快速體驗建構和部署微軟 HCI 超融合以及 SDN 軟體定義網路環境(如圖 1 所示)。

圖 1、SDN 軟體定義網路運作架構示意圖





新版 SDN 特色功能

SDN 網路控制器

在 SDN 軟體定義網路環境中,「網路控制器」(Network Controller)的重要性不言而喻,  無論是地端資料中心內,集中管理和組態設定網路及服務,例如,虛擬交換器、軟體路由器、負載平衡機制……等,都可以透過 SDN 網路控制器進行動態建立,以及保護傳統網路架構難以防禦的「東 - 西」(East-West)向網路惡意攻擊(如圖 2 所示)。

圖 2、網路控制器防禦東西向網路攻擊的資料中心防火牆機制運作示意圖

簡單來說,網路控制器具備高可用性和擴充性,並提供兩個 API 應用程式設計介面,首先是「South Bound API」提供網路控制站與網路設備進行通訊,而「North Bound API」則是讓管理人員能夠與網路控制站進行通訊。因此,管理人員可以透過 PowerShell 或 RESTful API,達到管理實體網路交換器、路由器、軟體式防火牆、VPN 閘道、軟體式負載平衡器……等(如圖 3 所示)。

圖 3、SDN 網路控制器運作架構示意圖



SDN 軟體式負載平衡

在過去的版本中,管理人員必須採用 PowerShell 指令碼,或是透過 SDN Express 的協助下,才能建構 SDN 軟體定義網路環境的主要運作元件。然而,從 2021 年 11 月份,最新的 WAC 版本釋出後,管理人員便可以輕鬆的透過 WAC 管理平台,在 HCI 超融合叢集運作環境中,部署 SDN 主要運作元件,包括,SDN 網路控制器、SDN 軟體式負載平衡、SDN 閘道。
請注意! 必須搭配 WAC 中最新的擴充模組 SDN Infrastructure v1.32.0 或後續版本才行。

那麼 SDN 軟體式負載平衡,具備哪些功能並且能夠為企業或組織帶來什麼好處呢 ?首先,它是適用於 第四層(Layer 4)的網路負載平衡服務,所以能夠處理南北向和東西向的 TCP/UDP 網路流量,並且在 VLAN 和 Hyper-V 虛擬網路環境中,支援「動態 IP 位址」(Dynamic IP address,DIP)

管理人員可以將前端的「虛擬 IP 位址」(Virtual IP address,VIP),透過 SDN 軟體負載平衡機制,組態設定與後端負載平衡集區成員的 VM 虛擬主機 DIP 進行綁定作業,如此一來當使用者需要存取服務時,便會由前端 VIP 接收後傳送給後端的 DIP 進行服務的承接任務(如圖 4 所示)。

圖 4、SDN 軟體式負載平衡 DIP 和 VIP 運作架構示意圖

此外,當後端的 DIP 負載平衡集區成員 VM 虛擬主機發生故障時,而前端的 VIP 服務能夠即時知悉,並避免將服務請求傳送給故障的主機,所以 SDN 軟體式負載平衡,也支援兩種不同的健康狀態偵測機制,分別是「TCP 連接埠偵測」以及「URL 和 HTTP 連接埠偵測」,確保後端 DIP 負載平衡集區成員 VM 虛擬主機的健康狀態(如圖 5 所示)。

圖 5、SDN 軟體式負載平衡運作架構示意圖

此外,在 SDN 軟體式負載平衡運作機制中,還支援「伺服器直接回傳」(Direct Server Return,DSR)機制。簡單來說,傳統的網路流量去回的路徑是同一條,也就是從前端 VIP 負載平衡機制,將請求流量導給後端 DIP 處理後,將回應請求的網路封包再回傳給 VIP 後再回給請求端。然而,這樣的運作架構,有可能最後的瓶頸會是卡在 VIP 負載平衡端點上。

而 DSR 伺服器直接回傳機制,在處理請求封包時,同樣是從前端 VIP 負載平衡給後端的 DIP 處理,然而當後端的 DIP 處理完畢後,便直接將回應請求的網路封包直接回傳給請求端,而不會由原本的路徑回到前端 VIP 再回給請求端,因此在回應請求上除了更快更有效率外,也能避免瓶頸卡在前端 VIP 端點上(如圖 6 所示)。

圖 6、DSR 伺服器直接回傳機制運作示意圖



輕鬆易用的微分段安全機制

在傳統網路架構中,防火牆是座落在保護南北向網路流量的位置(如圖 7 所示),但是傳統的網路架構並無法阻擋新型態的惡意攻擊,例如,東西向惡意攻擊網路流量。

圖 7、傳統網路架構防火牆僅能阻擋南北向網路的惡意攻擊行為

在 SDN 軟體定義網路環境中,則能輕易透過 Tag based 機制,實作出「微分段」(Micro-Segmentation)安全性機制,等於是在每台 VM 前方都有一台防火牆,能夠輕易阻擋傳統網路架構難以阻擋的東西向惡意攻擊網路流量,舉例來說,眾多 VM 虛擬主機在同一個網路環境,其中一台遭受惡意攻擊成功後,卻無法感染同一個網段中的其它台 VM 虛擬主機(如圖 8 所示)。

圖 8、微分段機制有效阻擋東西向惡意攻擊示意圖





實戰 – 部署 SDN 至 Azure Stack HCI 超融合環境

在實戰小節中,將會帶領管理人員,如何在沒有硬體設備的情況下,透過 Azure 公有雲環境體驗部署和建置 Azure Stack HCI 超融合,以及 SDN 軟體定義網路運作環境。

首先,將會在 Azure 公有雲環境中,部署一台支援巢狀式虛擬化技術的 VM 虛擬主機,該台 VM 虛擬主機採用最新 Windows Server 2022 雲端作業系統,在啟用 Hyper-V 巢狀式虛擬化技術  後,將會建立三台 VM 虛擬主機,第一台 VM 虛擬主機將安裝 Windows Server 2019 作業系統,並且擔任 Active Directory 網域控制站、DNS 名稱解析伺服器、DHCP 伺服器和 WAC(Windows Admin Center)管理平台,另外二台則是安裝 Azure Stack HCI 21H2 版本,建構和部署 Azure Stack HCI 超融合叢集,同時部署 SDN 軟體定義網路的基礎架構(如圖 9 所示)。

圖 9、Azure Stack HCI 超融合和 SDN 軟體定義網路運作架構示意圖



部署 Azure 巢狀式 VM 運作環境

首先,將在 Azure 公有雲環境中,部署一台支援巢狀式虛擬化技術的 VM 虛擬主機,預設將會採用 Standard_E16s_v4 規格的 VM 虛擬主機,配置的虛擬硬體為 16 vCPU 和 128 GB vMemory,支援最多掛載 32 顆資料硬碟。

因此,管理人員必須確認擁有實作的 Azure 訂閱帳號,是否支援部署此規格的 VM 虛擬主機。倘若,管理人員並沒有 Azure 訂閱帳號時,則可以註冊 Azure 免費訂閱帳號後,將免費訂閱帳號升級為「隨用隨付」(Pay-as-you-go),便能取得 USD 200 美金的額度,同時順利建立 Standard_E16s_v4 規格的 VM 虛擬主機,只要記得在實作完成後關閉和刪除相關雲端資源,便能夠在免費額度的情況下完整實作本文環境。

部署 Azure VM 頁面中,按下 Deploy to Azure 鈕,便會開啟新的頁面並轉導至 Azure Portal 介面,請管理人員依據需求調整下列項目(如圖 10 所示):
  • Subscription: 選擇建立此台 VM 虛擬主機的 Azure 訂閱帳號。
  • Resource Group: 選擇裝載此台 VM 虛擬主機和相關資源元件的「資源群組」(Resource Group),本文實作名稱為「RG-EastAsia-AzSHCI-Lab」。
  • Region: 選擇運作此台 VM 虛擬主機的 Azure 資料中心,本文實作選擇「東亞」(East Asia)資料中心。
  • Virtual Machine Name: 填入此台 VM 虛擬主機的電腦名稱,本文實作為「AzSHCIHost」。請注意,這裡的電腦名稱超過 15 個字元,或包含特殊符號的話將會導致部署失敗。
  • Virtual Machine Size: 選擇部署此台 VM 虛擬主機採用的規格,採用預設值 Standard_E16s_v4 即可。
  • Data Disk Size: 指定每個資料硬碟的大小,採用預設值 256GB 時,屆時系統將會採用 256GB x8 顆進行組合,也就是屆時 VM 虛擬主機將會看到 2TB 空間大小的儲存空間。
  • Admin Username: 指定預設登入 VM 虛擬主機的管理帳號,本文實作為 Weithenn。
  • Admin Password: 指定預設登入 VM 虛擬主機的管理密碼。請注意,這裡的管理密碼僅打一次,所以請務必注意不要打錯字造成稍後無法登入 VM 虛擬主機的情況。
  • Auto Shutdown Status: 系統預設啟動自動關機組態設定,但由於我們將會快速部署和測試後關閉,所以將自動關機組態設定停用,避免影響實作。
圖 10、在 Azure 公有雲環境中部署巢狀式 VM 虛擬主機

確認無誤後,按下「Review + create」鈕,系統將會檢查相關組態設定值是否正確,例如,採用的 Azure 訂閱帳號是否支援部署此規模 VM 虛擬主機、VM 虛擬主機的電腦名稱是否超過 15 個字元和包含特殊符號、選擇的 Azure 資料中心是否仍有資源提供部署……等。

系統檢查無誤後,將會出現「Validation Passed」的驗證通過訊息,請按下 Create 鈕便開始進行部署巢狀式 VM 虛擬主機的動作,在本文實作部署過程中,花費約「50 分鐘」便順利部署完成。

部署完成後,當管理人員嘗試透過下載的 RDP 遠端桌面連線設定檔連線時,將會發現無法連線至 VM 虛擬主機的情況。事實上,因為安全性的考量,所以系統預設網路安全性 NSG 的組態設定部份,已經先將 RDP(Port 3389)的連線規則進行阻擋,所以導致無法連線的情況。

只要在 Azure Portal 頁面中,進入 VM 虛擬主機選項,點選「Settings > Networking > Inbound port rules」,便能看到系統將 RDP Port 3389 的連線行為設定為「Deny」,只要選擇修改為「Allow」允許放行即可順利連線(如圖 11 所示)。

圖 11、將 NSG 預設阻擋 RDP Port 3389 的防火牆規則,調整為 Allow 允許放行即可



巢狀式 VM 虛擬主機基本組態設定

順利登入 Azure VM 虛擬主機後,檢查後可以發現採用的是最新 Windows Server 2022 Datacenter Azure Edition(21H2)版本,時區方面則是採用標準的 UTC 格林威治時間,請將時區調整為符合我們當地時區的「UTC + 08 :00 - Taipei」。

此外,查看後可以發現已經安裝和啟用 Hyper-V 虛擬化技術,以便稍後可以部署三台 VM 虛擬主機。開啟磁碟管理員,可以看到系統中擁有一個 2 TB 大小的磁碟區,並且使用「V :」磁碟機代號,這也是屆時存放 VM 虛擬主機和相關檔案的儲存空間(如圖 12 所示)。

圖 12、由 8 顆 256GB 資料硬碟組成的 2TB 儲存空間



部署 Azure Stack HCI 超融合環境

基本組態確認完成後查看桌面時,管理人員將會看到名稱為「New-AzSHCISandbox」的圖示,這便是稍後幫助管理人員,快速建構和自動化部署 Azure Stack HCI 超融合環境的指令碼。倘若,在桌面上未看到 New-AzSHCISandbox 圖示的話,那表示 DSC(Desired State Configuration)工作程序,仍在背景執行中尚未完成,請等待一段時間待 DSC 工作程序執行完畢後,桌面上便會自動出現 New-AzSHCISandbox 圖示。

事實上,管理人員可以在執行部署之前,進行微調客製化組態設定,以便建構和部署出客製化環境,舉例來說,預設情況下將會建立名稱為「contoso.com」的網域名稱,而管理密碼則是「Password01」的運作環境,以及稍後部署 SDN 軟體定義網路的相關網段資訊。

倘若,管理人員不想採用預設值而需要客製化環境時,請至切換至「C:\AzHCI_Sandbox\AzSHCISandbox-main」資料夾下,編輯「AzSHCISandbox-Config.psd1」檔案內容,便可以將 SDNAdminPassword 指定的管理密碼,由預設的「Password01」修改為管理人員習慣的管理密碼,將 SDNDomainFQDN 欄位值,由預設的「contoso.com」修改為客製化的網域名稱,例如「lab.weithenn.org」,而 DCName 欄位值由預設的「contosodc」,修改為客製化的主機名稱,例如「labdc」,其它欄位值也都可以則視管理人員需求調整即可。

組態設定檔客製化內容修改完畢後,為了確保稍後部署過程中,可以了解整理的部署項目和進度,請點選桌面上的 New-AzSHCISandbox 圖示,點選右鍵後選擇內容,將捷徑設定的 Target 欄位值修改為「PowerShell -NoExit C:\AzHCI_Sandbox\AzSHCISandbox-main\New-AzSHCISandbox.ps1」,後按下 OK 鈕,那麼稍後執行時 PowerShell 指令視窗,便不會消失轉為背景執行而是留在桌面上以便觀察,倘若部署過程中發生錯誤的話,才能方便管理人員進行除錯。

現在,管理人員可以點選二下桌面上的 New-AzSHCISandbox 圖示,開始執行部署作業,管理人員也可以開啟 Hyper-V 管理員,稍後便能看到系統自動化進行部署作業,並且依序建立三台 VM 虛擬主機,分別是名稱為 AzSMGMT 的 DC 網域控制站,以及二台 AzSHOST1 和 AzSHOST2 超融合節點主機(如圖 13 所示)。

圖 13、系統開始自動部署 Azure Stack HCI 超融合及 SDN 軟體定義網路運作環境

在本次實作環境中,自動化部署的工作任務花費「1 小時 52 分」順利部署完成,在 PowerShell 指令碼視窗中,可以看到「Successfully deployed the Azure Stack HCI Sandbox」訊息,以及工作任務執行時間(如圖 14 所示)。

圖 14、本次部署 Azure Stack HCI 超融合及 SDN 軟體定義網路花費時間



管理 Azure Stack HCI 超融合環境

當部署完成後,系統將會在桌面上建立另一個 RDP 遠端連線捷徑,名稱為「AdminCenter」,方便管理人員直接連線至 AzSMGMT 管理主機,倘若管理人員採用系統預設值的話,請鍵入「Contoso\Administrator」管理者帳號,以及「Password01」管理者密碼即可登入管理主機。

順利登入 AzSMGMT 管理主機後,可以看到桌面上已經有許多管理工具的捷徑,例如,DNS 管理員、容錯移轉叢集管理員、Hyper-V 管理員以及 WAC(Windows Admin Center)。請按二下桌面上的Windows Admin Center 捷徑,同樣的,倘若管理人員未採用客製化組態設定的話,請鍵入預設的「Contoso\Administrator」管理者帳號,以及「Password01」管理者密碼,登入 WAC 管理平台。

登入 WAC 管理平台後,預設情況下將會看到目前採用的 WAC 為最新的 v2211 版本,並且系統將開始自動更新相關擴充模組,全部更新完成後,系統會出現「Successfully updated your extensions」的提示訊息,表示所有擴充模組已經更新完畢,按下 OK 鈕後,將會重新載入 WAC 管理頁面。請點選右上角齒輪圖示,點選 Gateway 下的 Extensions 項目,查看 SDN 軟體定義網路相關擴充模組及版本(如圖 15 所示)。

圖 15、查看 SDN 軟體定義網路相關擴充模組及版本

回到 WAC 主要頁面,請依序點選「All connections > Cluster Manager > Add」項目,在 Add cluster 頁籤下的 Cluster name 欄位,請鍵入「AzStackCluster.contoso.com」預設 HCI 超融合叢集名稱,系統正確辨別叢集名稱後,便會自動勾選也要將 AzSHOST1 和 AzSHOST2,這二台 HCI 超融合叢集節點主機加入,確認後按下 Add 鈕即可。

順利納管 HCI 超融合叢集,可以看到 HCI 超融合叢集的各種工作負載資訊,例如,HCI 超融合叢集節點主機數量、儲存裝置數量、管理 vSwitch 虛擬網路交換器、HCI 超融合叢集的各項硬體資源使用資訊、IOPS 儲存效能、Latency 網路延遲時間、Throughput 傳輸速率……等(如圖 16 所示)。

圖 16、查看 HCI 超融合叢集系統資源儀表板



啟用 SDN 軟體定義網路基礎架構

目前,在 WAC 管理介面中,可以看到 Networking 項目下,只有 Virtual switches 和 SDN Infrastructure 項目,請點選 SDN Infrastructure 項目後,系統將會自動安裝 RSAT-NetworkController 伺服器功能管理工具,並確認已自動安裝 SDN 網路控制器的 REST 憑證,確認後系統將出現「SDN infrastructure was detected and validated」訊息,請按下 Continue 鈕。

此時,系統將會出現 Connect to Network Controller 視窗,請管理人員鍵入 SDN 網路控制器的主機名稱,採用預設值的管理人員可以鍵入「nc01.contoso.com」後,按下 Continue 鈕後,便會順利連結至 SDN 網路控制器,同時系統提示按下 F5 鈕重新載入 WAC 管理介面。

順利重新載入頁面後,可以看到 Networking 項目下,多了許多 SDN 軟體定義網路管理項目,包括,Load balancer、Logical networks、Gateway connections、Network security group……等(如圖 17 所示)。

圖 17、啟用和連結 SDN 網路控制器並查看 SDN Infrastructure 摘要資訊



查看 SDN 網路控制器

點選 Network Controller 項目,可以看到 SDN 網路控制器的運作資訊和執行狀態,例如,REST URL 資訊、SDN 網路控制器版本、SDN 網路控制器服務狀態……等(如圖 18 所示)。

圖 18、查詢 SDN 網路控制器的運作資訊和執行狀態



查看 SDN 軟體負載平衡

點選 Load Balancer 項目,可以看到系統預設已經指派「30.30.30.1」,為 SDN 軟體負載平衡的管理 IP 位址,以及 Outbound NAT IP 位址。同時,可以看到 HCI 超融合叢集的成員主機,AzSHOST1 和 AzSHOST2 都運作著負載平衡代理程式,和目前 Public IP Pool 和 Private IP Pool 的使用情況,以及 Mux 負載平衡機制主機的工作負載資訊(如圖 19 所示)。

倘若,管理人員希望新增其它的軟體負載平衡,請點選「Networking > Load balancers > Inventory > New」即可新增,若要新增其它軟體負載平衡的 Public IP 位址,請點選「Networking > Public IP addresses> Inventory > New」即可新增。

圖 19、查詢 SDN 軟體負載平衡運作資訊和執行狀態



查看 SDN 閘道

點選 Gateway 項目,可以看到 SDN 閘道的運作狀態和工作負載,在管理畫面中看到 gw01.contoso.com 主機,狀態為「Uninitialzed」警告訊息請不用擔心,請將畫面往下捲即可看到,SDN 閘道主機共有兩台並且互為備援的 Active/Standby 機制,所以目前 gw02.contoso.com 主機狀態為「Active」,所以 gw01.contoso.com 主機運作狀態為「Redundant」,而組態設定狀態為「Uninitialzed」(如圖 20 所示)。

圖 20、查詢 SDN 閘道運作資訊和執行狀態



部署 VM 虛擬主機並套用 SDN 規則

管理人員可以在 Networking 項目中,針對運作環境進行組態設定,例如,新增相關 Logical networks 和 subnet……等網路環境,後續在新增 VM 虛擬主機時,便能夠在部署階段中的 Network 項目,選擇套用 SDN 軟體定義網路的相關組態設定。

舉例來說,在本文實作環境中,建立名稱為「VM vNetwork」的邏輯網路,以及網段為「10.10.168.0/24」,此外還套用名稱為「NSG-WebApp」的網路安全群組原則,確保部署的這台 VM 虛擬主機受到微分段安全機制的保護,避免受到東西向網路惡意攻擊的威脅(如圖 21 所示)。

圖 21、部署 VM 虛擬主機並套用 SDN 軟體定義網路安全性保護原則





結語

透過本文的深入剖析和實作演練後,管理人員除了理解整合 SDN 軟體定義網路,至原有 HCI 超融合叢集中具備哪些優點之外,即便是 IT 預算不足的中小型企業或組織,在沒有任何硬體設備的情況下,也能透過免費的 Azure 訂閱或花費少許費用,便能立即體驗和實際操作 HCI 超融合叢集整合 SDN 軟體定義網路的運作環境。