網管人 177 期 - 雲端 Windows 虛擬桌面零硬體免建構立享 VDI



網管人雜誌

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





本文目錄






前言

「Windows 虛擬桌面」(Windows Virtual Desktop,WVD),乍聽之下並非新的名詞和應用。早在過去,企業和組織便已經在內部資料中心內,透過虛擬化技術打造「虛擬桌面基礎架構」(Virtual Desktop Infrastructure,VDI),並運作 Windows 虛擬桌面或 Linux 虛擬桌面。

那麼,管理人員對於 WVD 虛擬桌面的第一個疑問,通常是它和過去的 VDI 相較之下有何不同? 簡單來說,過去在建構 VDI 虛擬桌面基礎架構時,管理人員必須自行建構和管理所有的基礎架構,舉例來說,從底層的實體網路、儲存設備、虛擬化基礎架構……等,搭配上層運作的 Windows Server 並建構「遠端桌面服務」(Remote Desktop Services,RDS),其中 RDS 遠端桌面服務還有許多運作元件,例如,RD Session Host、RD Connection Broker、RD Gateway、RD Web Access……等(如圖 1 所示),可以想像在初期架構導入和建置費用以及後續管理維護上,對於企業和組織來說需要一筆不小的 IT 預算,對於管理人員來說則產生各式各樣的大量工作任務。

反觀 WVD 虛擬桌面,由於建構在 Azure 公有雲之上,因此導入初期便能達到快速部署的目的,並且無須投入大量硬體設備採購預算,此外還能提供企業和組織對於 WVD 虛擬桌面的安全監控機制,後續也能輕鬆管理 WVD 虛擬桌面的安全性更新。

圖 1、RDS 遠端桌面服務基礎部署架構示意圖





WVD 虛擬桌面簡介

在 2019 年 3 月時,微軟發佈 WVD 虛擬桌面公開預覽版本,而在 2019 年 9 月則正式發佈 WVD 虛擬桌面,除了具備「Windows 10 多重工作階段」(Windows 10 Multi-Session)機制之外(如圖 2 所示),也將 2018 年收購的 FSLogix 桌面虛擬化技術,導入至 WVD 虛擬桌面中,以便提供最佳化後的 Office 365 服務。
事實上,新增的 Windows 10 多重工作階段機制,過去稱為 Windows 10 EVD(Enterprise for Virtual Desktop)。簡單來說,允許執行多重連線工作階段,這在過去只有 Windows Server 才能支援此運作機制。
圖 2、Windows 10 多重工作階段運作機制示意圖

過去,採用 RDS 虛擬桌面基礎架構時,使用者僅能連線 Windows Server 後執行和存取應用程式,而 WVD 虛擬桌面則提供使用者直接連線至 Windows 10 桌面環境,達到最佳使用者操作體驗。
除了透過 PC 桌機和 NB 筆電連接 WVD 虛擬桌面之外,也支援透過 Mac、iOS、Android、HTML 5 瀏覽器連接至 WVD 虛擬桌面。

此外,隨著 Windows 7 和 Windows Server 2008 R2 延伸支援服務已經於 2020 年 1 月終止,然而還是有許多企業和組織因為應用程式環境或其它因素,可能還沒正式遷移至 Windows 10 和 Windows Server 2019 環境當中。因此,微軟提供企業和組織在 WVD 虛擬桌面中,運作 Windows 7 和 Windows Server 2008 R2 環境,並得到免費延伸安全性更新支援至「2023 年 1 月」。

在今年的 2020 年 4 月時,微軟發佈 WVD 虛擬桌面「整合 Azure ARM」的公開預覽版本,並在 2020 年 7 月正式發佈,幫助管理人員能夠更方便的部署和管理 WVD 虛擬桌面運作架構。簡單來說,整合至 Azure ARM 之後,管理人員便能提供「角色型存取控制」(Role-Based Access Control,RBAC)角色,並且更容易將資源和 Azure AD 整合,同時搭配 Azure Monitor Log 和 Log Analytics 機制,輕鬆幫助管理人員管理和維護 WVD 虛擬桌面運作架構。

