Related Posts Plugin for WordPress, Blogger...

網管人雜誌

本文刊載於 網管人雜誌第 111 期 - 2015 年 4 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它或透過下列圖示連結至博客來網路書店訂閱它。

文章目錄

1、前言
2、實作環境
3、Azure RemoteApp
          二種部署模式
          應用程式更新及修補
4、雲端部署(Cloud)
          步驟 1、建立 RemoteApp 服務
          步驟 2、是否整合內部 Active Directory
          步驟 3、發佈 RemoteApp 應用程式
          步驟 4、管理使用者存取
          步驟 5、使用者存取 RemoteApp 應用程式
          管理使用者連線作業
          故障排除
5、混合式部署(Hybrid)
          步驟 1、建立客製化範本
          步驟 2、建立 RemoteApp 服務
          步驟 3、設定及連結 Azure 虛擬網路
          步驟 4、DirSync 目錄同步機制
6、結語

1、前言

早在 Windows NT Server 4.0 作業系統版本時代,便開始有「終端機服務(Terminal Service)」特色功能,並從 Windows Server 2008 R2 作業系統版本開始,正式改名為「遠端桌面服務(Remote Desktop Services,RDS)」。

改名後的 RDS 服務,除了新增或增強許多特色功能如 Windows Media Redirection、Multiple Monitors、Enhanced Bitmap Codecs...等之外,還支援建立二種不同模式的遠端桌面架構,分別為 Virtual Desktop(VM Based)、Virtual Session(Session Based),同時導入 RemoteFX 技術進一步提升遠端桌面體驗。

圖 1、Windows Server 2008 R2 RDS運作架構示意圖

從 Windows Server 2008 R2 版本開始,也出現本文所要談論的 RemoteApp 特色功能技術。簡單來說,使用者只要透過 RemoteApp 技術,便可以讓遠端桌面服務所存取的應用程式,就好像是在使用者的本機電腦上執行一樣。

此外,由於目前 BYOD 行動工作浪潮的席捲及催化之下,企業或組織的IT管理人員,必須要能滿足使用者能夠在任何時間(Any Time)、任何地方(Any Where)、任何裝置(Any Device)上,隨時方便存取公司的「機敏資料(Sensitive Data)」及「應用程式(Application)」。

因此,企業或組織透過新一代 Windows Server 2012 R2 作業系統,所建置的 RDS 遠端桌面服務,便可以提供使用者透過不同的裝置,例如傳統的 PC 主機、NB 筆記型電腦...等,以及各種行動智慧裝置如 Windows Phone、iPhone(iOS)、Android...等。

2、實作環境

  • 發行公司:  Microsoft Azure
  • 官方網址:  http://azure.microsoft.com/zh-tw/services/remoteapp/
  • 軟體版本:  RemoteApp


3、Azure RemoteApp

雖然,IT 管理人員透過 RemoteApp 技術,可以讓使用者「隨時 / 隨地 / 隨需」方便存取公司的機敏資料及應用程式。但是,IT 管理人員可能必須要先架構好虛擬化平台,以及建置 RDS 遠端桌面服務運作架構,這樣的前置需求作業對於較大型企業或組織,在有編制專責的IT管理人員情況下絕對沒有問題。然而,對於新創公司或較小型的企業或組織來說,不管是在硬體架構或軟體授權方面都可能是項沈重的負擔。

二種部署模式

現在,您可以透過 Microsoft Azure 公有雲平台,來建立 Azure RemoteApp 運作環境,以便輕鬆部署所需要的應用程式提供使用者進行存取。目前,Azure RemoteApp 支援二種部署模式:

  • 雲端收藏(Cloud Collection): 在應用程式部份,會將所有應用程式資料都儲存在 Azure 雲端平台當中。在使用者身分驗證部份,支援使用者採用三種方式分別是個人的微軟帳戶(Microsoft Account)、Azure Active Directory、Azure Active Directory 同盟服務等,身份授權及驗證的方式登入以存取應用程式。
  • 混合式收藏(Hybrid Collection): 在應用程式的部份,會將應用程式資料儲存在 Azure 雲端平台之外,也可以讓使用者儲存在企業或組織內部當中。在使用者身分驗證部份,支援使用者採用二種方式分別是 Azure Active Directory、Azure Active Directory 同盟服務,等身份授權及驗證的方式登入以存取應用程式。


應用程式更新及修補

