網管人雜誌
本文刊載於 網管人雜誌第 143 期 - 2017 年 12 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。文章目錄
前言Azure Pack vs Azure Stack
Azure Stack 管理 Azure Pack
實戰 Azure Pack on Windows Server 2016
Windows Azure Pack 佈署架構
佈署 Azure Pack 運作架構
結語
前言
在雲端運算、AI 人工智慧、ML 機器學習……等議題的推波助瀾之下,不管是傳統產業或科技產業的各種產業類別,每家企業或組織當中的商務流程或多或少都會使用到雲端服務業者建立的服務,或者由企業或組織的 IT 團隊在內部資料中心自建私有雲環境。從 RightScale 最新的雲端運算發展趨勢調查結果顯示,在公有雲(Public Cloud)的部分已經從 2015 年 88 % 上升至 2017 年的 89 %,至於私有雲的部分則是從 2015 年 63 % 上升至 2017 年的 72 %。此外,隨著公有雲及私有雲技術不斷成熟且比例逐漸上升的情況下,連帶也讓企業及組織導入混合雲(Hybrid Cloud)的比例,由 2015 年 58 % 上升至 2017 年的 67 %,最終企業或組織採用雲端運算技術的比例也從 2015 年的 93 % 上升至 2017 年的 95 %(如圖 1 所示)。
圖 1、2017 年企業及組織採用雲端運算技術比例
首先,在「公有雲」的部分,Microsoft Azure 公有雲的入口網站在 2015 年 12 月之前,一直以來都是採用 ASM(Azure Service Management)的管理模式(如圖 2 所示),並且是以「服務」為單位進行分類及運作。
目前,企業及組織仍然可以瀏覽 https://manage.windowsazure.com 網址,結合 Azure 訂閱帳戶登入 Azure ASM Portal 公有雲環境進行管理及佈署,然而除非是新版 ARM Portal 無法提供的服務,否則並不建議仍採用舊有的 ARM Portal 進行管理作業。
圖 2、舊有 Azure 入口網站,採用 ASM(Azure Service Management)管理模式
在「私有雲」的部分,倘若企業及組織希望在內部資料中心內,建立類似 Microsoft Azure 雲端運作基礎架構及環境的話,那麼也可以透過 WAP(Windows Azure Pack),結合 Windows Server 2012 R2 Hyper-V + System Center 2012 R2 自行打造私有雲環境(如圖 3 所示)。
此外,當企業在內部資料中心透過 WAP 整合 Hyper-V 及 System Center,建構內部私有雲環境中也可以整合相關機制,達到建構「混合雲」運作環境的目的,舉例來說,可以在 WAP 中建構 ADFS 同盟服務與 Azure AD 協同運作,達成混合雲運作環境中使用者身分驗證的目的。
圖 3、企業及組織透過 Windows Azure Pack 建立私有雲運作架構
2015 年 12 月之後,在「公有雲」的部分微軟推出新版入口網站並採用 ARM(Azure Resource Manager)管理模式,只要於 Azure ARM Portal 入口網站中(如圖 4 所示),使用 Azure 訂閱帳戶即可登入,並且逐步提供將舊有 Azure ASM 公有雲環境遷移至 ARM 環境的方式。同時,Azure 後續推出的新版雲端服務,也大部分僅在 Azure ARM Portal 入口網站中,才能夠進行佈署及管理作業。
目前,企業及組織只要瀏覽 https://portal.azure.com 網址,結合 Azure 訂閱帳戶即可登入 Azure ARM Portal 公有雲環境進行管理及佈署作業。
圖 4、新版 Azure 入口網站,採用 ARM(Azure Resource Manager)管理模式
在「私有雲 / 混合雲」的部分,微軟為了提供給開發人員一致的程式編寫平台(只要內部編寫一次,上傳至公有雲環境中便可立即使用),並且同樣採用 Azure Resource Manager 管理模式,以便為 IT 管理人員提供一致的管理操作體驗平台。台灣微軟在 2017 年 8 月 30 日,正式宣佈與 Intel、HPE、Cisco、Dell、Lenovo 等業者合作推出 MAS(Microsoft Azure Stack)一體機,讓企業及組織可以在內部資料中心內部署 Azure Stack 服務(如圖 5 所示),也可以跟國內電信業務申請租用 Azure Stack 服務。
微軟在 2016 年 1 月推出 Azure Stack TP1 技術預覽版本,後續約每半年推出 TP2、TP3 技術預覽版本,最終於 2017 年 7 月推出正式版本。
圖 5、企業及組織透過 Microsoft Azure Stack 建立私有雲及混合雲環境
Azure Pack vs Azure Stack
雖然,微軟新一代的私有雲及混合雲平台為 MAS(Microsoft Azure Stack),然而對於中小型企業或組織來說,建置 MAS 私有雲及混合雲平台不管是軟體授權或硬體設備等費用皆所費不貲,並非一般中小型企業或組織所能夠負擔。此外,雖然微軟有提供「Azure Stack Development Kit」方案,讓企業及組織能夠自行下載建置 Azure Stack 在「單台」伺服器當中,但這樣的佈署及應用情境僅限於「研發 / 測試」環境。佈署 Azure Stack Development Kit 的 x86 硬體伺服器,至少應具備 2 顆 CPU 處理器(16 個實體運算核心)和 128 GB 記憶體空間,及 4 顆至少 250 GB 儲存空間的硬體才能夠順利佈署 Azure Stack Development 運作環境。
那麼,對於中小型企業或組織來說,除了透過 Azure Stack 建立全方位的私有雲及混合雲平台之外,是否還有其它自行建構中小型的私有雲解決方案? 現在,微軟提供一般中小型企業或組織,無須專用硬體設備及其它額外的軟體授權,只要採用第一代的微軟私有雲平台 Azure Pack,並且整合 Windows Server 2016 及 System Center 2016 管理平台,便可以在內部資料中心內建構中小型的私有雲及混合雲解決方案。
事實上,在 Windows Server 2016 及 System Center 2016 正式發佈時,Azure Pack 並不支援與這 2 個產品進行整合,所以當時有種說法是 Azure Pack 私有雲平台,只能運作在 Windows Server 2012 R2 及 System Center 2012 R2 環境。其實,只要採用 Windows Azure Pack UR10 或後續版本,便能夠無縫與 Windows Server 2016 及 System Center 2016 整合(如圖 6 所示),並且使用 Windows Server 2016 新的特色功能,例如,Shielded VMs、SDN v2……等。
圖 6、採用 Windows Server 2016 建置的 Azure Pack 私有雲環境,主要支援可至 2022 年而延伸支援可至 2027 年
簡單來說,企業及組織倘若僅需要建立 IaaS 基礎架構即服務運作架構的話,那麼採用 Windows Azure Pack 建置私有雲平台便非常適合,並且可以使用內部資料中心內原有基礎架構資源進行建置即可,倘若需要全方位的私有雲及混合雲解決方案則應採用 Microsoft Azure Stack(如圖 7 所示)。值得注意的是,採用新一代的 Microsoft Azure Stack 混合雲平台,企業及組織必須採用特定服務供應商的硬體才能順利佈署及運作,而無法直接使用內部資料中心內原有基礎架構資源進行建置。
圖 7、Windows Azure Pack 與 Microsoft Azure Stack 運作架構示意圖
值得注意的是,雖然 Windows Azure Pack 與 Microsoft Azure Stack 這 2 種解決方案,都提供 IaaS 基礎架構即服務的運作架構,但是 Windows Azure Pack 底層是採用 ASM(Azure Service Management)管理模式,而 Microsoft Azure Stack 與現在 Azure 公有雲同樣採用 ARM(Azure Resource Manager)管理模式。
因此,在 Windows Azure Pack 與 Microsoft Azure Stack 提供給不同「租用戶」(Tenant),所需要的各項 IaaS 服務時仍然有些許不同,舉例來說,在新一代的 Microsoft Azure Stack 當中便是透過 Subscription、Offer、Plan、Service 等不同功能(如圖 8 所示),達到提供 IaaS 服務給租用戶的目的:
- Subscription: 定義租用戶可以使用哪些 Offer、Plan、Service。
- Offer: 租用戶可以使用哪些 Plan,例如,Plan A 為 VM 虛擬主機資源而 Plan B 則為儲存資源。
- Plan: 組態設定資源使用額度機制,以便限制租用戶能夠使用的資源範圍,例如,限制租用戶只能建立 2 台 VM 虛擬主機、總共只能使用 10 vCPU 虛擬處理器、只能使用 16 GB vRAM 記憶體……等。
- Service: 定義租用戶能夠使用的應用程式及服務資源,例如,VM 虛擬主機、SQL Server 資料庫……等。
圖 8、Windows Azure Pack 與 Microsoft Azure Stack 提供租用戶 IaaS 服務的運作架構示意圖
Azure Stack 管理 Azure Pack
倘若,企業及組織在早期已經建置底層為 Windows Server 2012 R2,搭配 System Center 2012 R2 所搭建的 Windows Azure Pack 私有雲平台,隨著公司運作規模不斷擴增導入新一代 Microsoft Azure Stack 混合雲平台時,那麼原有的 Windows Azure Pack 私有雲平台,是否就無用武之地只能形成資源孤島?答案當然是否定的,簡單來說企業及組織的 IT 管理團隊,只要在 Microsoft Azure Stack 混合雲平台中,安裝 Windows Azure Pack Connector 軟體套件後,便可以直接透過 Microsoft Azure Stack 混合雲平台,管理 Windows Azure Pack 的 IaaS 基礎架構即服務,但是 Windows Azure Pack 上運作的 VM 虛擬主機,則仍由原本的 SPF(Service Provider Foundation),以及 SCVMM(System Center Virtual Machine Manager)進行佈署的動作(如圖 9 所示)。
根據微軟官方建議,透過 Windows Azure Pack Connector 管理 Windows Azure Pack 環境,僅限於 Azure Stack Development Kit 所建構的研發測試環境,不建議用於 Microsoft Azure Stack 正式營運環境中。
圖 9、Windows Azure Pack Connector 運作架構示意圖
實戰 Azure Pack on Windows Server 2016
現在,企業及組織只要準備好 Windows Server 2016 及 System Center 2016,便可以著手建置 Windows Azure Pack 運作環境,提供使用者自助式入口網站和各式各樣的雲端服務(如圖 10 所示):- 入口網站: 在 Portal 入口網站的部分共有 2 種類型,第 1 種是針對管理人員入口網站(Admin Portal),以便組態設定雲端資源、使用者帳號、租用戶方案、配額、定價。第 2 種則是針對租用戶入口網站(Tenant Portal),以便租用戶使用者可以在自助式入口網站中,進行雲端服務(例如,VM 虛擬主機)的佈署、監控、管理服務。
- 服務管理 API: 透過 REST API 提供客製化整合案例,例如,自訂入口網站以及租用戶資源計費系統。
- VM 虛擬主機雲端: 提供 Windows 及 Linux 虛擬主機 IaaS 基礎架構即服務,包括 VM 虛擬主機範本、調整運作規模、VM 虛擬主機的虛擬網路環境 …… 等。
- 網站雲端: 提供 ASP .NET、PHP、Node.js 等可擴充的 Web 應用程式服務,建構 PaaS 平台即服務的運作環境。
- 資料庫雲端: 提供 SQL Server 和 MySQL 資料庫執行個體服務,建構 DbaaS 資料庫即服務搭配網站雲端使用。
- 服務匯流排雲端: 在分散式應用程式之間提供可靠訊息服務。
- 自動化: 將其他自訂服務整合至運作架構中,包括 Runbook 及執行環境……等。
請注意,Windows Azure Pack Web Sites 雲端服務,僅「支援」底層採用 Windows Server 2012 R2 時才能順利運作,並「不支援」佈署在底層為 Windows Server 2016 的作業系統平台。同時,Windows Azure Pack Web Sites v2 雲端服務,主流支援服務至 2017 年 7 月 11 日,而延伸支援服務至 2022 年 7 月 12 日。
圖 10、Windows Azure Pack 運作架構及特色功能示意圖
Windows Azure Pack 佈署架構
POC 測試驗證架構在整個 Windows Azure Pack 運作架構當中,可以依照企業或組織的需求及運作規模大小,決定採用的 Windows Azure Pack 佈署架構,舉例來說,倘若企業及組織只是想要快速建構 Windows Azure Pack 運作環境,進行 POC 概念性驗證以便評估是否要正式佈署 Windows Azure Pack 時,便可以採用「Windows Azure Pack 快速佈署架構」(如圖 11 所示),將 Windows Azure Pack 的必要運作元件安裝在「同 1 台」主機上即可。
圖 11、Windows Azure Pack 快速佈署架構示意圖
小型規模運作架構
順利評估 Windows Azure Pack 特色功能滿足企業需求後,倘若只需要佈署小型規模的 Azure Pack 運作架構時,那麼最簡單的佈署方式便是將「相關角色拆分」在不同的主機上運作即可,此時 IT 管理人員可以參考及採用「Windows Azure Pack 基本分散式佈署架構」(如圖 12 所示),以避免不同角色在同 1 台主機上資奪硬體資源,造成屆時使用 Azure Pack 雲端服務時不良的操作體驗。
圖 12、Windows Azure Pack 基本分散式佈署架構示意圖
中型規模運作架構
隨著企業及組織的商業模式不斷擴增,企業內部使用 Windows Azure Pack 自助式入口網站,以及相關雲端服務的使用者人數不斷增加的情況下,只是單純將 Azure Pack 運作角色拆分在不同主機上運作,可能已經無法滿足使用者對於服務快速回應及高可用性的需求。
此時,除了將 Azure Pack 運作角色拆分在不同主機上運作之外,也為不同的運作元件加入「負載平衡」(Load Balance)及「容錯移轉叢集」(Failover Cluster)機制,IT 管理人員可以參考及採用「Windows Azure Pack 小型分散式佈署架構」(如圖 13 所示),以便平時可以有多台主機一同分散工作負載,即便某台擔任同個運作角色的主機發生故障損壞事件時,也能由其它存活的主機繼續回應使用者請求的雲端服務,滿足使用者對於 Azure Pack 雲端服務的高可用性需求。
圖 13、Windows Azure Pack 小型分散式佈署架構示意圖
大型規模運作架構
當企業內部使用 Windows Azure Pack 自助式入口網站,以及雲端服務的使用者人數不斷增加,甚至企業以成本利潤中心的概念,提供雲端服務給不同部門別並進行計價的動作。因此,除了服務快速回應及高可用性的需求之外,也必須因應專案數量暴發或大型促銷這種工作負載急增的需求。
此時,除了將 Azure Pack 運作角色拆分在不同主機上運外,以及剛才加入的「負載平衡」(Load Balance)及「容器移轉叢集」(Failover Cluster)機制之外,所有運作角色規模的擴充也必須更容易更即時才能夠因應,IT 管理人員可以參考及採用「Windows Azure Pack 可擴充分散式佈署架構」(如圖 14 所示),以便平時可以有多台主機一同分散工作負載,當專案數量暴發或大型促銷導致工作負載急增時,也能夠快速為每個運作角色擴充運作規模,以便滿足使用者對於雲端服務的快速回應和高可用性需求。
圖 14、Windows Azure Pack 可擴充分散式佈署架構示意圖
佈署 Azure Pack 運作架構
了解 Windows Azure Pack 特色功能及佈署架構後,在開始建立 Azure Pack 運作架構及進行組態設定作業之前,我們先了解在 Azure Pack 運作架構中,需要建置的角色共有 Windows AD 網域環境(DNS / DHCP / Certificate Authority / Service Accounts)、Hyper-V 虛擬化平台、SCVMM 管理平台、Azure Pack Admin Portal、Azure Pack Tenant Portal、SPF……等。雖然建置 Windows Azure Pack 基礎架構,在相關伺服器角色上並沒有絕對的先後順序,不過在建構基礎架構時卻有相關的工法可供遵循,接下來我們將簡介本文整個 Windows Azure Pack 基礎架構的安裝及設定流程:
1. 建立 Windows AD(Active Directory)網域環境及相關服務帳戶和群組。
2. 安裝及組態設定 Hyper-V 虛擬化平台(Hyper-V、Storage、Failover Cluster)。
3. 安裝及組態設定 SQL Server 資料庫。
4. 安裝及組態設定 SCVMM(System Center Virtual Machine Manager)虛擬化管理平台。
5. 安裝及組態設定 SPF(Service Provider Foundation),以便擔任 VMM 及 WAP 之間溝通的橋樑。
6. 安裝及組態設定 WAP(Windows Azure Pack),以便提供管理人員及租用戶入口網站。
建構 Windows AD 網域環境
在 Windows Azure Pack 的運作架構中,由於有多個運作角色之間必須協同運作,同時在系統管理思維當中應該要針對每個角色建立服務角色。因此,請在建立好 Windows AD 網域環境後,預先建構後續各項運作角色會使用到的服務帳戶,例如,用於 SQL Server 服務帳戶為 SQL-SVC、用於 SFP 服務帳戶為 SPF-SVC、用於 VMM 服務帳戶為 VMM-SVC……等(如圖 15 所示)。
圖 15、建立相關服務帳戶及群組
建構 Hyper-V 虛擬化平台
建構 Hyper-V 虛擬化平台,並且整合容器錯移轉叢集運作機制以便提供高可用性(如圖 16 所示)。屆時,當使用者登入租用戶入口網站後,執行佈署 VM 虛擬主機的動作時,底層 VMM 管理平台便會將 VM 虛擬主機佈署至 Hyper-V 虛擬化平台中。
此外,除了傳統 SAN 儲存資源之外,也可以整合 Windows Server 2016 當中的 S2D(Storage Spaces Direct)軟體定義儲存技術,用來擔任 Hyper-V 虛擬化平台儲存資源。
圖 16、建構高可用性 Hyper-V 虛擬化平台
建構 SQL Server 資料庫
本文實作環境採用 SQL Server 2016 擔任 SCVMM、SPF 資料庫,在正式營運環境中建議 WAP 使用的資料庫,也就是提供租用戶 DBaaS 資料庫即服務的部分,應該要與 SCVMM 及 SPF 使用的基礎架構資料庫分開。
值得注意的是,在安裝 SQL Server 2016 的過程中,於 Feature Selection 頁面中至少要勾選「Database Engine Services」功能項目,在 Server Configuration 頁面中,請將 SQL Server Agent 及 SQL Server Database Engine 項目的帳戶名稱,調整為在 DC 網域控制站當中針對 SQL Server 建立的服務帳戶,並且將啟動類型調整為「Automatic」,至於定序的部分採用預設的「SQL_Latin1_General_CP1_CI_AS」即可(如圖 17 所示)。
圖 17、安裝 SQL Server 2016 資料庫
建構 SCVMM 管理平台
本文實作環境中,採用 System Center 2016 Virtual Machine Manager 擔任虛擬化管理平台,值得注意的是,在安裝 SCVMM 之前必須先安裝「Windows ADK for Windows 10,version 1607」軟體套件,至於安裝選項只要勾選「Deployment Tools」及「Windows Preinstallation Environment(Windows PE)」即可(如圖 18 所示)。
圖 18、安裝 System Center 2016 Virtual Machine Manager 虛擬化管理平台
此外,因為 SCVMM 的資料庫並非採用本機 SQL Server Express,所以也必須先安裝 SQL 工具 Native Client 及 Command Line Utilities,並且安裝完畢後必須重新啟動 SCVMM 主機,否則稍後 SCVMM 安裝程序也會提醒必須重新啟動才能繼續安裝程序。同時,SCVMM 安裝過程中,便會連線至指定的 SQL Server 中建立名稱為「VirtualManagerDB」的資料庫(如圖 19 所示)。
圖 19、至指定的 SQL Server 中建立 VirtualManagerDB 資料庫
建構 SPF 以便介接 VMM 及 WAP
事實上,在 Windows Azure Pack 的運作架構中,當管理人員或租用戶登入 WAP 入口網站後進行的任何動作,並非直接與底層的 SCVMM 虛擬化管理平台互動,而是透過 SPF 擔任 WAP 與 SCVMM 之間溝通的橋梁(如圖 20 所示),舉例來說,當租用戶登入 WAP 入口網站後進行 VM 虛擬主機的佈署作業時,便是透過 SPF 中介與 SCVMM 互動,至於各種資源使用量監控的部分也是透過 SPF 中介與 SCOM 進行互動。
圖 20、安裝 SPF 中介溝通角色
值得注意的是,SPF 角色可以跟 SCVMM 主機安裝在同一台也可以獨立一台,並且安裝檔案在 System Center Orchestrator ISO 內,並且在 SPF 安裝過程中將會連線至指定的 SQL Server 中建立名稱為「SCSPFDB」的資料庫(如圖 21 所示)。
圖 21、至指定的 SQL Server 中建立 SCSPFDB 資料庫
建構 WAP 入口網站
只要下載並執行 Web Platform Installer(本書實作環境為 5.0 版本),點選至 Products 搜尋關鍵字 Windows Azure Pack,便會找到安裝 Windows Azure Pack 相關運作元件及角色等項目。倘若,你希望佈署「Windows Azure Pack 快速架構」,也就是所有運作元件及角色都在同 1 台主機時,那麼請搜尋「Windows Azure Pack:Portal and API Express」項目並進行安裝作業即可(如圖 22 所示)。
圖 22、安裝及佈署 Windows Azure Pack 快速架構
接著請在 WAP 主機開啟瀏覽器,鍵入網址 https://localhost:30101 進行建立 WAP 資料庫的動作,完成後將會在 WAP 資料庫中,看見許多以「Microsoft.MgmtSvc」名稱開頭所建立的資料庫(如圖 23 所示)。
圖 23、WAP 初始化並建立 WAP 資料庫
完成 WAP 初始化並建立 WAP 資料庫之後,便可以連結網址 https://localhost:30091 進入管理者入口網站(Admin Portal),建立 VM Clouds、Plans、租用戶使用者帳號……等。最後,租用戶便可以登入使用者入口網站(Tenant Portal),並且看到管理人員所給予的建立相關雲端資訊的項目(如圖 24 所示)。
圖 24、租用戶登入使用者自助式入口網站