此外,受到 COVID-19 疫情的影響,除了採用 WVD 虛擬桌面使用者人數增多之外,更多的是透過 WVD 虛擬桌面搭配 Microsoft Teams 進行線上會議流暢度的需求。因此,微軟也順勢推出增強的「音訊 / 視訊重新導向」(Audio/Video Redirection)機制(如圖 3 所示),讓使用者在 WVD 虛擬桌面環境中,也能得到最佳的視訊會議體驗。

圖 3、WVD 虛擬桌面音訊和視訊重新導向機制示意圖





實戰 WVD 虛擬桌面

在 WVD 虛擬桌面運作環境中,企業和組織可以在地端資料中心內建立 DC 網域控制站,或者是採用 Azure 公有雲中的 ADDS(Active Directory Domain Services)服務。在本文實作環境中,選擇在地端資料中心內建立 DC 網域控制站,然而因為篇幅的關係,便不贅述如何建置地端資料中心 DC 網域控制站,以及如何組態設定 Azure AD Connect 與 Azure AD 同步作業。簡單來說,完成 Azure AD Connect 與 Azure AD 同步作業後,將會把網域使用者帳戶和相關資訊同步至 Azure AD 環境中(如圖 4 所示)。


在本文實作環境中,已經組態設定地端資料中心內 DC 網域控制站(網域為 wvd.weithenn.org),透過 Azure AD Connect 機制與 Azure AD 完成同步作業(如圖 5 所示)。

圖 5、組態設定 Azure AD Connect 機制與 Azure AD 完成同步作業



允許 WVD 虛擬桌面服務存取 Azure AD

在建立 WVD 虛擬桌面主機集區之前,必須先允許 WVD 虛擬桌面服務可以存取 Azure AD,以便屆時在雲端環境中的 WVD 虛擬桌面,能夠順利透過 Azure AD 進行身份驗證程序(如圖 6 所示)。


首先,請確認使用的 Azure AD「Tenant ID」。請點選屆時使用的 Azure AD 後按下 Properties,即可看到此 Azure AD 的 Tenant ID,然後按下複製圖示將 Tenant ID 進行複製。接著,在瀏覽器開啟新的頁籤後連結至「https://rdweb.wvd.microsoft.com」頁面,將 Consent Option 欄位選擇至「Server App」,然後在 AAD Tenant GUID or Name 貼上剛才所複製的 Azure AD Tenant ID(如圖 7 所示),確認無誤後按下 Submit 鈕。

圖 7、準備允許 WVD 虛擬桌面服務可以存取 Azure AD

此時,請採用具備 Azure AD 全域管理員權限的使用者帳號登入,系統將會顯示屆時 WVD 虛擬桌面服務,可以通過 Azure AD 身份驗證程序後,存取 Azure AD 目錄資料、群組、使用者設定檔……等,請按下 Accept 鈕允許存取動作,成功允許後將會出現「AAD Application has been successfully registered」訊息。
這個動作將會在 Azure AD Enterprise Applications 中,建立「Windows Virtual Desktop AME」項目。

同樣的動作,請再次連結至「https://rdweb.wvd.microsoft.com」頁面,這次請將 Consent Option 欄位選擇至「Client App」,並貼上 Azure AD Tenant ID 後按下 Submit 鈕,並再次以 Azure AD 全域管理員權限的使用者帳號登入,請按下 Accept 鈕允許存取 Azure AD,成功允許後將會出現「AAD Application has been successfully registered」訊息。
這個動作將會在 Azure AD Enterprise Applications 中,建立「Windows Virtual Desktop Client」項目。



指派 TenantCreator 應用程式角色

接著,使用 Azure AD 全域管理員權限的使用者帳號登入後,將 TenantCreator 應用程式角色,指派給指定的 Azure AD 使用者,以便使用者屆時能夠通過 Azure AD 身份驗證機制後,連線至與 Azure AD 關聯的 WVD 虛擬桌面租用戶。

