AWS AppStream 2.0 快速上手

- 作者 -
Sam Tu,  Business Development Manager, AWS

Amazon AppStream 2.0是託管式程式串流服務,直接在遠端處理完程式要求後,只把畫面傳送到使用者瀏覽器上呈現結果

[挑戰/適用場景]

企業中推行一個軟體,要提供給使用者什麼樣的操作體驗,才能確保不會有各種的相容性問題,往往讓負責資訊的單位或是推行的單位煩心不已。甚至,當今天隨著企業允許使用者自帶設備(BYOD)來公司使用,內部的使用場景也跟著複雜了許多,這讓一些必要且重要的關鍵程式,為了適應各種使用者裝置,而需要考量更多。

但今天我們可以設想一種場景,所有程式操作在伺服器端完成運算,只把結果傳送到使用者的畫面上,是不是讓整件事情簡單多了?不用再去想說使用者的電腦是哪個版本的作業系統,不用去想更新作業系統後,而不用擔心關鍵程式不再相容所衍生出各種安全性問題,是不是美好多了呢?而AppStream2.0很適合上述的場景中使用,例如我之前所任職的公司,雖然允許員工攜帶自己的筆電上班,但是為了要讓自行開發的ERP系統給Mac使用者操作,花了許多的人力,特別把使用者介面另外寫了一套Web版本,這對使用者來說,要另外熟悉一種介面,而每次改版的速度也落後原生Windows的版本許多;對管理/開發者來說,要維持兩個不同的用戶端,盡量維持接近的體驗,每次改版都得花兩次工,實在是吃力不討好的事情,這個時候AppStream就派上用場囉!要先承認的是,我一開始的目的其實是玩以前Windows才能跑的小遊戲,但既然花了時間嘗試,就順便記下來,當成是一種紀錄跟分享。

在開始進入操作前,先說明一下根據以下步驟逐步做完,就可以建立一個供自己串流測試用的小程式 (這次是用免費的電路模擬軟體LCircuit做範例),當然也可以替換成自己想要嘗試的軟體,體驗看看囉。

[操作步驟]

AppStream2.0的建立流程主要分成六大步驟,可以參考如下說明:

[建立流程]

一、選定區域

登入 AWS Console 後,從服務或尋找服務中搜尋 AppStream2.0。進入後從右上角選擇要建立服務的地理區域(很重要!選錯會讓 latency 飆高,預設是北維吉尼亞),台灣使用者建議使用東京。 >>回到步驟表<<

    可以從這裡搜尋AWS的各項服務

二、使用"Image Builder"建立後續要用來串流使用的程式

1. 左側點選到Images選單後,切換上方的標籤頁選擇Image Builder,按下Launch Image Builder來開始我們的第一步囉 

2. 選擇要運行App的底層作業系統,因為我只是測試看看,就選擇standard.medium來跑一般的App
3. 幫要建立的Image取個名字吧
4. 選擇底層的Instance type,這邊要注意的是,這個部分選擇的Instance大小,不是正式部署後的Instance類型,只是要建立Image時的Instance類型而已

5. 下方的VPC Endpoints / IAM role的進階選項,可以根據需求設定。簡單來說,就是是否允許使用者在特定VPC(內網)中,以及使用特定的IAM role套用到Image builder中時使用。但因為我需要在Internet環境隨時可以存取,所以這邊選擇了預設值就好(如果是企業內部使用,建議先跟AWS架構師討論過再決定要怎麼連線喔)。 

6. 選擇了Continue後,進入網路存取的設定頁面,因為我直接想要使用網際網路存取,所以勾選了"Default Internet Access",並且選擇預設的VPN,還有想要使用的Subnet / Security group
7. 針對有需要整合AD的用戶,可以在此頁的下半部選擇"Active Directory Domain (Optional)",將組織的AD還有OU資訊進行設定還有選擇,就可以讓使用者登入的部分更簡化囉,設定好後我們就按下“Review”來進行設定的確認,都沒有問題後就可以選擇"Launch"來建立我們的第一個Image

三、設定要提供存取的App內容

(這個步驟是整個AppStream設定中最重要的一步,因為程式的安裝及設定,還有測試,都在這個階段要完成,所以格外重要,讓我們一起來看看吧)

  1. 首先是選取我們建立好的Image,然後點選上方的"Connect"

  2. 等待連線後,會看到下方選擇使用者視窗

3. Administrator是安裝需要程式時候要選擇的使用者,安裝好程式後所做的設定不會保留下來,需要切換至Template User來進行設定

3.1 我們先以之前下載好的免費電路模擬軟體LCircuit當成例子。在下載(並且安裝完成)後,點選"Add App",並選擇該目標程式,在進行下一步前,建議先執行看看是不是可以正常運作。如果要讓使用者透過AppStream 2.0使用的程式不只一個,就逐一完成安裝並加入選單中