管理人員可能已經有疑惑,在傳統的 RemoteApp 運作架構中,不管是 Windows Server 作業系統或應用程式,在企業或組織內部進行應用程式相關更新及修補作業時,將會非常容易及方便。現在,若將所有應用程式資料儲存在 Azure 公有雲平台中,那麼應用程式更新及修補作業該如何進行?

如果,管理人員採用的是「雲端收藏(Cloud Collection)」部署模式時,那麼在 Windows Server 作業系統部份,將會自動進行更新及維護動作管理人員無須介入,在應用程式方面若採用的是通用應用程式如 Office 2013,也將會自動進行更新及維護動作管理人員無須介入。當然,如果是企業或組織的應用程式(透過自訂範本映像檔機制),那麼更新及維護動作就必須要管理人員介入處理才行。

若管理人員採用的是「混合式收藏(Hybrid Collection)」部署模式時,在 RDSH 運作架構中的 VM 虛擬主機,可以透過 WSUS、System Center 等管理工具進行管理及維護作業,若採用範本映像檔的部署方式,可以自行更新後上傳新的範本映像檔至 Azure 環境後即可。此外,透過整合 Active Directory 與 Azure Active Directory 身份驗證機制,使用者可以無縫的通過驗證程序以存取應用程式及資料,管理人員也可以將身份驗證及權限管理等機制,套用到 Azure 運作環境當中。

圖 2、Active Directory 與 Azure Active Directory 身份驗證機制運作示意圖

4、雲端部署(Cloud)

建立 Azure RemoteApp 雲端部署方式非常簡單,只要下列四個設定步驟即可完成:
1. 建立 RemoteApp 服務。
2. 如果,您希望使用者能夠使用企業或組織內部的 Active Directory 帳號登入,那麼必須設定目錄同步機制以便將使用者帳號及密碼,同步至 Azure Active Directory 當中。若是新創或小型公司,只要使用者具備 Microsoft Account 即可。
3. 發佈 RemoteApp 應用程式。
4. 管理使用者存取 RemoteApp 應用程式的權限。

圖 3、RemoteApp 雲端部署運作示意圖

步驟 1、建立 RemoteApp 服務

登入 Microsoft Azure Portal 之後,請依序點選「新增 > 應用程式服務 > REMOTEAPP > 快速建立」項目,接著在欄位中填入資料並選擇相關項目:

  • 名稱: RemoteApp 服務名稱,此名稱的長度必須在「3 ~ 13個字元」之間,且名稱的開頭必須是字母之外(不支援數字開頭),服務名稱只能有字母及數字(不支援特殊符號)。此實作中填入的服務名稱為「myremoteapp」。
  • 區域: RemoteApp 服務部署區域,之前 RemoteApp 還在預覽階段時僅支援全球六座資料中心進行部署。現在,RemoteApp 服務支援部署至全球十三座資料中心。請選擇距離使用者最近的資料中心,此實作中選擇「東亞(East Asia)」資料中心。
  • 方案: 收費方案,在 RemoteApp 預覽階段時可免費使用。現在,支援基本(Basic)及標準(Standard)二種收費方案。此實作中選擇「基本(Basic)」方案。
  • 範本映像: 選擇應用程式範本映像檔,可選擇 Office 365 或 Office 2013 試用版,或者您可以自行建立自訂範本映像檔(企業或組織內部應用程式)。此實作中選擇「Office 2013」方案。


完成上述欄位資訊並選擇相關項目後,只要按下「建立 REMOTEAPP 服務」,便會開始進行 RemoteApp 服務的佈建作業,此時切換到 RemoteApp 項目中,便會看到剛才所指定的「RemoteApp 服務名稱」以及狀態等相關資訊,原則上佈建 RemoteApp 服務大約需要「20 ~ 30分鐘」即可佈建完成。

圖 4、建立 RemoteApp 服務

步驟 2、是否整合內部 Active Directory

在使用者身分驗證部份,RemoteApp 雲端部署機制支援三種認證方式,分別是微軟帳戶(Microsoft Account)、Azure Active Directory、Azure Active Directory 同盟服務等,身份授權及驗證的方式登入以存取應用程式。

上述認證方式當中,微軟帳戶其實就是舊稱的 Windows Live ID。若企業或組織希望整合內部 Active Directory 的群組及使用者帳號,那麼可以透過 DirSync 機制,將「地端(On-Premise)」當中的 Active Directory 群組及使用者帳號,同步至 Azure Active Directory 當中,以便整合驗證機制。