在進行 TenantCreator 應用程式角色指派之前,請先確認地端資料中心內的 DC 網域控制站,是否已經順利將網域使用者帳號,透過 Azure AD Connect 機制同步至 Azure AD 當中。在本文實作環境中,可以看到 Source 欄位為「Windows Server AD」的使用者帳號,便是由地端資料中心同步至雲端 Azure AD 的使用者帳號(如圖 8 所示)。
倘若,未條列出地端資料中心內網域使用者帳號,請確認 Azure AD Connect 機制是否順利運作。
圖 8、確認地端網域使用者帳號已同步至 Azure AD

請在 Azure Portal 中,依序點選「Azure AD > Manage > Enterprise Applications > Windows Virtual Desktop AME > Assign Users and Groups > Add User」項目,在本文實作環境中,指派地端資料中心內名稱為「weithenn.wang」的網域使用者帳號,然後按下 Assign 鈕進行指派的動作。當指派完成後,便能看到指派的使用者帳號角色欄位為「TenantCreator」(如圖 9 所示)。

圖 9、指派網域使用者帳號 weithenn.wang 為 TenantCreator



建立 WVD 虛擬桌面租用戶

在建立 WVD 虛擬桌面「租用戶」(Tenant)之前,管理人員必須先準備二項 ID,分別是「Azure AD Tenant ID」和「Azure Subscription ID」,並且已經準備好 Windows Virtual Desktop Cmdlets 的 PowerShell 執行環境。
有關 WVD Cmdlets 的 PowerShell 執行環境,請參考 Microsoft Docs - Windows Virtual Desktop Cmdlets for Windows PowerShell 文章內容。

首先,我們將會使用到的 Broker URL、Azure AD Tenant ID、Azure Subscription ID 這三項內容,分別寫入變數名稱 $brokerurl、$addTenantId、$azureSubscriptionId,然後先執行「Add-RdsAccount -DeploymentUrl $brokerurl」指令,系統將會出現身份驗證視窗,請將剛才指派為 TenantCreator 的 weithenn.wang 網域使用者帳號鍵入,順利通過身份驗證程序後,執行「New-RdsTenant -Name "Weithenn-WVD" -AadTenantId $aadTenantId -AzureSubscriptionId $azureSubscriptionId」指令,建立名稱為「Weithenn-WVD」的 WVD 虛擬桌面租用戶(如圖 10 所示)。

圖 10、建立名稱為 Weithenn-WVD 的 WVD 虛擬桌面租用戶



建立 WVD 虛擬桌面主機集區

完成建立 WVD 虛擬桌面主機集區的前置作業後,請在 Azure Portal 管理介面中,在上方搜尋框鍵入關鍵字「Windows Virtual Desktop」,即可導向至建立 WVD 虛擬桌面頁面然後按下「Create a host pool」,準備建立 WVD 虛擬桌面基礎架構「主機集區」(Host Pool)。
在建立主機集區之前,請先確認使用的 Azure 訂閱帳戶,已經啟用「Microsoft.DesktopVirtualization」資源提供者項目,以避免遭遇到非預期產生的錯誤。

在 Basics 頁面中,除了選擇採用的 Azure 訂閱帳戶和「資源群組」(Resource Groups),以及 WVD 虛擬桌面的「主機集區」名稱之外,值得注意的是選擇的 Azure 資料中心,因為屆時 WVD 虛擬桌面和相關的「中繼資料」(Metadata),將會儲存在所選擇的 Azure 資料中心內,本文實作環境選擇採用「East US」資料中心。
由於最新整合 Azure ARM 的 WVD 虛擬桌面正式發佈時間不長,因此目前支援的 Azure 資料中心,主要都是美國區域的資料中心,過去發佈的 WVD 虛擬桌面版本名稱改為「傳統」(Classic)仍可繼續使用。

在「主機集區類型」(Host Pool Type)的部份,管理人員可以選擇採用「個人」(Personal)或是「集區」(Pooled)類型。當管理人員選擇採用個人類型時,必須在下方指派類型的欄位選擇採用「自動」(Automatic)或是「直接」(Direct)指派類型。倘若選擇採用集區類型時,則必須鍵入「最大工作階段限制」(Max Session Limit)數值,以便組態設定 WVD 虛擬桌面在單一工作階段中,主機允許連線的最大使用者數量,同時也必須選擇採用的負載平衡演算法為「廣度優先」(Breadth-First),或者是「深度優先」(Depth-First)。在本文實作環境中,選擇「集區」類型和最大使用者連線數量為「5」,並採用「廣度優先」負載平衡演算法(如圖 11 所示)。

