Amazon S3 存储桶存储 - Amazon AppStream 2.0

Amazon S3 存储桶存储

启用应用程序设置持久性时,用户的应用程序自定义项和 Windows 设置将自动保存到一个虚拟硬盘(VHD)文件中,该文件存储在您 AWS 账户中创建的 Amazon S3 存储桶中。对于每个 AWS 区域,AppStream 2.0 会在您的账户中创建一个对于您的账户和该区域而言是唯一的存储桶。用户所配置的所有应用程序设置都将存储在该区域的这个存储桶中。

您不需要执行任何配置任务来管理这些 S3 存储桶;它们完全由 AppStream 2.0 服务托管。存储在每个存储桶中的 VHD 文件在传输中使用 Amazon S3 的 SSL 端点进行加密,在静态期间使用 AWS 托管的 CMK 进行加密。存储桶以特定格式命名,如下所述:

appstream-app-settings-region-code-account-id-without-hyphens-random-identifier
region-code

这是在其中创建具有应用程序设置持久性的堆栈的 AWS 区域代码。

account-id-without-hyphens

您的 AWS 账户 ID 随机标识符确保与该区域中的其他存储桶不发生冲突。存储桶名称的第一部分 appstream-app-settings 不随账户或区域而改变。

例如,如果您为账号 123456789012 在美国西部(俄勒冈)(us-west-2)区域中的堆栈启用应用程序设置持久性,AppStream 2.0 会在您账户的该区域中创建一个具有如下所示名称的 Amazon S3 存储桶。只有具有足够权限的管理员才能删除此存储桶。

appstream-app-settings-us-west-2-1234567890123-abcdefg

禁用应用程序设置持久性不会删除存储在 S3 存储桶中的任何 VHD。要永久删除设置 VHD,您或具备足够权限的管理员必须使用 Amazon S3 控制台或 API 执行此操作。AppStream 2.0 添加了一个存储桶策略,以防止意外删除存储桶。有关更多信息,请参阅适用于 Amazon AppStream 2.0 的 Identity and Access Management中的用于应用程序设置持久性的 IAM 策略和 Amazon S3 存储桶

启用应用程序设置持久性后,将为每个设置组创建一个唯一的文件夹来存储设置 VHD。S3 存储桶中该文件夹的层次结构取决于用户启动流式传输会话的方式,如下面一节所述。

存储在您账户的 S3 存储桶中的设置 VHD 所在的文件夹路径使用以下结构:

bucket-name/Windows/prefix/settings-group/access-mode/user-id-SHA-256-hash
bucket-name

存储用户应用程序设置的 S3 存储桶的名称。该名称格式如本节中前面所述。

(前缀:)

Windows 版本特定的前缀。例如,Windows Server 2012 R2 的 v4。

settings-group

设置组值。此值将应用于共享相同应用程序设置的一个或多个堆栈。

access-mode

用户的标识方式:custom 表示 AppStream 2.0 API 或 CLI,federated 表示 SAML,userpool 表示用户池用户。

user-id-SHA-256-hash

用户特定的文件夹名称。此名称是使用从用户 ID 生成的小写 SHA-256 哈希十六进制字符串创建的。

下面的示例文件夹结构应用于一个流式传输会话,将使用用户 ID 为 testuser@mydomain.com、AWS 账户 ID 为 123456789012 的 API 或 CLI 及美国西部(俄勒冈)区域(us-west-2)中的 test-stack 设置组访问该会话:

appstream-app-settings-us-west-2-1234567890123-abcdefg/Windows/v4/test-stack/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13

您可以通过网站或网上提供的开源编码库生成用户 ID 的小写 SHA-256 哈希值,并据此确定特定用户的文件夹。