圖 5、地端 Active Directory 與雲端 Azure Active Directory 透過 DirSync 進行同步

步驟 3、發佈 RemoteApp 應用程式

建立 RemoteApp 服務作業完成後,點選剛才所指定的 RemoteApp 服務名稱(此實作為myremoteapp)後,接著點選「發行中」頁籤,便會看到預設已經發佈的 RemoteApp 應用程式。因為剛才建立 RemoteApp 服務時,選擇的是 Office 2013 範本映像檔,所以預設所發佈的 RemoteApp 應用程式便是相關應用程式如 Word、Excel、PowerPoint...等。

圖 6、預設已經發佈的 RemoteApp 應用程式

事實上,這些已經發佈的 RemoteApp 應用程式,便是屆時使用者連上 Azure RemoteApp 平台後,所看到的應用程式可用清單,所以管理人員可以針對使用者的需求進行調配,舉例來說 使用者可能只會用到常用的 Office 應用程式,但 OneNote 應用程式可能並不需要。便可以點選 OneNote 應用程式項目後,點選管理介面下方的「取消發行 > 是」,此時 OneNote 應用程式便會進入「取消發行中」狀態,完成作業程序後便會消失在發行中頁面內。

圖 7、取消已發佈的 RemoteApp 應用程式

那麼如果想要重新加入已取消的 RemoteApp 應用程式,或者是加入新的 RemoteApp 應用程式時,該如何操作? 同樣的,請點選在發行中頁面下方「發行 > 開始功能表程式」,此時便會列出該 Windows Server 範本映像檔當中,已經安裝且可進行發佈的 RemoteApp 應用程式,舉例來說 可以勾選 OneDrive、Lync 等應用程式後,按下確定圖示即進行發佈作業。

此時在發行中頁面,便會看到出現 OneDrive、Lync 這二項 RemoteApp 應用程式,並且為「發行中」的狀態,發佈作業完畢後狀態便轉換為「已發行」。

圖 8、發佈 OneDrive、Lync 二項 RemoteApp 應用程式

步驟 4、管理使用者存取

最後,便可以決定「哪些」使用者帳戶,可以存取這些已發佈完成的 RemoteApp 帳戶。在管理介面中請切換到「使用者存取」頁籤,在使用者區塊中請輸入「Microsoft 帳戶」或者是由地端同步到雲端上「Azure Active Directory」當中的使用者帳戶,當輸入使用者帳號完成後會自動驗證格式是否正確,驗證格式正確後將會有綠色打勾圖示,若格式錯誤則會產生紅色驚嘆號圖示。

圖 9、輸入使用者帳號後,將會自動驗證帳戶格式是否正確

步驟 5、使用者存取 RemoteApp 應用程式

完成 RemoteApp 服務的建立、發佈 RemoteApp 應用程式、指派允許的使用者帳戶後,此時使用者只要連結到「https://www.remoteapp.windowsazure.com」網址,點選頁面右上角的「Install Client」,即可下載並安裝存取 RemoteApp 的客戶端應用程式。若採用 App Store 進行安裝的話,請輸入關鍵字「Microsoft Remote Desktop」即可找到並進行安裝。

此 RemoteApp 客戶端應用程式是採用 ClickOnce 技術所開發,支援 Windows、Windows Phone、Windows RT 、MAC OS X、iOS、Android...等作業系統。所以,不管是傳統的 PC/NB 或智慧型手機都可順利安裝。

安裝完畢後,將會出現 Microsoft RemoteApp 視窗請點選「Get Started」鈕,之後便會彈出使用者帳號登入視窗,請輸入剛才在管理介面中允許存取 RemoteApp 應用程式的使用者帳號及密碼。成功通過使用者身分驗證程序後,便可以看到剛才管理介面中所發佈的 RemoteApp 應用程式。

圖 10、使用者看到已發佈的 RemoteApp 應用程式(PC/NB 的操作畫面)

圖 11、使用者看到已發佈的 RemoteApp 應用程式(Android的操作畫面)

使用者只要點選欲使用的 RemoteApp 應用程式,此時便會「自動登入」在雲端 Azure 環境當中的 Windows Server,並且開啟該應用程式後將「操作畫面」,透過 RDP Protocol 傳回到使用者「裝置」上。事實上,對於使用者來說,開啟這個應用程式的操作體驗就像是在本地端執行一樣。