圖 11、組態設定 WVD 虛擬桌面主機集區基本資訊



建立 WVD 虛擬桌面並加入網域

在 Virtual Machine 頁面中,倘若管理人員已經自行建立好 VM 虛擬主機,並且要將這些建立完成的 VM 虛擬主機,與屆時建立的主機集區搭配使用的話請選擇「No」。倘若,在主機集區建立過程中,希望順便建立新的 WVD 虛擬桌面並且註冊到主機集區的話請選擇「Yes」。
在本文實作環境中,將會採用「RG-EastUS-WVD-vnet」虛擬網路,並且虛擬網路中的「DNS Servers」項目,已經指定為 DC 網域控制站「10.0.0.4」,才能確保屆時 WVD 虛擬桌面順利找到 DC 網域控制站,並且加入網域當中。

在本文實作環境中,將會建立全新的 WVD 虛擬桌面並註冊到主機集區所以選擇「Yes」。此時,系統將會展開建立 WVD 虛擬桌面的相關欄位(如圖 12 所示),下列為相關欄位的組態設定說明:
  • Resource Group: 選擇 WVD 虛擬桌面所要使用的 Azure 資源群組,可以選擇和先前主機集區不同的 Azure 資源群組,本文實作為「RG-EastUS-WVD」。
  • Virtual Machine Location: 選擇 WVD 虛擬桌面所要使用的 Azure 資料中心,可以選擇和先前主機集區不同的 Azure 資源群組,本文實作為「East US」。
  • Virtual Machine Size: 屆時建立 WVD 虛擬桌面採用的 VM 虛擬主機規模大小,預設值為採用「Standard D2s v3」規模,也就是每台 WVD 虛擬桌面採用的硬體資源為「2 vCPU 和 8 GB vRAM」。當然,管理人員可以點選 Change size,挑選更小或更大的 VM 虛擬主機規模大小。本文實作調整為「Standard D4s v3(4 vCPU 和 16 GB vRAM)」。
  • Number of VMs: 首次建立 WVD 虛擬桌面的 VM 虛擬主機數量,本文實作組態設定建立「3」台 WVD 虛擬桌面。值得注意的是,在建立主機集區的流程中,這個 WVD 虛擬桌面的 VM 虛擬主機數量最大值為「400」台,倘若需要更多數量 WVD 虛擬桌面的話,可於主機集區建構完成後再新增 WVD 虛擬桌面的數量。
  • Name Prefix: 組態設定 WVD 虛擬桌面的電腦名稱首碼,屆時系統會在電腦名稱首碼之後,加上「-」和數值「0」開始依序遞增。本文實作電腦名稱首碼為「WVD-VM」。
  • Image Type: 請選擇 WVD 虛擬桌面所要採用的 VM 虛擬主機映像檔,支援採用「資源庫」(Gallery)或「Blob 儲存體」(Storage Blob)。本文實作選擇採用資源庫。
  • Image: 由於選擇採用資源庫,所以可以直接選擇微軟官方已經打包好的 Windows 10 企業版印象檔。倘若,下拉式選單中沒有列出所要採用的 VM 虛擬主機映像檔時,請按下「Browse all images and disks」列出所有 VM 虛擬主機映像檔後,選擇所要採用的 VM 虛擬主機映像檔。本文實作環境採用最新「Windows 10 Enterprise multi-session,version 2004」映像檔。
  • OS Disk Type: 選擇 WVD 虛擬桌面作業系統磁碟類型,分別支援「標準 HDD、標準 SSD、進階 SSD」,本文實作環境採用「Standard SSD」磁碟類型。
  • Virtual Network: 選擇 WVD 虛擬桌面採用的虛擬網路環境。請確認這個虛擬網路環境,可以和 DC 網域控制站互相連線,因為屆時的 WVD 虛擬桌面必須透過這個虛擬網路環境,加入 DC 網域控制站所管理的網域環境。本文實作環境為「RG-EastUS-WVD-vnet」虛擬網路。
  • Subnet: 選擇虛擬網路環境採用的 IP 網段,本文實作環境為「10.0.0.0/24」IP 網段。
  • Public IP: 選擇 WVD 虛擬桌面建立後是否指派公用 IP 位址或使用私有 IP 位址,本文實作環境選擇「No」,也就是採用私有 IP 位址,避免 WVD 虛擬桌面採用公用 IP 位址,直接和網際網路接觸產生安全性風險。
  • Network Security Group: 選擇管理 WVD 虛擬桌面的 NSG 網路安全性群組,分別支援「無、基本、進階」,本文實作環境選擇「Advanced」和已經建立的「ws2019-wvd-dc-nsg」網路安全性群組。
  • Specify Domain or Unit: 選擇 WVD 虛擬桌面是否加入網域環境,並且是否加入網域環境中特定的 OU 組織。本文實作環境選擇「Yes」將 WVD 虛擬桌面加入網域環境。
  • Doamin to Join: 鍵入 WVD 虛擬桌面加入的網域名稱,本文實作環境為「wvd.weithenn.org」。
  • Administrator Account: 鍵入具備網域管理者權限的使用者帳號和密碼。
