本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
機群和堆疊
使用 Amazon AppStream 2.0,您可以在串流應用程式的過程中建立叢集執行個體和堆疊。「機群」由執行您所指定映像的串流執行個體組成。「堆疊」由相關聯的機群、使用者存取政策和儲存體組態組成。
機群類型
機群類型可讓您決定執行個體執行的時機和您的付款方式。執行個體執行的時機,決定了您的使用者應用程式在選取時啟動的速度。您會在建立機群時指定機群類型,且建立後即無法變更機群類型。
可用的機群類型包括:
- Always-On
-
串流執行個體會持續執行,即使沒有使用者正在串流應用程式和桌面也一樣。
- On-Demand
-
串流執行個體只在使用者串流應用程式和桌面時執行。尚未指派給使用者的串流執行個體處於停止狀態。
- 彈性
-
串流執行個體集區由 AppStream 2.0 管理。當使用者選取要啟動的應用程式或桌面時,他們將在下載應用程式區塊並掛載到串流執行個體後開始串流。如需為彈性機群建立應用程式區塊的詳細資訊,請參閱 應用程式區塊。
使用 Always-On 機群可讓您的使用者立即存取他們的應用程式。使用隨需機群則可以最佳化您的串流變更,並在 1 到 2 分鐘的等待時間後為您的使用者提供應用程式的存取。如需詳細資訊,請參閱 Amazon AppStream 2.0 定價
工作階段內容
您可以使用下列其中一種方法,將參數傳遞到串流應用程式:
-
在 CreateStreaming URL AppStream 2.0 API 作業中指定工作階段內容。如需詳細資訊,請參閱 CreateStreamingURL。
-
將 sts: TagSession 權限新增至 IAM 角色的信任政策,並在 SAML 2.0 身分識別提供者的身份驗證回應中將工作階段內容指定為 SAML 宣告。如需詳細資訊,請參閱 步驟 5:建立SAML驗證回應的判斷提示 及 步驟 5:建立SAML驗證回應的判斷提示。
如果您的映像使用 2018 年 10 月 30 日或之後發行的 AppStream 2.0 代理程式版本,則工作階段內容會儲存在映像中,做為 Windows 或 Linux 環境變數。如需有關特定環境變數的資訊,請參閱《 AppStream 2.0 叢集的使用者和執行個體中自訂 AppStream 2.0 機群以最佳化您的使用者應用程式串流體驗 繼資料》。
注意
使用者可以在 AppStream 2.0 串流 URL 中看到工作階段內容參數。我們強烈建議您不要在工作階段內容參數中放入機密或敏感資訊。由於使用者可修改串流 URL,因此建議您執行額外的驗證,以判斷工作階段內容對最終使用者而言是否有效。例如,您可以將工作階段內容與其他工作階段資訊 (例如 AppStream 2.0 叢集的使用者和執行個體中繼資料) 進行比較。
AppStream 2.0 不會對工作階段內容參數執行驗證。
使用工作階段環境將參數傳遞給您的串流應用程式
在下列步驟中,您將使用工作階段內容來啟動 Web 瀏覽器,並自動開啟特定網站。對於執行 Windows 的執行個體,您將使用 Firefox 瀏覽器。對於執行 Linux 的執行個體,您將使用 Chromium。
使用工作階段啟動網站
-
在左側導覽窗格中,選擇 Images (映像)、Image Builder (映像建置器)。
-
選擇要使用的映像建置器,驗證它已處於 Running (執行中) 狀態,然後選擇 Connect (連線)。
-
在本機使用者索引標籤上選擇管理員,以登入映像建置器。
-
建立
C:\
的子資料夾。在此範例中,使用C:\Scripts
。 -
在新資料夾中建立 Windows 批次檔。針對此範例,請建立
C:\Scripts\session-context-test.bat
並新增指令碼,從工作階段環境以 URL 啟動 Firefox。使用下列指令碼:
CD "C:\Program Files (x86)\Mozilla Firefox" Start firefox.exe %APPSTREAM_SESSION_CONTEXT%
-
在映像助理中,新增
session-context-test.bat
並將名稱變更為Firefox
。您不需要新增 Firefox。此步驟只需要您新增批次檔。
-
建立映像、機群和堆疊。針對此範例,請使用
session-context-test-fleet
做為機群名稱,session-context-test-stack
做為堆疊名稱。 -
機群執行之後,您可以使用
session-context
參數呼叫 create-streaming-url,如此範例所示。aws appstream create-streaming-url --stack-name
session-context-test-stack
\ --fleet-namesession-context-test-fleet
\ --user-idusername
–-validity 10000 \ --application-idfirefox
--session-context "www.amazon.com
" -
在瀏覽器中開啟串流 URL。指令碼檔案會啟動 Firefox 並載入
http://www.amazon.com
。
同樣地,您可以執行下列步驟將參數傳遞至您的 Linux 串流應用程式。
將參數傳遞至您的 Linux 串流應用程式
-
在左側導覽窗格中,選擇 Images (映像)、Image Builder (映像建置器)。
-
選擇要使用的映像建置器,驗證它已處於 Running (執行中) 狀態,然後選擇 Connect (連線)。
-
默認情況下以ImageBuilder管理員身份登錄到圖像構建器。
-
執行下列命令來建立指令碼檔案 (例如 launch-chromium.sh):
sudo vim /usr/bin/launch-chromium.sh
-
撰寫指令碼並設定可執行檔許可,如下所示:
注意
#!/bin/bash 和來源 /etc/profile 一律為指令碼中的必要項。
#!/bin/bash source /etc/profile /usr/bin/chromium-browser $APPSTREAM_SESSION_CONTEXT
-
使用映像助理 CLI 新增 launch-chromium.sh:
sudo AppStreamImageAssistant add-application \ --name
chromium
\ --absolute-app-path/usr/bin/launch-chromium.sh
-
建立映像、機群和堆疊。針對此範例,請使用
session-context-test-fleet
做為機群名稱,session-context-test-stack
做為堆疊名稱。 -
機群執行之後,您可以使用
session-context
參數呼叫 create-streaming-url,如此範例所示。aws appstream create-streaming-url --stack-name
session-context-test-stack
\ --fleet-namesession-context-test-fleet
\ --user-idusername
\ --application-idchromium
--session-context "www.amazon.com
" -
在瀏覽器中開啟串流 URL。批次檔會啟動 Chromium 並載入
http://www.amazon.com
。