使用自动创建 AppStream 2.0 资源 AWS CloudFormation - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用自动创建 AppStream 2.0 资源 AWS CloudFormation

由 Ram Kandaswamy 创作 () AWS

环境:生产

技术:最终用户计算; CloudNative;成本管理 DevOps;SaaS

工作负载:Microsoft

AWS服务:亚马逊 AppStream 2.0;AWS CloudFormation

Summary

此模式提供了使用AWS CloudFormation 模板在亚马逊 Web Services (AWS) 云中自动创建 Amazon AppStream 2.0 资源的代码示例和步骤。该模式向您展示如何使用AWS CloudFormation 堆栈自动创建 AppStream 2.0 应用程序资源,包括映像生成器、映像、队列实例和堆栈。您可以使用桌面或应用程序交付模式,在HTML5兼容的浏览器上将 AppStream 2.0 应用程序流式传输给最终用户。

先决条件和限制

先决条件

限制

  • 在 2.0 实例创建后,您无法修改与 AppStream 2.0 实例关联的 Ident AWS ity and Access Management (IAM) 角色。

  • 创建 AppStream 2.0 映像生成器实例后,您无法修改该实例的属性(例如子网或安全组)。

架构

下图显示了如何使用AWS CloudFormation 模板自动创建 AppStream 2.0 资源。

图表显示了以下工作流:

自动创建 AppStream 2.0 资源的工作流程。
  1. 您可以根据此模式的 “其他信息” 部分中的YAML代码创建AWS CloudFormation 模板。

  2. 该AWS CloudFormation 模板创建了一个AWS CloudFormation 测试堆栈。

    1. (可选)您可以使用 AppStream 2.0 创建映像生成器实例。

    2. (可选)您可以使用自定义软件创建 Windows 映像。

  3. AWS CloudFormation 堆栈创建一个 AppStream 2.0 舰队实例和堆栈。

  4. 您可以在HTML5兼容的浏览器上将 AppStream 2.0 资源部署给最终用户。

技术堆栈

  • 亚马逊 AppStream 2.0

  • AWS CloudFormation

工具

  • Amazon AppStream 2.0 是一项完全托管的应用程序流服务,可让您随时随地即时访问您的桌面应用程序。 AppStream 2.0 管理托管和运行应用程序所需的AWS资源,自动扩展,并按需向用户提供访问权限。

  • AWS CloudFormation帮助您对资源进行建模和设置,快速一致地配置AWS资源,并在资源的整个生命周期中对其进行管理。您可以使用模板来描述资源及其依赖关系,然后将它们作为堆栈一起启动和配置,而不必单独管理资源。您可以跨多个AWS账户和AWS地区管理和配置堆栈。

操作说明

任务描述所需技能

安装自定义软件和创建映像。

  1. 安装您计划部署给用户的 AppStream 2.0 应用程序。

  2. 使用 Photon 创建图像代理或 PowerShell 脚本为您的自定义软件创建新的 Windows 映像。 

注意:考虑使用 Windows AppLocker 功能进一步锁定图像。

AWS DevOps,云架构师
任务描述所需技能

更新AWS CloudFormation 模板。

  1. 将此模式的 “其他信息” 部分中的代码保存为YAML文件。

  2. 使用环境中参数的必需值更新YAML文件。

AWS系统管理员、云管理员、云架构师、常规AWS、AWS管理员

使用模板创建AWS CloudFormation 堆栈。

  1. 登录AWS管理控制台并打开AWS CloudFormation 控制台

  2. 在导航窗格中,选择堆栈

  3. 选择创建堆栈,然后选择使用新资源(标准)

  4. 先决条件 — 准备模板部分,请选择模板已就绪

  5. 指定模板部分,选择上传模板 文件

  6. 选择 “选择文件”,然后选择更新的AWS CloudFormation 模板。

  7. 完成向导中的剩余步骤创建您的堆栈。

应用程序所有者、AWS系统管理员、Windows 工程师

相关资源

参考

教程和视频

其他信息

以下代码是允许您自动创建 AppStream 2.0 资源的AWS CloudFormation 模板示例。

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