圖 12、組態設定建立 WVD 虛擬桌面和加入網域環境資訊

此外,管理人員也無須擔心部署的 WVD 虛擬桌面安全性不足,因為管理人員隨時可以透過 Azure Firewall(如圖 13 所示),針對 Layer 3 – Layer 7 的網路流量進行管控,確保 WVD 虛擬桌面運作環境的安全性。

圖 13、透過 Azure Firewall 保護 WVD 虛擬桌面運作架構示意圖



將應用程式群組註冊到工作區

在 Workspace 頁面中,管理人員必須為即將建立的主機集區,進行桌面應用程式群組的註冊動作,屆時才能順利將允許的應用程式群組,發佈給使用 WVD 虛擬桌面的使用者或群組使用。在本文實作環境中選擇「Yes」,並按下 Create new 鍵入「WVD-App-Group」名稱(如圖 14 所示)。
倘若,這裡選擇 No 不立即進行註冊,那麼管理人員也可以在主機集區建立完成後,再執行註冊桌面應用程式群組的動作。
圖 14、建立桌面應用程式群組名稱同時執行註冊的動作

最後,確認建立主機集區和 WVD 虛擬桌面資訊無誤並通過系統驗證程序後(如圖 15 所示),按下 Create 鈕執行建立主機集區和 WVD 虛擬桌面的動作。

圖 15、確認主機集區和 WVD 虛擬桌面資訊無誤並通過系統驗證程序

經過一段部署作業時間後,在 Azure Portal 將會得到「Your deployment is complete」訊息,表示 WVD 虛擬桌面主機集區已經部署完成。此時,可以切換到 DC 網域控制站,確認建立的 WVD 虛擬桌面是否也順利加入網域環境。在本文實作環境中,依照剛才的組態設定加入網域的電腦帳戶名稱依序為「WVD-VM-0、WVD-VM-1、WVD-VM-2」共 3 台(如圖 16 所示)。

圖 16、確認 WVD 虛擬桌面是否順利加入網域環境





連線至 WVD 虛擬桌面

順利部署 WVD 虛擬桌面後,使用者可以透過多種方式連接至 WVD 虛擬桌面,例如,Windows 桌面用戶端、HTML 5 瀏覽器、MacOS、iOS、Android…… 等,連線至 WVD 虛擬桌面主機集區。



透過 Windows 桌面用戶端連線

首先,請下載最新版本的 Windows Desktop Client 並進行安裝作業,安裝完成後在 Windows Desktop Client 應用程式內按下「Subscribe」鈕,在使用者身份驗證視窗中,鍵入先前指派的 TenantCreator 使用者帳號,通過使用者身份驗證程序後,便會出現 WVD 虛擬桌面主機集區圖示(如圖 17 所示)。
請注意,使用者無法透過 RADC(RemoteApp and Desktop Connections)MSTSC(Remote Desktop Connection)用戶端,連線至 WVD 虛擬桌面。
圖 17、準備連線至 WVD 虛擬桌面