3.2 可在開啟的視窗中設定該程式的顯示名稱等資訊,完成後選擇"Save"。此處要注意,若是無需安裝可直接執行的程式,不要將程式的資料夾放在桌面或使用者資料夾下的目錄中,因為在切換成其他使用者(如Template/Test User等)的時候,是無法進行存取的;建議可以放在共用目錄或是C:\下

4. Template User是針對安裝好的程式來進行使用者設定。常會使用在需要帶特定參數來啟動的程式上

4.1 選擇"Next",並在下個頁面選擇"Switch User"切換至Template User

4.2 切換至Template User後,點選稍早加入的LCircuit,確認是否可以正常啟動。若無法正常啟動,建議一樣要切回Administrator檢查是不是因為安裝或是資料夾擺放的位置造成無法開啟的問題

1. 左側點選到Images選單後,切換上方的標籤頁選擇Image Builder,按下Launch Image Builder來開始我們的第一步囉 

5.2 看來使用上沒有問題,我們可以關閉程式後,再次點選"Switch User",切換回Administrator,並且點選右下角的"Next"

5.3 為了讓程式效能最佳化,我們要在這個頁面點選右上角的"Launch",讓系統可以針對程式利用的資源進行分析後進行優化

四、建立Fleets ,此為使用者連線時的底層設定(可以跟Image Builder的Instance type不同,這邊的為使用者連線時會啟用的Instance類型)

2. 設定好Fleet的名稱/顯示名稱後點選下一步
3. 選擇稍早建立好要串流的Image後選擇"Next"
4. 跟建立Image時很相似地,選擇要供使用者串流時候的Instance Type
5. 設定Instance運作的模式是On-Demand或是Always running,在這裡,我選擇了On-Demand來確保使用時計價,讓成本較低
6. Session/連線時間是每次連線進來後允許的時間,還有閒置多久後會逾時的設定,先保持預設就可以了
7. Fleet capacity是指串流時Instances數量,併行的使用者數量是需要考量的部分,建議將併行執行的最多人數設定為Maximum Capacity的數量(例如同時最多有5位要使用,就將此值設定為5)
9. 網路的設定也很類似Image Builder的設定,根據我們的需求將網路部分完成設定,以及是否要結合AD Domain,完成後點選"Next"就會進行Review,都沒有問題後點選"Create"就完成了Fleet的建立

五、設定供使用者存取的"Stack"

1. 待 Fleet 建立好後,就要來進行我們的下一步,建立 Stack,左側切換到 Stacks 後,點選"Create Stack"
2. 完成Stack的相關名稱/顯示名稱,還有結束串流及提供回應的URL位置(Optional)

3. Fleet的部分可以選擇稍早建立的Fleet作為運行的底層(此為Optional,也可以點選右側"Create new fleet"來在這邊建立Fleet) 

4. 下方的Embed AppStream2.0可以設定允許嵌入Streaming session的Domain(這邊只允許https的連線喔)
5. 點選"Next"後,設定S3儲存位置 (包含使用者家目錄資料夾儲存的bucket)、是否允許使用 Google Drive for G Suite / OneDrive for Business可以根據需求來進行選擇
6. 下一步,要來設定剪貼簿、本地檔案傳輸權限跟印表機權限。另外,程式的設定值是否允許儲存也是在這個頁面中設定
7. 進到下個頁面完成Review沒問題後,點選"Create"來建立需要的Stack

六、User pool

1. 切換到User Pool後,點選"Create User",在彈出視窗後,填入相關資料後按下"Create User"
2. 建立好使用者後,勾選使用這前方的選取框,並點選上方的"Actions"按鈕,選取"Assign Stack"來指派Stack
3. 設定視窗也可以一併送出邀請信給該使用者,來通知對方可以開始使用
4. 可以開始連線,開心使用AppStream2.0串流程式囉

七、後記

這個粗淺的操作說明,希望可以幫助到有需要類似需求的朋友們,當然AWS的業務還有架構師都非常樂意協助相關需求的建議及規劃,不管是針對文章內容有疑問、建議,或是想要進一步規劃類似架構需要諮詢,歡迎造訪台灣 AWS,可在網頁的最下方聯繫到我們喔!

 免費註冊 AWS 帳號

新戶註冊即享 AWS 免費方案,可探索超過 100 種 AWS 的產品與服務,還能加碼領取獨家贈品!

 與我們聯絡

若欲尋求技術、帳單帳戶、登入存取支援,或希望與 AWS 的雲端業務聯絡,都竭誠歡迎您與我們聯繫!

 探索台灣資源中心

集結研討會精采回顧雲端主題白皮書開始上雲系列等免費資源,進一步豐富您的雲端之旅。