本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 自動建立 Amazon WorkSpaces 應用程式資源 AWS CloudFormation
Ram Kandaswamy,Amazon Web Services
摘要
此模式提供程式碼範例和步驟, AWS 雲端 以使用 AWS CloudFormation 範本自動在 中建立 Amazon WorkSpaces 應用程式
先決條件和限制
先決條件
限制
您無法在該執行個體建立之後修改與 WorkSpaces 應用程式執行個體相關聯的 AWS Identity and Access Management(IAM) 角色。
Architecture
下圖說明如何使用 CloudFormation 範本自動建立 WorkSpaces 應用程式資源。

該圖顯示以下工作流程:
您可以在此模式的其他資訊其他資訊區段中,根據 YAML 程式碼建立 CloudFormation 範本。
CloudFormation 範本會建立 CloudFormation 測試堆疊。
(選用) 您可以使用 WorkSpaces 應用程式建立映像建置器執行個體。
(選用) 您可以使用自訂軟體建立 Windows 映像。
CloudFormation 堆疊會建立 WorkSpaces 應用程式機群執行個體和堆疊。
您可以將 WorkSpaces 應用程式資源部署至 HTML5-compliant瀏覽器上的最終使用者。
工具
Amazon WorkSpaces 應用程式是一項全受管應用程式串流服務,可讓您從任何地方立即存取桌面應用程式。WorkSpaces 應用程式會管理託管和執行應用程式所需的 AWS 資源、自動擴展,以及隨需提供使用者存取權。
AWS CloudFormation 可協助您模型化和設定 AWS 資源、快速一致地佈建資源,以及在整個生命週期中管理資源。您可以使用範本來描述您的資源及其相依性,並將它們一起啟動和設定為堆疊,而不是個別管理資源。您可以管理和佈建跨多個 和 的堆疊 AWS 帳戶 AWS 區域。
最佳實務
正確設定映像建置器的網路存取 – 使用 NAT 閘道進行傳出限定網際網路存取,在具有適當網際網路存取的虛擬私有雲端 (VPC) 子網路中啟動映像建置器。
在建立映像之前,測試與必要資源 (例如應用程式伺服器、資料庫和授權伺服器) 的網路連線。確認 VPC 路由表允許連線至所有必要的網路資源。如需詳細資訊,請參閱 WorkSpaces 應用程式文件中的網際網路存取。
根據服務配額主動監控機群容量 – WorkSpaces 應用程式執行個體類型和大小配額是根據 AWS 帳戶每個 AWS 區域。如果您在同一個區域中有多個使用相同執行個體類型和大小的機群,則該區域中所有機群的執行個體總數必須小於或等於適用的配額。如需詳細資訊,請參閱 WorkSpaces 應用程式文件中的故障診斷機群。
在機群部署之前,在映像建置器測試模式中測試應用程式 – 在建立映像和部署至機群之前,一律在映像建置器測試模式中驗證應用程式。測試模式模擬最終使用者在機群執行個體上擁有的有限許可。如需詳細資訊,請參閱 WorkSpaces 應用程式文件中的疑難排解映像建置器。
史詩
| 任務 | Description | 所需的技能 |
|---|---|---|
更新 CloudFormation 範本。 |
| AWS 系統管理員、雲端管理員、雲端架構師、一般 AWS、AWS 管理員 |
使用 範本建立 CloudFormation 堆疊。 |
| 應用程式擁有者、AWS 系統管理員、Windows Engineer |
疑難排解
| 問題 | 解決方案 |
|---|---|
各種問題 | 如需詳細資訊,請參閱 WorkSpaces 應用程式文件中的故障診斷。 |
相關資源
參考
教學課程和影片
其他資訊
下列程式碼是 CloudFormation 範本的範例,可用來自動建立 WorkSpaces 應用程式資源。
AWSTemplateFormatVersion: 2010-09-09 Parameters: SubnetIds: Type: 'List<AWS::EC2::Subnet::Id>' testSecurityGroup: Type: 'AWS::EC2::SecurityGroup::Id' ImageName: Type: String Resources: AppStreamFleet: Type: 'AWS::AppStream::Fleet' Properties: ComputeCapacity: DesiredInstances: 5 InstanceType: stream.standard.medium Name: appstream-test-fleet DisconnectTimeoutInSeconds: 1200 FleetType: ON_DEMAND IdleDisconnectTimeoutInSeconds: 1200 ImageName: !Ref ImageName MaxUserDurationInSeconds: 345600 VpcConfig: SecurityGroupIds: - !Ref testSecurityGroup SubnetIds: !Ref SubnetIds AppStreamStack: Type: 'AWS::AppStream::Stack' Properties: Description: AppStream stack for test DisplayName: AppStream test Stack Name: appstream-test-stack StorageConnectors: - ConnectorType: HOMEFOLDERS UserSettings: - Action: CLIPBOARD_COPY_FROM_LOCAL_DEVICE Permission: ENABLED - Action: CLIPBOARD_COPY_TO_LOCAL_DEVICE Permission: ENABLED - Action: FILE_DOWNLOAD Permission: ENABLED - Action: PRINTING_TO_LOCAL_DEVICE Permission: ENABLED AppStreamFleetAssociation: Type: 'AWS::AppStream::StackFleetAssociation' Properties: FleetName: appstream-test-fleet StackName: appstream-test-stack DependsOn: - AppStreamFleet - AppStreamStack