點選二下「WVD-Host-Pool-DAG」圖示,將會觸發連線 WVD 虛擬桌面主機集區,系統再次要求鍵入網域使用者帳號和密碼(如圖 18 所示)。請確認網域使用者帳戶,具備連線和操作 WVD 虛擬主機的權限。

圖 18、驗證網域使用者帳戶以便連線至 WVD 虛擬桌面

通過使用者驗證程序後,由系統自動指派 WVD 虛擬桌面主機集區中的其中一台,負責這位使用者的連線作業。如圖 19 所示,可以看到由電腦名稱「WVD-VM-1」虛擬桌面主機負責此次的連線作業,並且使用我們部署時所指派,最新發佈的 Windows 10 Enterprise multi-session,version 2004 映像檔進行部署。

圖 19、透過 Windows Desktop Client 連線至 WVD 虛擬桌面



透過 HTML 5 瀏覽器連線

倘若使用者無法安裝 Windows Desktop Client 應用程式,或者臨時需要透過未安裝 Windows Desktop Client 應用程式的主機,連線至 WVD 虛擬桌面時,也可以輕鬆透過現代化支援「HTML 5」技術的瀏覽器,連線登入至 WVD 虛擬桌面。
簡單來說,使用者可以透過 Microsoft Edge、Apple Safari、Mozilla Firefox、Google Chrome 瀏覽器,連線登入至 WVD 虛擬桌面。

我們以 Microsoft Edge 瀏覽器為例,在網址列鍵入「https://rdweb.wvd.microsoft.com/arm/webclient」,同樣的在使用者身份驗證視窗中,鍵入先前指派的 TenantCreator 使用者帳號,通過使用者身份驗證程序後,便會出現 WVD 虛擬桌面主機集區圖示,連線 WVD 虛擬桌面時再次鍵入網域使用者帳戶,即可順利透過 HTML 5 瀏覽器連線至 WVD 虛擬桌面(如圖 20 所示)。
請注意,若採用過去所部署的舊版 WVD 虛擬桌面(傳統),因為舊版 WVD 虛擬桌面並未和 Azure ARM 整合所以網址為「https://rdweb.wvd.microsoft.com/webclient」。

圖 20、透過 HTML 5 瀏覽器連線至 WVD 虛擬桌面



透過 Android 裝置連線

現在,許多智慧型手機已經可以外接鍵盤並投影畫面至大螢幕上操作。因此,臨時需要連線至 WVD 虛擬桌面時,也可以透過智慧型手機安裝 Remote Desktop App 後連接至 WVD 虛擬桌面。

這裡以採用 Android 智慧型手機舉例,請安裝最新釋出的 Remote Desktop client for Android(version 10.0.7)後,開啟 Remote Desktop App 並依序點選「右上角加號> Add Workspaces」,然後鍵入「https://rdweb.wvd.microsoft.com/api/arm/feeddiscovery」網址,同樣的在使用者身份驗證視窗中,鍵入先前指派的 TenantCreator 使用者帳號,通過使用者身份驗證程序後,便會出現 WVD 虛擬桌面主機集區圖示(如圖 21 所示)。
請注意,舊版的 Remote Desktop client(version 8.1.x),已經更改名稱為「Remote Desktop 8」。

圖 21、通過使用者身份驗證程序後出現 WVD 虛擬桌面主機集區圖示

同樣的,連線 WVD 虛擬桌面時再次鍵入網域使用者帳戶,即可順利透過 Remote Desktop App 連線至 WVD 虛擬桌面(如圖 22 所示)。

圖 22、即可順利透過 Remote Desktop App 連線至 WVD 虛擬桌面





結語

透過本文的深入剖析和實戰演練,相信管理人員應該能夠體會 WVD 虛擬桌面,具備高效能和彈性應用卻又不失安全性的好處。此外,除了能夠擺脫過去自建 VDI 虛擬桌面基礎架構的複雜性之外,又能享受到後續維護時的管理性和便利性。