

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

# 管理 VHDs 用户的应用程序设置
<a name="administer-app-settings-vhds"></a>

**Topics**
+ [Amazon S3 存储桶存储](#app-persistence-s3-buckets)
+ [重置用户的应用程序设置](#app-persistence-s3-reset)
+ [启用 Amazon S3 对象版本控制和恢复用户的应用程序设置](#app-persistence-enable-versions-revert-settings)
+ [增加应用程序设置 VHD 的大小](#app-persistence-increase-VHD-size)

## Amazon S3 存储桶存储
<a name="app-persistence-s3-buckets"></a>

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

您无需执行任何配置任务即可管理这些 S3 存储桶；它们完全由 P WorkSpaces ools 服务管理。存储在每个存储桶中的 VHD 文件在传输过程中使用 Amazon S3 的 SSL 终端节点进行加密，静态文件则使用[AWS 托管 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)进行加密。存储桶以特定格式命名，如下所述：

```
wspool-app-settings-<region-code>-<account-id-without-hyphens>-<random-identifier>
```

***region-code***  
这是在其中创建具有应用程序设置持久性的目录的 AWS 区域代码。

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

例如，如果您为账号为 123456789012 WorkSpaces 的美国西部（俄勒冈）区域 (us-west-2) 中的目录启用应用程序设置持久性，则池将在该地区的账户中创建一个名称显示的 Amazon S3 存储桶。只有具有足够权限的管理员才能删除此存储桶。

```
wspool-app-settings-us-west-2-1234567890123-abcdefg
```

禁用应用程序设置持久性不会删除 S3 VHDs 存储桶中存储的任何内容。要永久删除设置 VHDs，您或其他拥有足够权限的管理员必须使用 Amazon S3 控制台或 API 执行此操作。 WorkSpaces Pools 添加了防止意外删除存储桶的存储桶策略。

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

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

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

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

***prefix***  
Windows 版本特定的前缀。例如，Windows Server 2012 R2 的 v4。

***settings-group***  
设置组值。此值将应用于共享相同应用程序设置的一个或多个目录。

***access-mode***  
用户的身份方法：`custom`用于 WorkSpaces 池 API 或 CLI、`federated` SAML 以及`userpool`用户池用户。

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

以下示例文件夹结构适用于使用 API 或 CLI 访问的直播会话，其用户 ID 为，ID 为`testuser@mydomain.com`，设置组`test-stack`位于美国西部（俄勒冈）区域 (us-west-2)： AWS 账户 `123456789012`

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

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

## 重置用户的应用程序设置
<a name="app-persistence-s3-reset"></a>

要重置用户的应用程序设置，您必须从 AWS 账户的 S3 存储桶中找到并删除 VHD 和关联的元数据文件。请确保在用户的活动流式传输会话期间不执行此操作。删除用户的 VHD 和元数据文件后，下次用户从启用了应用程序设置持久性的流媒体实例启动会话时，P WorkSpaces ools 会为该用户创建新的设置 VHD。

**重置用户的应用程序设置**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择包含要重置的应用程序设置 VHD 的 S3 存储桶。

1. 找到该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的更多信息，请参阅本主题前面的 *Amazon S3 存储桶存储*。

1. 在 **Name (名称)** 列表中，选中该 VHD 和 REG 旁的复选框，选择 **More (更多)**，然后选择 **Delete (删除)**。

1. 在 **Delete objects (删除对象)** 对话框中，验证 VHD 和 REG 已列出，然后选择 **Delete (删除)**。

下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，将创建一个新的应用程序设置 VHD。此 VHD 将在会话结束时保存到 S3 存储桶中。

## 启用 Amazon S3 对象版本控制和恢复用户的应用程序设置
<a name="app-persistence-enable-versions-revert-settings"></a>

当您的用户更改其应用程序设置时，您可以使用 Amazon S3 对象版本控制和生命周期策略来管理这些设置。通过 Amazon S3 对象版本控制，您可以保留、检索和还原设置 VHD 的每个版本。这使您可以从意外用户操作和应用程序故障进行恢复。如果启用了版本控制，每个流式传输会话之后，应用程序设置 VHD 的新版本将同步到 Amazon S3。新版本不会覆盖早期版本，因此如果您的用户设置发生问题，可以恢复到 VHD 的上一个版本。

**注意**  
应用程序设置 VHD 的每个版本都将作为一个单独对象保存到 Amazon S3 中，并且需要支付相应费用。

默认情况下在 S3 存储桶中不启用对象版本控制，因此您必须显式启用它。

**为应用程序设置 VHD 启用对象版本控制**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择要启用对象版本控制的应用程序设置 VHD 所在的 S3 存储桶。

1. 选择**属性**。

1. 依次选择 **Versioning (版本控制)**、**Enable versioning (启用版本控制)**，然后选择 **Save (保存)**。

要使旧版本的应用程序设置过期 VHDs，您可以使用 Amazon S3 生命周期策略。有关信息，请参阅《Amazon Simple Storage Service 用户指南》**中的[如何为 S3 存储桶创建生命周期策略？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html)

**恢复用户的应用程序设置 VHD**

通过从适用的 S3 存储桶删除 VHD 的较新版本，您可以恢复到用户应用程序设置 VHD 的早期版本。当用户是否具有活动的流式传输会话时，请不要执行此操作。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择要恢复到的用户应用程序设置 VHD 版本所在的 S3 存储桶。

1. 找到并选择该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的信息，请参阅本主题前面的 *Amazon S3 存储桶存储*。

   选择该文件夹时，即会显示设置 VHD 及关联的元数据文件。

1. 要显示 VHD 及元数据文件版本的列表，请选择 **Show (显示)**。

1. 找到要恢复到的 VHD 版本。

1. 在 **Name (名称)** 列表中，选中该 VHD 及关联元数据文件的较新版本旁的复选框，选择 **More (更多)**，然后选择 **Delete (删除)**。

1. 确认要恢复到的应用程序设置 VHD 及关联的元数据文件是这些文件的最新版本。

下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，将显示用户设置的已恢复版本。

## 增加应用程序设置 VHD 的大小
<a name="app-persistence-increase-VHD-size"></a>

对于池，默认 VHD 最大大小为 5 GB。如果用户需要额外的应用程序设置空间，您可以将适用的应用程序设置 VHD 下载到 Windows 计算机以对其进行扩展。然后，将 S3 存储桶中的当前 VHD 替换为更大的一个 VHD。当用户是否具有活动的流式传输会话时，请不要执行此操作。

**注意**  
要减小虚拟硬盘（VHD）的物理大小，请在结束会话之前清除回收站。这还能减少上传和下载时间，并改善整体用户体验。

**增加应用程序设置 VHD 的大小**
**注意**  
必须先下载完整 VHD，然后用户才能流式传输应用程序。增加应用程序设置 VHD 的大小可能会增加用户启动应用程序流式传输会话所需的时间。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在 **Bucket name (存储桶名称)** 列表中，选择包含要扩展的应用程序设置 VHD 的 S3 存储桶。

1. 找到并选择该 VHD 所在的文件夹。有关如何导航 S3 存储桶文件夹结构的信息，请参阅本主题前面的 [Amazon S3 存储桶存储](#app-persistence-s3-buckets)。

   选择该文件夹时，即会显示设置 VHD 及关联的元数据文件。

1. 将 `Profile.vhdx` 文件下载到 Windows 计算机上的一个目录中。下载完成后，请勿关闭您的浏览器，因为稍后您将再次使用浏览器上传扩展的 VHD。

1. 要使用 Diskpart 将 VHD 的大小增加到 7 GB，请以管理员身份打开命令提示符，并键入以下命令。

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   expand vdisk maximum=7000
   ```

1. 然后，键入以下 Diskpart 命令找到和附加该 VHD，并显示卷列表：

   ```
   elect vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   attach vdisk
   ```

   ```
   list volume
   ```

   在输出中，记下带有 “AwsEucUsers” 标签的卷号。在下一步中，您将选择此卷，以便可将其扩大。

1. 键入以下命令，其中，`<volume-number>` 是列表卷输出中的编号。

   ```
   select volume <volume-number>
   ```

1. 键入以下命令：

   ```
   extend
   ```

1. 键入以下命令，确认 VHD 上该分区的大小是否已按预期增加（在此示例中为 7 GB）：

   ```
   diskpart
   ```

   ```
   select vdisk file="C:\path\to\application\settings\profile.vhdx"
   ```

   ```
   list volume
   ```

1. 键入以下命令分离 VHD，以便可将其上传：

   ```
   detach vdisk
   ```

1. 返回带有 Amazon S3 控制台的浏览器，依次选择**上传**、**添加文件**，然后选择扩大的 VHD。

1. 选择**上传**。

上传 VHD 后，下次用户从启用了应用程序设置持久性并带有适用设置组的池进行流式传输时，可以使用更大的应用程序设置 VHD。