云考古 | Azure 自建 RDS 让 iPad 跑 Office 97
導(dǎo)語
蘋果一直在嘗試把iPad做成電腦,但效果始終不如真正的PC理想。如果能在iPad上運(yùn)行PC軟件,如完整版的Office,那一定是一種非常理想的方式。我小時候電腦啟蒙使用的第一個軟件就是Office 97里的Word,這也是第一款引入Office助手(大眼夾)的版本。為了紀(jì)念7歲就夭折的大眼夾,我決定讓它在22年后的iPad Pro上復(fù)活。
(圖 / Office 2010 the Movie)
其實(shí) iPad 的系統(tǒng)不可能跑Office 97,最接近 native 的方式是采用 RDS 里的 RemoteApp。Azure 在5年前曾經(jīng)推出過云端托管的 RemoteApp 服務(wù),但后來retire了。官方文檔中的一個遷移方式,即使用 IaaS VM 自己配置 RDS,就是本文要介紹的內(nèi)容。
Remote Desktop vs RemoteApp
Windows 遠(yuǎn)程桌面(Remote Desktop / RDP)歷史悠久,相信大家已經(jīng)足夠熟悉。近年來隨著微軟突然開放,安卓、iOS也都有了官方的RDP客戶端。想要在iPad上跑 Office 97 其實(shí)用 RDP 絕對可以,并且最方便。那什么是 RemoteApp 又為啥要用 RemoteApp 呢?
RemoteApp 其實(shí)是 Remote Desktop 的進(jìn)一步“封裝”,即不提供完整的桌面環(huán)境,只遠(yuǎn)程渲染你所使用的應(yīng)用UI,用戶看不見 Windows 的其他界面,如任務(wù)欄、桌面等,只能使用IT管理員分配的指定應(yīng)用,以提高安全可控性,并易于管理。比如,用戶的客戶端(Windows、安卓、iOS)上并沒有安裝某企業(yè)軟件,也可能用戶臨時用了他人的設(shè)備,不適合安裝該軟件。那么就可以通過 RemoteApp,在當(dāng)前設(shè)備上使用服務(wù)器端安裝的該軟件,整個過程均為加密通訊,并且數(shù)據(jù)不保存在客戶端。而用戶也無法操作服務(wù)器上的完整桌面,保證了安全性。RemoteApp 還有個好處,即窗口看上去就像本地的native應(yīng)用一樣,可以到處拖動、最小化、換屏幕等等,對于用戶的體驗(yàn)也好于完整版 Remote Desktop。因此我選擇用 RemoteApp 來跑Office 97。
RDS 環(huán)境
Remote Desktop Service(RDS)是Windows Server上的一個服務(wù)角色,其中包含了本文要用的RemoteApp。相比點(diǎn)點(diǎn)鼠標(biāo)就1分鐘開通RDP,RDS的配置比較復(fù)雜。它需要多臺服務(wù)器才能完成配置。
一個典型的部署結(jié)構(gòu)為:一臺 Active Directory 域控(DC)、一臺RDS網(wǎng)關(guān)(Gateway)、一臺Broker、一臺或多臺運(yùn)行實(shí)際應(yīng)用的Host服務(wù)器。要讓用戶安全使用RDS服務(wù),還需要購買正規(guī)的SSL證書。整個過程相當(dāng)蠻煩,很容易配進(jìn)ICU。
在Azure上配置RDS
像我這種只會點(diǎn)鼠標(biāo)拖控件的 .NET 程序員,沒有經(jīng)過專業(yè)的IT培訓(xùn),絕對搞不定純手工的RDS配置。還好微軟智能云 Azure 提供了一鍵全自動部署RDS的ARM模板,不需要996就可以傻瓜化完成RDS的安裝。
什么是 ARM 模板
Azure Resource Manager (ARM) 模板用于將資源通過編程方式部署到資源組中。ARM 為 Azure 提供完整的基礎(chǔ)結(jié)構(gòu)作為代碼功能。該格式非常靈活,支持配置多個資源以及它們之間的依賴關(guān)系。
用人話來說,就是對于一個復(fù)雜的配置,可以將配置要求和步驟用代碼的形式寫下來,把參數(shù)暴露給用戶,然后通過點(diǎn)鼠標(biāo)或者程序?qū)崿F(xiàn)自動化部署,此過程中用戶只需要知道自己需要的參數(shù)值,而不需要關(guān)心環(huán)境如何安裝和配置等底層細(xì)節(jié),Azure 能自動搞定一切。ARM 模板可以用社區(qū)和微軟提供的,也可以自己寫模板給別人用。
部署 RDS ARM 模板
在Azure應(yīng)用商店中找到“Remote Desktop Services (RDS) Deployment”(https://azuremarketplace.microsoft.com/en-us/marketplace/apps/rds.remote-desktop-services-basic-deployment?tab=Overview),點(diǎn)擊“Get it now”,跳轉(zhuǎn)到你的 Azure Portal 進(jìn)行部署。
在 Basics 中設(shè)置服務(wù)器管理員的用戶名、密碼,這個用戶將被加入AD,用于配置所有服務(wù)器上的后續(xù)設(shè)置。建議創(chuàng)建一個獨(dú)立的 Resource group 用于管理整套 RDS 資源。
在?DNS name label?中指定一個域名前綴,該域名最終用來給終端用戶連接 RemoteApp 時使用。AD domain name指定為你的域名,此處可以任意。如果你是個土豪,有證書條件,也能指定一個真實(shí)的域名。
對國內(nèi)用戶來說,Azure VM 的計費(fèi)昂貴,為了不淪落街頭,建議把 RDSH 服務(wù)器數(shù)量改成1臺。其他配置保持默認(rèn)。
最后確認(rèn)參數(shù)正確后,進(jìn)行一鍵部署。
整個部署過程大約持續(xù)1小時,可以隨時在部署信息里看到進(jìn)度。
部署完成后,在 Azure 里能夠看見4臺VM。分別是:
advm: Active Directory 域控(具有公網(wǎng)IP)
cb-vm: 連接broker(內(nèi)網(wǎng)IP)
gw-vm: RDS網(wǎng)關(guān)(公網(wǎng)IP+公網(wǎng)域名)
rdsh-0: 應(yīng)用托管服務(wù)器(內(nèi)網(wǎng)IP)
至此,Azure 能幫我們?nèi)詣幼龅氖虑榫屯瓿闪?#xff0c;接下來需要我們手工完成剩余配置。
設(shè)置RDS服務(wù)器組
使用公網(wǎng)IP以及之前配置的管理員賬號RDP到advm,然后在“Add roles and features/Features”下面,勾選“AD DS Tools”以及“AD LDS Snap-Ins and Command-Line Tools”,并完成安裝。
現(xiàn)在 Tools 菜單里就能找到“Active Directory Users and Computers”,點(diǎn)擊進(jìn)入。
在 Computers 里能夠看見其余3臺服務(wù)器,證明DC到其他服務(wù)器的連接正常。
在 Users 下,創(chuàng)建一個用戶,如edi-rds.com\ninja.cat,該用戶為最終用戶運(yùn)行 RemoteApp 使用的身份。
至此,advm 的配置全部完成。
接下來我們要配置RDS網(wǎng)管服務(wù)器(gw-vm)。使用域中(一定要帶edi-rds.com域名)的管理員賬戶連接到gw-vm。
這一步相當(dāng)重要!雖然不帶域名的管理員賬號也能登錄,但沒有RDS配置權(quán)限。
選擇Manage – Add Servers
將?rdsh-0?以及?broker?加入右邊的服務(wù)器列表
在 All Servers 中等待?broker?及 rdsh-0 上線。Performance counters無所謂是否啟用。
現(xiàn)在,Remote Desktop Services Overview?里應(yīng)該能看見完整的部署結(jié)構(gòu)
回到自己的計算機(jī)上,用瀏覽器訪問RDS網(wǎng)關(guān)服務(wù)器,格式為:
https://RDS網(wǎng)關(guān)公網(wǎng)IP或域名/RDWeb
由于我們沒有配置證書,所以先暫時忽略安全警告
使用之前在DC上創(chuàng)建的用戶賬戶登錄網(wǎng)頁端RDS Portal
此時嘗試訪問默認(rèn)的遠(yuǎn)程桌面應(yīng)用,會發(fā)現(xiàn)由于證書不受信任而被拒絕。為了測試目的,我們暫時手工信任此證書。點(diǎn)擊 “View certificate …”, “Copy to File…”
選擇“DER encoded binary X.509 (.CER)”,完成證書導(dǎo)出
導(dǎo)出完成后,在證書文件上右鍵,選擇 “Install Certificate”
安裝位置選 “Local Machine”
安裝到 “Trusted Root Certification Authorities”
在RDSH-0上安裝Office 97
由于?RDSH-0?沒有公網(wǎng)IP,因此無法直接從自己的計算機(jī) RDP 到 RDSH-0。因此,我們可以在有公網(wǎng)IP的?gw-vm?里面再次 RDP 到 RDSH-0
使用經(jīng)典方式安裝 Office 97。溫馨提示:可以使用 Azure Blob Storage 秒傳幾百兆的 Office 97 鏡像哦~
由于22年后的云端服務(wù)器性能非常恐怖,Office 97幾秒內(nèi)就能安裝完成
安裝完成后,你可以先在服務(wù)器上試試Office應(yīng)用能否正常啟動
發(fā)布Office 97 RemoteApp
回到 gw-vm,在 Remote Desktop Services / Collections / Desktop Collection / RemoteApp Programs 里,點(diǎn)擊 Tasks – Publish RemoteApp Programs
選擇你需要的 Office 97 組件,并完成發(fā)布
現(xiàn)在,回到自己的計算機(jī)上,刷新 RDWeb,應(yīng)該能看見所有發(fā)布的 Office 97 產(chǎn)品。
可以先在自己計算機(jī)上測試能否正常使用。
至此,PC和Azure服務(wù)器上的配置全部完成。
在iPad上配置RemoteApp客戶端
在蘋果應(yīng)用商店里下載微軟的“Remote Desktop”應(yīng)用
添加 https://RDS網(wǎng)關(guān)公網(wǎng)IP或域名/RDWeb? 為資源
添加 RDWeb 所需賬號,點(diǎn)擊 Find Feed
點(diǎn)擊 Accept 忽略證書警告
此時在主界面能看到所有可用的 RemoteApp,和PC上一樣,啟動 Word 97 即可使用!
在 iPhone 上也是一樣的操作~
參考文檔:
https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-in-azure
https://docs.microsoft.com/en-us/remoteapp/remoteapp-migrationoptions
長
按
關(guān)
注
汪宇杰博客
微信號 : ediwangblog
.NET, Azure, Windows
總結(jié)
以上是生活随笔為你收集整理的云考古 | Azure 自建 RDS 让 iPad 跑 Office 97的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用腾讯云提供的针对Nuget包管理器的
- 下一篇: DevOps案例研究:庖丁解牛,剖析Go