您可能會有疑問,那麼透過 RemoteApp 應用程式,所建立的文件要儲存於何處? 使用者可以將建立的文件儲存在本地端裝置,或者是 OneDrive 雲端硬碟中。此外,若需要列印文件的話,雖然開啟的 Office 是在 Azure 雲端上執行,但是卻可以偵測並重新導向到「本地端印表機」(本地端印表機,名稱結尾會加上 redirected 2),因此在列印方面也是沒有任何問題的。

圖 12、RemoteApp 應用程式支援本地端印表機

管理使用者連線作業

當使用者順利登入並開始使用 RemoteApp 應用程式後,管理人員可以在 Azure 管理介面中「工作階段」頁籤內,看到該名使用者的連線情況,並且可以進行相對應的管理動作。舉例來說,當管理人員準備將應用程式版本更新,該如何通知使用者儲存目前的工作並中斷連線? 此時,管理人員便可以使用「傳送訊息」的功能,以通知目前正在使用 RemoteApp 應用程式的使用者。

請在管理介面中依序點選「工作階段 > 傳送訊息」,並指定訊息只要傳送給某幾位使用者或是所有的使用者,最後輸入通知訊息等資訊後按下「傳送」圖示。此時,便會將訊息傳送至使用者目前正在使用的裝置上(PC / NB / Mobile Phone)。

圖 13、出現在使用者裝置上自訂的 RemoteApp 通知訊息

那麼如果使用者在維護時間到後,仍然未中斷連接該怎麼處理? 在管理介面中有二種處理連線階段的方法,分別是「中斷(Disconnect)」以及「登出(LogOff)」,那麼這二種方式有什麼差別:

  • 中斷(Disconnect): 中斷目前的使用者連線作業,但是在 Windows Server 上的 Session 仍存在,因此使用者只要重新連線便能回到先前的 Session 繼續作業。簡單來說,編輯到一半尚未儲存的檔案,重新連線後便能繼續編輯。
  • 登出(LogOff): 中斷使用者連線並刪除 Windows Server 上的 Session。簡單來說,使用者未儲存的檔案內容將會遺失。


故障排除

如果有使用者反應安裝 RemoteApp 客戶端應用程式後,無法順利登入或連結到 Azure RemoteApp 頁面,那麼可能是企業或組織內部的防火牆阻擋相關流量。請在防火牆中允許下列通訊協定及流量通過,以便順利使用 RemoteApp 應用程式。

如果防火牆的設定機制,採用的是 TCP/UDP 配合連接埠的話,請允許如下連接埠 Port 號:

  • TCP / UDP: Port 443、Port 10101 ~ 10175


如果防火牆的設定機制,採用的是 DNS 名稱解析方式的話,請允許下列 DNS 名稱能夠通過:

  • DNS: *.remoteapp.windowsazure.com


5、混合式部署(Hybrid)

建立 Azure RemoteApp 混合式部署方式,相較於雲端部署在操作上可能較為困難一些,主要原因是在使用者帳戶的驗證部份,只支援 Azure Active Directory,因此管理人員必須要先處理 Azure 虛擬網路的部份,以及地端 Active Directory 與雲端 Azure Active Directory 帳號整合的部份。

總括來說,需要執行下列七個設定步驟即可完成:
1. 建立企業或組織客製化需求的 RemoteApp 自訂範本映像檔。
2. 建立 RemoteApp 服務。
3. 設定及連結 Azure 虛擬網路。
4. 連結客製化的範本映像檔。
5. 整合企業或組織內部的 Active Directory 使用者帳號,透過 DirSync 目錄同步機制以便將地端的使用者帳號及密碼,同步至雲端的 Azure Active Directory 當中。
6. 發佈 RemoteApp 應用程式。
7. 管理使用者存取 RemoteApp 應用程式的權限。

圖 14、RemoteApp 混合式部署運作示意圖

步驟 1、建立客製化範本

因為某些操作步驟與雲端部署相同,因此我們僅將不同的部份進行說明。首先,請管理人員自行建立範本映像檔,以便在其中嵌入企業或組織自行開發的應用程式。但是,在建立範本映像檔時,必須注意下列事項:

  • VM 虛擬主機: 目前僅支援第一世代的VM虛擬主機格式(不支援第二世代)。
  • 虛擬硬碟: 目前僅支援 VHD 虛擬硬碟格式(不支援 VHDX)。
  • 硬碟格式: 支援固定及動態磁碟(建議採用動態磁碟)。
  • 硬碟分割表: 目前僅支援 MBR(不支援 GPT)。
  • 作業系統: 請安裝 Windows Server 2012 R2,並且必須安裝 RDSH 角色及相關功能,同時必須要停用 EFS 功能,最後在執行 Sysprep 時請勿使用「/mode:vm」參數。


