将应用程序图标、设置脚本、会话脚本和 VHD 存储在 S3 存储桶中 - 亚马逊 AppStream 2.0

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

将应用程序图标、设置脚本、会话脚本和 VHD 存储在 S3 存储桶中

您必须将用于应用程序和应用程序块的应用程序图标、设置脚本、会话脚本和 VHD 存储在您账户的亚马逊简单存储服务 (Amazon S3) 存储段中。 AWS AppStream 2.0 当您的用户开始直播会话时,Elastic 队列会从 S3 存储桶下载应用程序图标、设置脚本和 VHD。S3 存储桶必须位于您打算在其中创建 AppStream 2.0 Elastic 队列的 AWS 区域中。

我们建议您创建一个新 S3 存储桶,用于仅存储您打算与弹性实例集一起使用的应用程序图标、设置脚本、会话脚本和 VHD。我们还建议在 S3 存储桶上启用版本控制。这样就可以在必要时恢复到以前的对象版本。有关如何创建新 S3 存储桶的更多信息,请参阅创建存储桶。有关如何管理对象版本控制的更多信息,请参阅在 S3 存储桶中使用版本控制

注意

AppStream 2.0 使用您的 VPC 访问您选择的 S3 存储桶。您为实例集选择的 VPC 必须提供对 S3 存储桶的足够网络访问权限。

确保您的 S3 存储桶内容未使用您管理的密钥(客户托管密钥)进行加密。

目前,Elastic 队列不支持配置为使用服务器端加密和客户提供的加密密钥 (SSE-C) 的 S3 存储桶。如果您需要对 S3 对象进行静态加密,那么使用 Amazon S3 托管的加密密钥 (SSE-S3) 进行服务器端加密是一个适用于 Elastic 队列的选项。

Amazon S3 存储桶权限

您选择的 Amazon S3 存储桶必须具有存储桶策略,该策略必须为 AppStream 2.0 服务主体提供足够的访问权限,以便从 Amazon S3 存储桶访问和下载对象。您需要修改以下存储桶策略,然后将其应用于您打算用于应用程序图标、设置脚本和 VHD 的 Amazon S3 存储桶。有关如何对 Amazon S3 存储桶应用策略的更多信息,请参阅使用 Amazon S3 控制台添加存储桶策略

请确保已禁用 Amazon S3 存储桶的访问控制列表(ACL)。有关更多信息,请参阅禁用所有新存储桶的 ACL 并强制执行对象所有权

本节介绍关于存储桶策略的典型使用案例的示例。这些示例策略将 存储桶 用作资源值。要测试这些策略,请将 用户输入占位符 替换为您自己的信息(例如存储桶名称)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppStream2.0ToRetrieveObjects", "Effect": "Allow", "Principal": { "Service": ["appstream.amazonaws.com"] }, "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::bucket/VHD object", "arn:aws:s3:::bucket/Setup script object", "arn:aws:s3:::bucket/Application icon object", "arn:aws:s3:::bucket/Session scripts zip file object" ] } ] }
注意

存储桶策略示例定义了 AppStream 2.0 可以访问的 S3 存储桶中的特定对象。随着应用程序块的增加,您还可以使用前缀和通配符来简化策略管理。有关存储桶策略的更多信息,请参阅使用存储桶策略。有关常见存储桶示例的更多信息,请参阅存储桶策略示例

如果您使用的是 AppStream 2.0 应用程序块,那么 AppStream 2.0 需要额外的权限才能将应用程序包上传到相应的 Amazon S3 存储桶。有关 AppStream 2.0 应用区块的更多信息,请参阅AppStream 2.0 应用方块

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppStream2.0ToPutAndRetrieveObjects", "Effect": "Allow", "Principal": { "Service": [ "appstream.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:GetBucketOwnershipControls" ], "Resource": [ "arn:aws:s3:::bucket", "arn:aws:s3:::bucket/AppStream2/*", "arn:aws:s3:::bucket/Setup script object", "arn:aws:s3:::bucket/Application icon object", "arn:aws:s3:::bucket/Session scripts zip file object" ] } ] }