過去建構虛擬桌面基礎架構(VDI)時,管理人員必須自行建構和管理所有的基礎架構。而Windows虛擬桌面(WVD),由於是建構在Azure公有雲之上,所以在導入初期便能達到快速部署的目的,無須採購大量的硬體設備,本文將透過實作進行詳細示範。
提到「Windows虛擬桌面」(Windows Virtual Desktop,WVD),想必許多人並不陌生,這並非新的名詞和應用。早在過去,企業和組織便已經在內部資料中心內透過虛擬化技術打造「虛擬桌面基礎架構」(Virtual Desktop Infrastructure,VDI),並運作Windows虛擬桌面或Linux虛擬桌面。
那麼管理人員對於WVD虛擬桌面的第一個疑問,通常是它與過去的VDI相較有何不同?簡單來說,過去在建構VDI虛擬桌面基礎架構時,管理人員必須自行建構和管理所有的基礎架構,舉例來說,從底層的實體網路、儲存設備、虛擬化基礎架構等等,搭配上層運作的Windows Server並建構「遠端桌面服務」(Remote Desktop Services,RDS),其中遠端桌面服務還有許多運作元件,例如RD Session Host、RD Connection Broker、RD Gateway、RD Web Access等等,如圖1所示,可以想像在初期架構導入和建置費用以及後續管理維護上,對於企業來說需要一筆不小的IT預算,而且會增加管理人員大量各式各樣的工作任務。
反觀WVD虛擬桌面,由於是建構在Azure公有雲之上,因此在導入初期便能達到快速部署的目的,並且無須投入大量硬體設備採購預算。除此之外,還能提供企業組織對於WVD虛擬桌面的安全監控機制,後續也可以輕鬆管理WVD虛擬桌面的安全性更新。
WVD虛擬桌面簡介
在2019年3月時,微軟發佈了WVD虛擬桌面公開預覽版本,而在2019年9月則正式發表WVD虛擬桌面,除了具備「Windows 10多重工作階段」(Windows 10 Multi-Session)機制外,如圖2所示,也將2018年收購的FSLogix桌面虛擬化技術導入至WVD虛擬桌面中,以便提供最佳化後的Office 365服務。
過去採用RDS虛擬桌面基礎架構時,使用者僅能連線Windows Server後執行及存取應用程式,而WVD虛擬桌面則提供使用者直接連線至Windows 10桌面環境,達到最佳使用者操作體驗。而除了透過PC桌機和NB筆電連接WVD虛擬桌面之外,也支援經由Mac、iOS、Android、HTML5瀏覽器連接至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」的公開預覽版本,並在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)機制,讓使用者在WVD虛擬桌面環境中,也能得到最佳的視訊會議體驗,如圖3所示。
實戰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所示。
允許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」頁面,如圖7所示先在Consent Option欄位選擇【Server App】,然後在AAD Tenant GUID or Name欄位內貼上剛才所複製的Azure AD Tenant ID,確認無誤後按下〔Submit〕按鈕。
此時,採用具備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應用程式角色指派之前,先確認地端資料中心內的D網域控制站,是否已經順利將網域使用者帳號透過Azure AD Connect機制同步至Azure AD當中。在本次實作環境中,可以看到Source欄位為「Windows Server AD」的使用者帳號,便是由地端資料中心同步至雲端Azure AD的使用者帳號,如圖8所示。
隨後,在Azure Portal中依序點選至「Azure AD > Manage > Enterprise Applications > Windows Virtual Desktop AME > Assign Users and Groups > Add User」項目,本次指派地端資料中心內名稱為「weithenn.wang」的網域使用者帳號,然後按下〔Assign〕按鈕進行指派的動作。當指派完成後,便能看到指派的使用者帳號角色欄位為「TenantCreator」,如圖9所示。
建立WVD虛擬桌面租用戶 在建立WVD虛擬桌面「租用戶」(Tenant)之前,管理人員必須先準備兩項ID,分別是「Azure AD Tenant ID」和「Azure Subscription ID」,並且已經準備好Windows Virtual Desktop Cmdlets的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所示。
建立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」資料中心。
在「主機集區類型」(Host Pool Type)部分,管理人員可以選擇採用「個人」(Personal)或是「集區」(Pooled)類型。當管理人員選擇採用個人類型時,必須在下方指派類型的欄位選擇採用「自動」(Automatic)或是「直接」(Direct)指派類型。倘若選擇採用集區類型時,則必須鍵入「最大工作階段限制」(Max Session Limit)數值,以便組態設定WVD虛擬桌面在單一工作階段中,主機允許連線的最大使用者數量,同時也必須選擇採用的負載平衡演算法為「廣度優先」(Breadth-First)或者是「深度優先」(Depth-First)。在本次實作中,選擇「集區」類型以及最大使用者連線數量為「5」,並且採用「廣度優先」負載平衡演算法,如圖11所示。
建立WVD虛擬桌面並加入網域
在Virtual Machine頁面中,倘若管理人員已經自行建立好VM虛擬主機,並且要將這些建立完成的VM虛擬主機,與屆時建立的主機集區搭配使用的話,則選擇「No」。如果在主機集區建立過程中希望順便建立新的WVD虛擬桌面,並且註冊到主機集區,就選擇「Yes」。
在實作環境中,將會建立全新的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和8GB vRAM」。當然,管理人員可以點選「Change size」,挑選更小或更大的VM虛擬主機規模大小。本文實作調整為「Standard D4s v3 (4 vCPU和16GB 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虛擬桌面加入網域環境。
‧Domain to Join:鍵入WVD虛擬桌面加入的網域名稱,本文實作環境為「wvd.weithenn.org」。
‧Administrator account:鍵入具備網域管理者權限的使用者帳號和密碼。
此外,管理人員也無須擔心部署的WVD虛擬桌面安全性不足,因為管理人員隨時可以透過Azure Firewall,如圖13所示,針對Layer 3~Layer 7的網路流量進行管控,確保WVD虛擬桌面運作環境的安全性。
將應用程式群組註冊到工作區
在Workspace頁面中,管理人員必須為即將建立的主機集區,進行桌面應用程式群組的註冊動作,屆時才能順利地將允許的應用程式群組,發佈給使用WVD虛擬桌面的使用者或群組使用。在本文實作環境中選擇「Yes」,並且按下「Create new」,然後鍵入「WVD-App-Group」名稱,如圖14所示。
最後,確認建立主機集區和WVD虛擬桌面資訊無誤並通過系統驗證程序,再按下〔Create〕按鈕執行建立主機集區和WVD虛擬桌面的動作,如圖15所示。
經過一段部署作業時間後,在Azure Portal將會得到「Your deployment is complete」訊息,表示WVD虛擬桌面主機集區已經部署完成。此時,可以切換到DC網域控制站,確認建立的WVD虛擬桌面是否也順利加入網域環境。在本文實作環境中,依照剛才的組態設定加入網域的電腦帳戶名稱依序為「WVD-VM-0」、「WVD-VM-1」、「WVD-VM-2」共三台,如圖16所示。
連線至WVD虛擬桌面
順利部署WVD虛擬桌面後,使用者可以透過多種方式連接至WVD虛擬桌面,例如Windows桌面用戶端、HTML5瀏覽器、MacOS、iOS、Android等等,連線至WVD虛擬桌面主機集區。
透過Windows桌面用戶端連線
首先,下載最新版本的Windows Desktop Client並進行安裝作業,安裝完成後,在Windows Desktop Client應用程式內按下〔Subscribe〕按鈕。然後,在使用者身分驗證視窗中,鍵入先前指派的TenantCreator使用者帳號。待通過使用者身分驗證程序,便會出現WVD虛擬桌面主機集區圖示,如圖17所示。
點選兩下「WVD-Host-Pool-DAG」圖示,將觸發連線WVD虛擬桌面主機集區,系統會再次要求鍵入網域使用者帳號和密碼,如圖18所示。請確認網域使用者帳戶,是否已具備連線和操作WVD虛擬主機的權限。
通過使用者驗證程序後,由系統自動指派WVD虛擬桌面主機集區內的其中一台,來負責這位使用者的連線作業。如圖19所示,可以看到由電腦名稱「WVD-VM-1」虛擬桌面主機負責此次的連線作業,並且使用剛剛部署時所指派、最新發佈的Windows 10 Enterprise multi-session, version 2004映像檔進行部署。
透過HTML5瀏覽器連線
倘若使用者無法安裝Windows Desktop Client應用程式,或者臨時需要透過未安裝Windows Desktop Client應用程式的主機連線至WVD虛擬桌面時,也可以輕鬆透過現代化支援HTML5技術的瀏覽器,連線登入至WVD虛擬桌面。簡單來說,使用者可以透過Microsoft Edge、Apple Safari、Mozilla Firefox、Google Chrome瀏覽器,連線登入至WVD虛擬桌面。
以Microsoft Edge瀏覽器為例,在網址列鍵入「https://rdweb.wvd.microsoft.com/arm/webclient」,同樣地,在使用者身分驗證視窗中,鍵入先前指派的TenantCreator使用者帳號,通過使用者身分驗證程序後,便會出現WVD虛擬桌面主機集區圖示。連線WVD虛擬桌面時,再次鍵入網域使用者帳戶,即可順利透過HTML5瀏覽器連線至WVD虛擬桌面,如圖20所示。
透過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所示。
同樣地,連線WVD虛擬桌面時再次鍵入網域使用者帳戶,即可順利透過Remote Desktop App連線至WVD虛擬桌面,如圖22所示。
結語
透過本文的深入剖析和實戰演練,相信管理人員就能夠體會Windows虛擬桌面(WVD)已具備高效能和彈性應用卻又不失安全性的好處。此外,遵照這裡所示範的詳細步驟進行操作,除了可以擺脫過去自建虛擬桌面基礎架構(VDI)的複雜性之外,必定也能夠享受到後續維護時的管理性和便利性。
<本文作者:王偉任,Microsoft MVP及VMware vExpert。早期主要研究Linux/FreeBSD各項整合應用,目前則專注於Microsoft及VMware虛擬化技術及混合雲運作架構,部落格weithenn.org。>