步驟 2、建立 RemoteApp 服務

登入 Microsoft Azure Portal 之後,請依序點選「新增 > 應用程式服務 > REMOTEAPP > 利用 VPN 建立」項目,接著在欄位中填入資料並選擇相關項目:

  • 名稱: RemoteApp 服務名稱,此名稱的長度必須在「3 ~ 13個字元」之間,且名稱的開頭必須是字母之外(不支援數字開頭),服務名稱只能有字母及數字(不支援特殊符號)。此實作中填入的服務名稱為「myhybridapp」。
  • 方案: 收費方案,在RemoteApp預覽階段時可免費使用。現在,支援基本(Basic)及標準(Standard)二種收費方案。此實作中選擇「基本(Basic)」方案。


完成上述欄位資訊並選擇相關項目後,只要按下「建立 REMOTEAPP 服務」,便會開始進行 RemoteApp 服務的佈建作業,此時切換到 RemoteApp 項目中,便會看到剛才所指定的「RemoteApp 服務名稱」以及狀態等相關資訊,原則上佈建 RemoteApp 服務大約需要「2 ~ 5分鐘」即可佈建完成。

此時,您會看到該服務名稱狀態為「需要輸入內容」,點選後便可以看到相關的步驟及需要執行的項目,原則上都是很直覺的顯示方式,若子項目為「綠色」表示即將完成設定,若子項目為「灰色」表示尚未完成組態設定,接著只要依序完成相關子項目即可建立完成。

圖 15、建立混合式部署 RemoteApp 服務

步驟 3、設定及連結 Azure 虛擬網路

按下「連結 remoteapp 虛擬網路」項目後,準備開始建立 RemoteApp 虛擬網路,請點選「建立新的 RemoteApp 虛擬網路」項目,接著依序鍵入或選擇相關項目:

  • 名稱: RemoteApp 虛擬網路名稱。
  • 區域: 要將 RemoteApp 虛擬網路,部署至全球十三座資料中心當中的哪裡。
  • 虛擬網路位址: 指定「雲端(Azure)」虛擬網路位址資訊。
  • 本機網路位址: 指定「地端(On-Premises)」虛擬網路位址資訊。
  • DNS 伺服器: 指定本地端 DNS 伺服器 IP 位址(必須要能解析 Windows AD 網域)。
  • VPN 裝置: 指定 Site-to-Site VPN 裝置的 IP 位址。


完成組態設定作業後,佈建 RemoteApp 虛擬網路大約需要「25 ~ 30 分鐘」。

圖 16、建立 RemoteApp 虛擬網路中

步驟 4、DirSync 目錄同步機制

順利建立好 RemoteApp 虛擬網路之後,地端的 Active Directory 與雲端的 Azure Active Directory 已經能溝通,接著只要透過 DirSync 目錄同步機制,便可以將地端 Active Directory 的使用者帳號,同步至雲端的 Azure Active Directory 當中。

下圖為在地端的 Active Directory「新增」二筆使用者帳號後,透過 DirSync 目錄同步機制,並搭配 Synchronization Service Manager 工具,來觀察地端與雲端 Azure Active Directory 使用者帳號同步的情況,在目錄同步記錄中可以正確的觀察到已經同步二筆使用者帳號至雲端當中。

圖 17、觀察地端與雲端 Azure Active Directory 使用者帳號同步的情況

完成使用者帳號的同步作業之後,其它發佈 RemoteApp 應用程式,以及管理使用者帳號能否存取 RemoteApp 應用程式的動作,則與雲端部署的操作方式相同,因此便不再貲述。

6、結語

至此,透過本文的實戰演練及操作管理人員應該已經了解,以往自行打造 RemoteApp 運作架構及環境,雖然擁有充份的管理權限,但所需的前置作業如硬體架構、網路環境...等,對於 IT 預算及人員編制本來就相對不足的中小企業而言,將是個沈重的負擔。

現在,透過 Azure RemoteApp 便能有效解決這樣的困擾,讓管理人員能夠專心在企業或組織的應用程式開發上,而不用再為了底層的基礎架構而傷神。
文章標籤: ,