

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

# 使用和管理 WorkSpaces Pools
<a name="managing-wsp-pools"></a>

WorkSpaces Pools 提供非永久虚拟桌面，专为需要访问临时基础结构上托管的精心挑选的桌面环境的用户量身定制。

**Topics**
+ [AWS 区域 和 WorkSpaces 池的可用区](wsp-pools-regions.md)
+ [管理 WorkSpaces 池的目录](manage-workspaces-pools-directory.md)
+ [WorkSpaces Pools 的网络和访问权限](managing-network.md)
+ [创建 WorkSpaces Pools](set-up-pools-create.md)
+ [管理 WorkSpaces Pools](managing-stacks-fleets.md)
+ [将 Active Directory 与 WorkSpaces Pools 结合使用](active-directory.md)
+ [Pools 的捆绑包和 WorkSpaces 图片](pools-images.md)
+ [监控 WorkSpaces Pools](configure-monitoring-reporting.md)
+ [为 WorkSpaces 池启用和管理永久存储](persistent-storage.md)
+ [为您的 P WorkSpaces ools 用户启用应用程序设置持久性](app-settings-persistence.md)
+ [WorkSpaces Pools 通知代码问题排查](wsp-pools-troubleshooting.md)

# AWS 区域 和 WorkSpaces 池的可用区
<a name="wsp-pools-regions"></a>

WorkSpaces 池有以下几种可供选择 AWS 区域。

**注意**  
有关适用于 WorkSpaces 个人 AWS 区域 版的内容，请参阅*AWS 一般参考 参考指南*中的 [Amazon WorkSpaces 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/wsp.html)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/wsp-pools-regions.html)

# 管理 WorkSpaces 池的目录
<a name="manage-workspaces-pools-directory"></a>

WorkSpaces Pools 使用目录来存储和管理您 WorkSpaces 和用户的信息。在本节中，我们将向您展示如何为 WorkSpaces 池创建和管理目录。

**Topics**
+ [配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)
+ [更新 WorkSpaces 矿池的目录详细信息](update-directory-pools-details.md)
+ [删除 WorkSpaces 池目录](delete-directory-pools.md)

# 配置 SAML 2.0 并创建 WorkSpaces 池目录
<a name="create-directory-pools"></a>

您可以通过使用 SAML 2.0 设置联合身份来启用 WorkSpaces 客户端应用程序注册和登录 WorkSpaces 池。 WorkSpaces 为此，您可以使用 AWS Identity and Access Management （IAM）角色和中继状态 URL 来配置您的 SAML 2.0 身份提供者（IdP），并为 AWS启用它。这将授予您的联合用户访问 WorkSpace 池目录的权限。中继状态是用户在成功登录后被转发到的 WorkSpaces 目录端点 AWS。

**重要**  
WorkSpaces 池不支持基于 IP 的 SAML 2.0 配置。

**Topics**
+ [步骤 1：考虑要求](#saml-directory-consider-the-requirements)
+ [步骤 2：完成先决条件](#saml-directory-complete-the-prereqs)
+ [步骤 3：在 IAM 中创建 SAML 身份提供者](#saml-directory-create-saml-idp)
+ [步骤 4：创建 WorkSpace 池目录](#saml-directory-create-wsp-pools-directory)
+ [步骤 5：创建 SAML 2.0 联合身份验证 IAM 角色](#saml-directory-saml-federation-role-in-iam)
+ [步骤 6：配置 SAML 2.0 身份提供者](#saml-directory-configure-saml-idp)
+ [步骤 7：为 SAML 身份验证响应创建断言](#saml-directory-create-assertions)
+ [步骤 8：配置联合身份验证的中继状态](#saml-directory-configure-relay-state)
+ [步骤 9：在 WorkSpace 池目录上启用与 SAML 2.0 的集成](#saml-directory-enable-saml-integration)
+ [问题排查](#saml-pools-troubleshooting)
+ [为 P WorkSpaces ools 目录指定活动目录的详细信息](pools-service-account-details.md)

## 步骤 1：考虑要求
<a name="saml-directory-consider-the-requirements"></a>

在为 P WorkSpaces ools 目录设置 SAML 时，需要满足以下要求。
+ workspaces\$1 DefaultRole IAM 角色必须存在于您的账户中。 AWS 当您使用 WorkSpaces 快速设置或之前使用启动时，系统会自动创建此角色 AWS 管理控制台。 WorkSpace 它授予 Amazon 代表您访问特定 AWS 资源的 WorkSpaces权限。如果该角色已经存在，则可能需要为其附加 AmazonWorkSpacesPoolServiceAccess托管策略，Amazon WorkSpaces 使用该策略访问 WorkSpaces 池 AWS 账户中的所需资源。有关更多信息，请参阅[创建工作空间\$1 角色 DefaultRole](workspaces-access-control.md#create-default-role)和[AWS 托管策略： AmazonWorkSpacesPoolServiceAccess](managed-policies.md#workspaces-pools-service-access)。
+ 您可以在中为支持该 AWS 区域 功能的 WorkSpaces 池配置 SAML 2.0 身份验证。有关更多信息，请参阅 [AWS 区域 和 WorkSpaces 池的可用区](wsp-pools-regions.md)。
+ 要将 SAML 2.0 身份验证与一起使用 WorkSpaces，IdP 必须通过深度链接目标资源或中继状态端点 URL 支持未经请求的 IdP 发起的 SSO。这方面的 IdPs 支持示例包括 ADFS、Azure AD、Duo Single Sign-On、Okta 和。 PingFederate PingOne有关更多信息，请参阅 IdP 文档。
+ 仅以下 WorkSpaces 客户端支持 SAML 2.0 身份验证。要了解最新 WorkSpaces 客户，请查看 [Amazon WorkSpaces 客户端下载页面](https://clients.amazonworkspaces.com/)。
  + Windows 客户端应用程序 5.20.0 或更高版本
  + macOS 客户端 5.20.0 或更高版本
  + Web Access

## 步骤 2：完成先决条件
<a name="saml-directory-complete-the-prereqs"></a>

在配置与池目录的 SAML 2.0 IdP 连接之前，请完成以下先决条件 WorkSpaces 。
+ 配置 IdP 以与 AWS建立信任关系
+ 有关配置 AWS 联合的更多信息，请参阅[将第三方 SAML 解决方案提供商与 AWS集成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml_3rd-party.html)。相关示例包括将 IdP 与 IAM 进行集成以访问 AWS 管理控制台。
+ 使用您的 IdP 生成和下载联合身份验证元数据文档，该文档将您的组织描述为 IdP。此签名 XML 文档用于建立信赖方信任关系。将该文件保存您稍后可通过 IAM 控制台访问的位置。
+ 使用 WorkSpaces 控制台创建 WorkSpaces 池目录。有关更多信息，请参阅 [将 Active Directory 与 WorkSpaces Pools 结合使用](active-directory.md)。
+ 为可以使用支持的目录类型登录 IdP 的用户创建 WorkSpaces 池。有关更多信息，请参阅 [创建 WorkSpaces Pools](set-up-pools-create.md)。

## 步骤 3：在 IAM 中创建 SAML 身份提供者
<a name="saml-directory-create-saml-idp"></a>

要开始使用，您必须在 IAM 中创建 SAML IdP。此 IdP 使用组织中 IdP 软件生成的元数据文档定义贵组织的 IdP AWS 信任关系。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[创建和管理 SAML 身份提供者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console)。有关 IdPs 在中使用 SAML 的信息 AWS GovCloud (US) Regions，请参阅《*AWS GovCloud (US) 用户指南*》[AWS Identity and Access Management](https://docs.aws.amazon.com//govcloud-us/latest/UserGuide/govcloud-iam.html)中的。

## 步骤 4：创建 WorkSpace 池目录
<a name="saml-directory-create-wsp-pools-directory"></a>

完成以下过程以创建 WorkSpaces 池目录。

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择**创建目录**。

1. 对于**WorkSpace 类型**，请选择**池**。

1. 在该页面的**用户身份源**部分：

   1. 在**用户访问 URL** 文本框中输入占位符值。例如，在文本框中输入 `placeholder`。稍后在您的 IdP 中设置应用程序授权后，您需要对其进行编辑。

   1. 将**中继状态参数名称**文本框留空。稍后在您的 IdP 中设置应用程序授权后，您需要对其进行编辑。

1. 在该页面的**目录信息**部分，输入目录的名称和描述。目录名称和描述必须少于 128 个字符，可以包含字母数字字符和以下特殊字符：`_ @ # % * + = : ? . / ! \ -`。目录名称和描述不能以特殊字符开头。

1. 在该页面的**网络和安全**部分：

   1. 选择对您的应用程序需要的网络资源有访问权的一个 VPC 和两个子网。为了提高容错能力，您应选择位于不同可用区中的两个子网。

   1. 选择允许 WorkSpaces 在您的 VPC 中创建网络链接的安全组。安全组控制允许哪些网络流量流入您的 VPC。 WorkSpaces 例如，如果您的安全组限制所有入站 HTTPS 连接，则访问您的 Web 门户的用户将无法从中加载 HTTPS 网站。 WorkSpaces

1. **Active Directory 配置**为可选部分。但是，如果您计划在池中使用 AD，则应在创建 WorkSpaces 池目录时指定活动目录 (AD) 详细信息。 WorkSpaces 创建 WorkSpaces 池**目录的 Active Directory Config** 后，您就无法对其进行编辑。有关为 WorkSpaces 池目录指定 AD 详细信息的更多信息，请参阅[为 P WorkSpaces ools 目录指定活动目录的详细信息](pools-service-account-details.md)。完成该主题中概述的过程后，应返回本主题以完成创建 WorkSpaces 池目录。

   如果您不打算在 WorkSpaces 池中使用 AD，则可以跳过 A **ctive Directory Config** 部分。

1. 在该页面的**流式传输属性**部分：
   + 选择剪贴板权限行为，选择“复制到本地字符限制”（可选），“粘贴到远程会话字符限制”（可选）。
   + 选择允许或不允许打印到本地设备。
   + 选择允许或不允许诊断日志记录。
   + 选择允许或不允许智能卡登录。仅当您在本步骤前面启用了 AD 配置时，此功能才适用。

1. 在该页面的**存储**部分，您可以选择启用主文件夹。

1. 在该页面的 **IAM 角色**部分，选择一个可供所有桌面流实例使用的 IAM 角色。要创建新的 IAM 角色，请选择**创建新的 IAM 角色**。

   当您将账户中的 IAM 角色应用到 WorkSpace 池目录时，您可以从 WorkSpace 池 WorkSpace 中的发出 AWS API 请求，而无需手动管理 AWS 证书。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[创建向 IAM 用户委派权限的角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)。

1. 选择**创建目录**。

## 步骤 5：创建 SAML 2.0 联合身份验证 IAM 角色
<a name="saml-directory-saml-federation-role-in-iam"></a>

完成以下过程，在 IAM 控制台中创建 SAML 2.0 联合身份验证 IAM 角色。

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/secretsmanager/) 打开 IAM 控制台。

1. 在导航窗格中选择 **Roles**。

1. 选择创建角色。

1. 为受信任的实体类型选择 **SAML 2.0 联合身份验证**。

1. 对于基于 SAML 2.0 的提供者，选择您在 IAM 中创建的身份提供者。有关更多信息，请参阅[在 IAM 中创建 SAML 身份提供者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html?)。

1. 选择**仅允许编程访问**以允许访问。

1. 对于“属性”，选择 ** SAML:sub\$1type**。

1. 对于**值**，请输入 `https://signin.aws.amazon.com/saml`。该值限制角色访问 SAML 用户流式传输请求，其中包括值为 `persistent` 的 SAML 主题类型断言。如果 SAML:sub\$1type 为 persistent，则在来自特定用户的所有 SAML 请求中，您的 IdP 会为 `NameID` 元素发送相同的唯一值。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[唯一识别基于 SAML 的联合身份验证中的用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html#CreatingSAML-userid)。

1. 选择**下一步**以继续。

1. 请勿在**添加权限**页面中进行更改或选择。选择**下一步**以继续。

1. 输入角色的名称和描述。

1. 选择**创建角色**。

1. 在**角色**页面上，选择您必须创建的角色。

1. 选择 **Trust relationships（信任关系）**选项卡。

1. 选择**编辑信任策略**。

1. 在**编辑信任策略** JSON 文本框中，将 **st TagSession s:** 操作添加到信任策略。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[在 AWS STS中传递会话标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)。

   结果应该类似以下示例。  
![\[信任策略的示例。\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/images/iam-saml-federation-policy-sts-tagsession.png)

1. 选择**更新策略**。

1. 选择**权限**选项卡。

1. 在该页面的**权限策略**部分，选择**添加权限**，然后选择**创建内联策略**。

1. 在该页面的**策略编辑器**部分，选择 **JSON**。

1. 在**策略编辑器** JSON 文本框中，输入以下策略。请务必替换以下内容：
   + *<region-code>*使用您在其中创建 WorkSpace 池目录的 AWS 区域的代码。
   + *<account-id>*使用 AWS 账户 ID。
   + *<directory-id>*使用您之前创建的目录的 ID。你可以在 WorkSpaces控制台中获得这个。

   对于中的资源 AWS GovCloud (US) Regions，请使用以下格式的 ARN：。`arn:aws-us-gov:workspaces:<region-code>:<account-id>:directory/<directory-id>`

1. 选择下一步。

1. 为策略输入名称，然后选择 **Create policy (创建策略)**。

## 步骤 6：配置 SAML 2.0 身份提供者
<a name="saml-directory-configure-saml-idp"></a>

根据您的 SAML 2.0 IdP，您可能需要手动更新 IdP，以信任 AWS 作为服务提供者。为此，您可以下载在 [https://signin.aws.amazon.com/static/saml-metadata.xml](https://signin.aws.amazon.com/static/saml-metadata.xml) 中找到的`saml-metadata.xml`文件，然后将其上传到您的 IdP。这会更新您 IdP 的元数据。

对于某些人来说 IdPs，更新可能已经配置好了。如果已经配置，可以跳过此步骤。如果您的 IdP 中尚未配置此更新，请查看您的 IdP 提供的文档，了解有关如何更新元数据的信息。一些提供者为您提供了以下选项：将 XML 文件的 URL 键入到控制面板并由 IdP 获取和安装该文件。另一些提供者则要求您从该 URL 处下载该文件，然后将其上传到控制面板。

**重要**  
此时，您还可以授权 IdP 中的用户访问您在 IdP 中配置的 WorkSpaces应用程序。有权访问您目录中 WorkSpaces 应用程序的用户不会自动为他们 WorkSpace创建一个。同样，为其 WorkSpace 创建的用户也不会自动获得访问该 WorkSpaces 应用程序的权限。要成功连接 WorkSpace 使用 SAML 2.0 身份验证，用户必须获得 IdP 的授权并且必须已 WorkSpace 创建。

## 步骤 7：为 SAML 身份验证响应创建断言
<a name="saml-directory-create-assertions"></a>

将您的 IdP 发送到的信息配置为其 AWS 身份验证响应中的 SAML 属性。根据您的 IdP，可能已经配置了此类信息。如果已经配置，可以跳过此步骤。如果尚未配置，请提供以下信息：
+ **SAML 主题 NameID** - 登录用户的唯一标识符。请勿更改此 format/value 字段的。否则，主文件夹功能将无法按预期运行，因为该用户将被视为其他用户。
**注意**  
对于已加入域的 WorkSpaces 池，必须使用以的格式为用户提供`NameID`值`sAMAccountName`，或者`domain\username``username@domain.com`格式使用`userPrincipalName`或仅提供。`userName`如果您要使用 `sAMAccountName` 格式，则可以使用 NetBIOS 名称或完全限定域名（FQDN）指定域。Active Directory 单向信任方案需要 `sAMAccountName` 格式。有关更多信息，请参阅[将 Active Directory 与 WorkSpaces Pools 结合使用](active-directory.md)。如果仅提供 `userName`，用户将登录到主域
+ **SAML 主题类型（值设为 `persistent`）**– 将值设为 `persistent` 可确保在来自特定用户的所有 SAML 请求中，您的 IdP 会为 `NameID` 元素发送相同的唯一值。请确保您的 IAM 策略包含一个条件，仅允许将 SAML `sub_type` 设置为 `persistent` 的 SAML 请求（如[步骤 5：创建 SAML 2.0 联合身份验证 IAM 角色](#saml-directory-saml-federation-role-in-iam)一节所述）。
+ **`Attribute``Name`属性设置为 “ https://aws.amazon.com/SAML/属性/角色” 的元素** — 此元素包含一个或多个元素，这些`AttributeValue`元素列出了您的 IDP 将用户映射到的 IAM 角色和 SAML IdP。角色和 IdP 以逗号分隔的一对指定。 ARNs预期值的一个示例是 `arn:aws:iam::<account-id>:role/<role-name>,arn:aws:iam::<account-id>:saml-provider/<provider-name>`。
+ **`Attribute``Name`属性设置为 A https://aws.amazon.com/SAML/ ttributes/ 的元素 RoleSessionName** — 此元素包含一个`AttributeValue`元素，该元素为为 SSO 颁发的 AWS 临时证书提供标识符。`AttributeValue` 元素中值的长度必须介于 2 到 64 个字符之间，只能包含字母数字字符和以下特殊字符：`_ . : / = + - @`。它不能包含空格。该值通常是电子邮件地址或用户主体名 (UPN)。该值不应包含空格，如用户的显示名称。
+ **`Attribute``Name`属性设置为 Att https://aws.amazon.com/SAML/ ributes/: Email 的元素 PrincipalTag —** 此元素包含一个提供`AttributeValue`用户电子邮件地址的元素。该值必须与 WorkSpaces 目录中定义的 WorkSpaces 用户电子邮件地址相匹配。标签值可能包括字母、数字、空格和 `_ . : / = + - @` 字符的组合。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的 [IAM 和 AWS STS的标记规则](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html#id_tags_rules)。
+ （可选）**`Name`属性设置为 A https://aws.amazon.com/SAML/ ttributes/PrincipalTag: 的`Attribute`元素 UserPrincipalName** — 此元素包含一个`userPrincipalName`为登录用户提供 Active Directory 的`AttributeValue`元素。必须采用 `username@domain.com` 格式提供该值。此参数与基于证书的身份验证一起使用，作为最终用户证书中的主题备用名称。有关更多信息，请参阅 [基于证书的身份验证和个人 WorkSpaces](certificate-based-authentication.md)。
+ （可选）**`Name`属性设置为 A https://aws.amazon.com/SAML/ ttributes/PrincipalTag:ObjectSid （可选）的`Attribute`元素**-此元素包含一个为登录用户提供 Active Directory 安全标识符 (SID) 的`AttributeValue`元素。此参数与基于证书的身份验证一起使用，以启用到 Active Directory 用户的强映射。有关更多信息，请参阅 [基于证书的身份验证和个人 WorkSpaces](certificate-based-authentication.md)。
+ （可选）**`Name`属性设置为 At https://aws.amazon.com/SAML/ tributes/: Domain 的`Attribute`元素 PrincipalTag —** 此元素包含一个为登录用户提供 Active Directory DNS 完全限定域名 (FQDN) 的元素`AttributeValue`。当用户的 Active Directory `userPrincipalName` 包含备用后缀时，此参数用于基于证书的身份验证。必须以 `domain.com` 格式提供该值，且必须包括所有子域名。
+ （可选）**`Name`属性设置为 A https://aws.amazon.com/SAML/ ttributes/ 的`Attribute`元素 SessionDuration** — 此元素包含一个`AttributeValue`元素，用于指定在要求重新进行身份验证之前，用户的联合流媒体会话可以保持活动状态的最长时间。默认值为 `3600` 秒（60 分钟）。有关更多信息，请参阅《*AWS Identity and Access Management 用户指南》 SessionDurationAttribute*中的 [SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html#saml_role-session-duration)。
**注意**  
虽然 `SessionDuration` 是一个可选属性，但建议您将该属性包含在 SAML 响应中。如果您未指定此属性，则会话持续时间将设置为默认值，即`3600`秒（60 分钟）。 WorkSpaces 桌面会话将在会话持续时间到期后断开连接。

有关如何配置这些元素的更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[为身份验证响应配置 SAML 断言](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_assertions.html)。有关 IdP 的具体配置要求的信息，请参阅 IdP 的文档。

## 步骤 8：配置联合身份验证的中继状态
<a name="saml-directory-configure-relay-state"></a>

使用您的 IdP 将联盟的中继状态配置为指向 WorkSpaces 池目录中继状态 URL。成功通过身份验证后 AWS，用户将被定向到 WorkSpaces 池目录端点，该端点在 SAML 身份验证响应中定义为中继状态。

以下为中继状态 URL 格式：

```
https://relay-state-region-endpoint/sso-idp?registrationCode=registration-code
```

下表列出了可用 WorkSpaces SAML 2.0 身份验证的 AWS 区域的中继状态端点。 AWS 无法使用 WorkSpaces 池功能的区域已被移除。


| Region | 中继状态端点 | 
| --- | --- | 
| 美国东部（弗吉尼亚州北部）区域 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-directory-pools.html)  | 
| 美国西部（俄勒冈州）区域 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-directory-pools.html)  | 
| 亚太地区（孟买）区域 | workspaces.euc-sso.ap-south-1.aws.amazon.com | 
| 亚太地区（首尔）区域 | workspaces.euc-sso.ap-northeast-2.aws.amazon.com | 
| 亚太地区（新加坡）区域 | workspaces.euc-sso.ap-southeast-1.aws.amazon.com | 
| 亚太地区（悉尼）区域 | workspaces.euc-sso.ap-southeast-2.aws.amazon.com | 
| 亚太地区（东京）区域 | workspaces.euc-sso.ap-northeast-1.aws.amazon.com | 
| 加拿大（中部）区域 | workspaces.euc-sso.ca-central-1.aws.amazon.com | 
| 欧洲地区（法兰克福）区域 | workspaces.euc-sso.eu-central-1.aws.amazon.com | 
| 欧洲地区（爱尔兰）区域 | workspaces.euc-sso.eu-west-1.aws.amazon.com | 
| 欧洲地区（伦敦）区域 | workspaces.euc-sso.eu-west-2.aws.amazon.com | 
| 南美洲（圣保罗）区域 | workspaces.euc-sso.sa-east-1.aws.amazon.com | 
| AWS GovCloud （美国西部） |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-directory-pools.html)  有关 IdPs 在中使用 SAML 的信息 AWS GovCloud (US) Regions，请参阅 *AWS GovCloud （美国）用户指南 WorkSpaces*中的 [Amazon](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-workspaces.html)。   | 
| AWS GovCloud （美国东部） |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-directory-pools.html)  有关 IdPs 在中使用 SAML 的信息 AWS GovCloud (US) Regions，请参阅 *AWS GovCloud （美国）用户指南 WorkSpaces*中的 [Amazon](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-workspaces.html)。   | 

## 步骤 9：在 WorkSpace 池目录上启用与 SAML 2.0 的集成
<a name="saml-directory-enable-saml-integration"></a>

完成以下过程为 WorkSpaces 池目录启用 SAML 2.0 身份验证。

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择**池目录**选项卡。

1. 选择要编辑的目录 ID。

1. 在该页面的**身份验证**部分，选择**编辑**。

1. 选择**编辑 SAML 2.0 身份提供者**。

1. 对于**用户访问 URL**（有时也称为“SSO URL”），将占位符值替换为您的 IdP 提供给您的 SSO URL。

1. 对于 **IdP 深层链接参数名称**，输入适用于您的 IdP 和您配置的应用程序的参数。如果省略该参数名称，则默认值为 `RelayState`。

   下表列出了应用程序的各种身份提供商所独有的用户访问权限 URLs 和深度链接参数名称。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-directory-pools.html)

1. 选择**保存**。

**重要**  
撤销用户的 SAML 2.0 不会直接断开其会话连接。只有在超时开始后，才会删除这些会话。他们也可以使用 [ TerminateWorkspacesPoolSession](https://docs.aws.amazon.com//workspaces/latest/api/API_TerminateWorkspacesPoolSession.html)API 将其终止。

## 问题排查
<a name="saml-pools-troubleshooting"></a>

以下信息可以帮助您解决 WorkSpaces 池的特定问题。

### 完成 SAML 身份验证后，我在 P WorkSpaces ools 客户端中收到 “无法登录” 消息
<a name="pools-unable-to-login"></a>

SAML 声明中的 `nameID` 和 `PrincipalTag:Email` 需要与 Active Directory 中配置的用户名和电子邮件地址相匹配。调整某些属性后，某些 IdP 可能需要更新、刷新或重新部署。如果您进行了调整，但未反映在您的 SAML 捕获中，请参阅您的 IdP 文档或支持计划，了解使更改生效所需的具体步骤。

# 为 P WorkSpaces ools 目录指定活动目录的详细信息
<a name="pools-service-account-details"></a>

在本主题中，我们将向您展示如何在 WorkSpaces 控制台的 “**创建 WorkSpaces 池目录**” 页面中指定 Active Directory (AD) 详细信息。在创建 WorkSpaces 池目录时，如果您计划在 WorkSpaces 池中使用 AD，则应指定 AD 详细信息。创建 WorkSpaces 池**目录的 Active Directory Config** 后，就无法对其进行编辑。以下是 “**创建 WorkSpaces 池目录****” 页面的 Active Directory Config** 部分的示例。

![\[创建 WorkSpaces 池目录页面的 Active Directory Config 部分\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/images/pools-wsp-active-directory-config.png)


**注意**  
[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)主题概述了创建 WorkSpaces 池目录的完整过程。本页概述的过程仅代表创建 WorkSpaces 池目录的完整过程中的一部分步骤。

**Topics**
+ [为 AD 指定组织部门和目录域名](#pools-specify-ou-and-directory-domain)
+ [为 AD 指定服务账户](#pools-specify-access-account)

## 为 AD 指定组织部门和目录域名
<a name="pools-specify-ou-and-directory-domain"></a>

完成以下步骤，在 “**创建 WorkSpaces 池目录” 页面中为 AD 指定组织单位 (OU) 和目录**域名。

1. 在**组织单位**中，输入池所属的 OU。 WorkSpace 计算机帐户位于您为 WorkSpaces 池目录指定的组织单位 (OU) 中。
**注意**  
OU 名称中不得包含空格。如果您指定包含空格的 OU 名称，则当它尝试重新加入 Active Directory 域时，将 WorkSpaces 无法正确循环使用计算机对象，并且无法重新加入域。

1. 对于**目录域名**，输入 Active Directory 域的完全限定域名（FQDN）(例如，`corp.example.com`)。每个 AWS 区域只能有一个带有特定目录名称的目录配置值。
   + 你可以将你的 WorkSpaces 池目录加入到 Microsoft 活动目录中的域中。您还可以使用现有的 Active Directory 域（基于云或本地）来启动已加入域 WorkSpaces名。
   + 也可以使用 AWS Directory Service for Microsoft Active Directory（也称为 AWS Managed Microsoft AD）来创建 Active Directory 域。然后，您可以使用该域来支持您的 WorkSpaces 资源。
   +  WorkSpaces 加入您的活动目录域名后，您可以：
     + 允许您的用户和应用程序从流式传输会话访问 Active Directory 资源（如打印机和文件共享）。
     + 使用组策略管理控制台 (GPMC) 中可用的组策略设置定义最终用户体验。
     + 流式传输需要用户使用 Active Directory 登录凭证进行身份验证的应用程序。
     + 将企业合规性和安全策略应用于您的 WorkSpaces 流实例。

1. 对于**服务账户**，继续执行本页的下一节[为 AD 指定服务账户](#pools-specify-access-account)。

## 为 AD 指定服务账户
<a name="pools-specify-access-account"></a>

在目录创建过程中为 WorkSpaces 池配置 Active Directory (AD) 时，必须指定用于管理 AD 的 AD 服务帐户。这要求您提供服务帐号凭证，这些凭据必须存储在客户托管密钥中 AWS Secrets Manager 并使用 AWS Key Management Service (AWS KMS) 客户托管密钥进行加密。在本节中，我们将向您展示如何创建 AWS KMS 客户托管密钥和 Secrets Manager 密钥来存储您的 AD 服务帐号凭证。

### 步骤 1：创建 AWS KMS 客户托管密钥
<a name="pools-create-kms-cust-managed-key"></a>

完成以下步骤以创建 AWS KMS 客户托管密钥

1. 在 [https://console.aws.amazon.com/km AWS KMS](https://console.aws.amazon.com/kms) s 处打开控制台。

1. 要更改 AWS 区域，请使用页面右上角的区域选择器。

1. 选择**创建密钥**，然后选择**下一步**。

1. 为密钥类型选择**对称**，为密钥使用选择**加密和解密**，然后选择**下一步**。

1. 输入密钥的别名，例如 `WorkSpacesPoolDomainSecretKey`，然后选择**下一步**。

1. 不要选择密钥管理员。选择**下一步**以继续。

1. 不要定义密钥使用权限。选择**下一步**以继续。

1. 在该页面的“密钥策略”部分，添加以下内容：

   ```
           {
               "Sid": "Allow access for Workspaces SP",
               "Effect": "Allow",
               "Principal": {
                   "Service": "workspaces.amazonaws.com"
               },
               "Action": "kms:Decrypt",
               "Resource": "*"
           }
   ```

   结果应该类似以下示例。  
![\[AWS KMS 密钥策略的示例。\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/images/kms-key-policy-for-wsp-pools-service-account.png)

1. 选择**结束**。

   您的 AWS KMS 客户托管密钥现在可以与 Secrets Manager 一起使用了。继续执行本页的[步骤 2：创建 Secrets Manager 密钥来存储 AD 服务账户凭证](#pools-create-asm-secret)一节。

### 步骤 2：创建 Secrets Manager 密钥来存储 AD 服务账户凭证
<a name="pools-create-asm-secret"></a>

完成以下步骤，创建 Secrets Manager 密钥来存储您的 AD 服务账户凭证。

1. 打开 AWS Secrets Manager 控制台，网址为[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)。

1. 选择 **Create a new secret (创建新密钥)**。

1. 选择**其他密钥类型**。

1. 对于第一 key/value 对，输入`Service Account Name`密钥和值的服务帐号名称，例如`domain\username`。

1. 对于第二 key/value 对，`Service Account Password`为密钥输入 a，为值输入服务帐户的密码。

1. 对于加密密钥，请选择您之前创建的 AWS KMS 客户托管密钥，然后选择**下一步**。

1. 输入密钥的名称，例如 `WorkSpacesPoolDomainSecretAD`。

1. 在该页面的**资源权限**部分，选择**编辑权限**。

1. 输入以下权限策略：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "workspaces.amazonaws.com"
                   ]
               },
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 选择**保存**以保存权限策略。

1. 选择**下一步**以继续。

1. 不要配置自动轮换。选择**下一步**以继续。

1. 选择**存储**，以完成您密钥的存储。

您的 AD 服务账户凭证现存储在 Secrets Manager 中。继续执行本页的[步骤 3：选择包含您的 AD 服务账户凭证的 Secrets Manager 密钥](#continue-creating-pools-directory)一节。

### 步骤 3：选择包含您的 AD 服务账户凭证的 Secrets Manager 密钥
<a name="continue-creating-pools-directory"></a>

完成以下过程，选择你在 Active Directory 配置中为 WorkSpaces 池目录创建的 Secrets Manager 密钥。
+ 对于**服务帐号**，请选择包含您的服务帐号凭据的 AWS Secrets Manager 密钥。完成以下步骤，创建密钥（如果尚未执行此操作）。必须使用 AWS Key Management Service 客户管理的密钥对密钥进行加密。

现在，您已经完成了 “**创建 WorkSpaces 池目录” 页面的 Active Director** **y Config** 部分中的所有字段，您可以继续完成 WorkSpaces 池目录的创建。转至[步骤 4：创建 WorkSpace 池目录](create-directory-pools.md#saml-directory-create-wsp-pools-directory)，并从该过程的步骤 9 开始。

# 更新 WorkSpaces 矿池的目录详细信息
<a name="update-directory-pools-details"></a>

您可以使用 P WorkSpaces ools 控制台完成以下目录管理任务。

## 身份验证
<a name="authentication-pools"></a>

您可以为 WorkSpaces 池配置其他身份验证选项。池需要 SAML 2.0 身份验证。

**启用和配置 SAML 2.0 身份提供者身份验证**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“身份验证”，然后选择**编辑**。

1. 选择**编辑 SAML 2.0 身份提供者**。

1. 选中**启用 SAML 2.0 身份验证**复选框。

1. 输入**用户访问权限 URL**，以便在联合登录期间指 WorkSpaces 向 Pools 客户端。

1. 输入 **IdP 深层链接参数名称**（可选）。

1. 选择**保存**。

**启用和配置基于证书的身份验证**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“身份验证”，然后选择**编辑**。

1. 选择**编辑基于证书的身份验证**。

1. 选中**启用基于证书的身份验证**复选框。

1. 从下拉列表中选择 **AWS Certificate Manager （ACM）私有证书颁发机构（CA）**。

1. 选择**保存**。

## 安全组
<a name="security-group-pools"></a>

将安全组应用于目录中的 WorkSpaces 存储池。

**为您的 WorkSpaces 池配置安全组**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“安全组”并选择**编辑**。

1. 从下拉列表中选择一个安全组。

## Active Directory 配置
<a name="active-directory-pools"></a>

使用组织单位 (OU)、目录域名和 Secrets Manager AWS 密钥配置您的目录 Active Directory Config。

**配置 Active Directory**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“Active Directory 配置”，然后选择**编辑**。

1. 要查找组织部门（OU），您可以开始键入 OU 的全部或部分名称，然后选择要使用的 OU。
**注意**  
（可选）选择 OU 后，重建现有的 OU WorkSpaces 以更新 OU。有关更多信息，请参阅 [重建 WorkSpaces 个人版中的 WorkSpace](rebuild-workspace.md)。

1. 选择**保存**。

**注意**  
创建池后，无法编辑目录域名和 Secr AWS ets Manager 密钥。

## 流属性
<a name="streaming-properties-pools"></a>

配置用户如何在共享设备 WorkSpace 和本地设备之间传输数据。

**配置流式传输属性**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“流式传输属性”，然后选择**编辑**。

1. 配置以下流式传输属性：
   + 剪贴板权限
     + 从下拉列表中选择以下选项之一：
       + **允许复制和粘贴** - 允许复制到本地设备和粘贴到远程会话。
       + **允许粘贴到远程会话** - 允许粘贴到远程会话。
       + **允许复制到本地设备** - 允许复制到本地设备。
       + 已禁用
     + 选择允许或不允许打印到本地设备。
     + 选择允许或不允许诊断日志记录。
     + 选择允许或不允许智能卡登录。
     + 要启用主文件夹存储，请选择**启用主文件夹**。

1. 选择**保存**。

## IAM 角色
<a name="iam-role-pools"></a>

为您的 P WorkSpaces ools 选择一个 IAM 角色。

**选择 IAM 角色**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到 IAM 角色并选择**编辑**。

1. 从下拉列表中选择 IAM 角色。要创建新的 IAM 角色，请选择**创建新的 IAM 角色**。

1. 选择**保存**。

## 标签
<a name="tags-pools"></a>

向您的 WorkSpaces 矿池添加新标签

**添加新标签**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择要配置的目录。

1. 转到“标签”，然后选择**管理标签**。

1. 选择**添加新标签**，然后输入要使用的密钥对值。键可以是具有特定关联值的一般类别，例如“project”、“owner”或“environment”。

1. 选择**保存更改**。

# 删除 WorkSpaces 池目录
<a name="delete-directory-pools"></a>

完成以下过程以删除 P WorkSpaces ools 目录。

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择目录。

1. 依次选择**操作**和**删除**。

1. 当提示您确认时**delete**，输入确认文本并选择**删除**。

# WorkSpaces Pools 的网络和访问权限
<a name="managing-network"></a>

以下主题提供有关如何使用户能够连接到 WorkSpaces Pools 并使 WorkSpaces Pools 能够访问网络资源和 Internet 的信息。

**Topics**
+ [WorkSpaces Pools 的 Internet 访问](internet-access.md)
+ [为 WorkSpaces Pools 配置 VPC](appstream-vpc.md)
+ [为矿池配置 FedRAMP 授权或国防部 SRG 合规性 WorkSpaces](fips-encryption-pools.md)
+ [将 Amazon S3 VPC 终端节点用于 WorkSpaces 池功能](managing-network-vpce-iam-policy.md)
+ [WorkSpaces 池与您的 VPC 的连接](pools-port-requirements.md)
+ [用户与 WorkSpaces 池的连接](user-connections-to-appstream2.md)

# WorkSpaces Pools 的 Internet 访问
<a name="internet-access"></a>

如果您 WorkSpaces Pools 中的 WorkSpaces 需要访问 Internet，则您可以通过多种方式启用它。在选择实现 Internet 访问的方法时，请考虑您的部署必须支持的用户数量以及您的部署目标。例如：
+ 如果您的部署必须支持 100 个以上的并发用户，需[配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md)。
+ 如果您的部署支持 100 个以内并发用户，可以[使用公有子网配置新的或现有 VPC](managing-network-default-internet-access.md)。
+ 如果您的部署支持 100 个以内并发用户，并且您是初次使用 WorkSpaces Pools，希望开始使用该服务，则您可以[使用默认 VPC、公有子网和安全组](managing-network-default-internet-access.md)。

以下几部分提供了有关这些部署选项中每一项的更多信息。
+ [配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md)（推荐）- 使用此配置，您可以在私有子网中启动 WorkSpaces Pools 生成器，并在您 VPC 的公有子网中配置 NAT 网关。您的流实例会被分配一个无法直接从 Internet 访问的私有 IP 地址。

  此外，与使用**默认互联网访问**选项来启用 Internet 访问的配置不同，NAT 配置不限于 100 个 WorkSpaces Pools 中的 WorkSpaces。如果您的部署必须支持 100 个以上的并发用户，请使用此配置。

  您可以创建和配置新 VPC 来结合使用 NAT 网关，或将 NAT 网关添加到现有 VPC。
+ [配置带公有子网的新的或现有 VPC](managing-network-default-internet-access.md) - 使用此配置，您可以在公有子网中启动 WorkSpaces Pools。启用此选项后，WorkSpaces Pools 将在 Amazon VPC 公有子网中使用 Internet 网关来提供 Internet 连接。您的流实例会被分配一个可直接从 Internet 访问的公有 IP 地址。您可以创建新 VPC 或配置现有 VPC 用于此用途。
**注意**  
为公有子网配置新的或现有 VPC 时，WorkSpaces Pools 最多支持 100 个 WorkSpaces。如果您的部署必须支持 100 个以上的并发用户，请改为使用 [NAT 网关配置](managing-network-internet-NAT-gateway.md)。
+ [使用默认 VPC、公有子网和安全组](default-vpc-with-public-subnet.md) - 如果您是初次使用 WorkSpaces Pools 并希望开始使用该服务，则可以在默认公有子网中启动 WorkSpaces Pools。启用此选项后，WorkSpaces Pools 将在 Amazon VPC 公有子网中使用 Internet 网关来提供 Internet 连接。您的流实例会被分配一个可直接从 Internet 访问的公有 IP 地址。

  默认 VPC 在 2013 年 12 月 4 日之后创建的 Amazon Web Services 账户中可用。

  默认 VPC 在各个可用区中包含一个默认公有子网，以及连接到您 VPC 的 Internet 网关。VPC 还包含默认安全组。
**注意**  
当您使用默认 VPC、公有子网和安全组时，WorkSpaces Pools 最多支持 100 个 WorkSpaces。如果您的部署必须支持 100 个以上的并发用户，请改为使用 [NAT 网关配置](managing-network-internet-NAT-gateway.md)。

# 为 WorkSpaces Pools 配置 VPC
<a name="appstream-vpc"></a>

设置 WorkSpaces Pools 时，您必须指定虚拟私有云（VPC）和至少一个子网，以便在其中启动 WorkSpaces。VPC 是 Amazon Web Services Cloud 内您自己的逻辑隔离区域中的虚拟网络。子网是您的 VPC 内的 IP 地址范围。

为 WorkSpaces Pools 配置 VPC 时，您可以指定公有子网或私有子网，也可以指定两种类型子网的混合。公有子网可以通过 Internet 网关直接访问 Internet。私有子网没有直接指向 Internet 网关的路由，需要网络地址转换 (NAT) 网关或 NAT 实例来提供对 Internet 的访问。

**Topics**
+ [WorkSpaces 池的 VPC 设置建议](vpc-setup-recommendations.md)
+ [配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md)
+ [配置带公有子网的新的或现有 VPC](managing-network-default-internet-access.md)
+ [使用默认 VPC、公有子网和安全组](default-vpc-with-public-subnet.md)

# WorkSpaces 池的 VPC 设置建议
<a name="vpc-setup-recommendations"></a>

创建 WorkSpaces 池时，需要指定要使用的 VPC 和一个或多个子网。您可以通过指定安全组，为 VPC 提供额外的访问控制。

以下建议可帮助您更安全有效地配置 VPC。此外，它们还可以帮助您配置支持有效 WorkSpaces 池扩展的环境。通过有效的资源 WorkSpaces 池扩展，您可以满足当前和预期的 WorkSpaces 用户需求，同时避免不必要的资源使用和相关成本。

**VPC 整体配置**
+ 确保您的 VPC 配置可以支持您的 WorkSpaces 池扩展需求。

  在制定 WorkSpaces 池扩展计划时，请记住一个用户需要一个 WorkSpaces。因此， WorkSpaces 池的大小决定了可以同时直播的用户数量。因此，对于您计划使用的每[种实例类型](instance-types.md)，请确保您的 VPC 可以支持的数量大于同一实例类型的预期并发用户数。 WorkSpaces 
+ 确保您的 WorkSpaces 矿池账户配额（也称为限额）足以满足您的预期需求。要申请增加配额，你可以使用 Service Quotas 控制台，网址为[https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)。有关默认 WorkSpaces 池配额的信息，请参阅[亚马逊 WorkSpaces 配额](workspaces-limits.md)。
+ 如果您计划 WorkSpaces 在 WorkSpaces 池中为自己的 Internet 提供访问权限，我们建议您在一个 VPC 中为流媒体实例配置两个私有子网，在公有子网中配置一个 NAT 网关。

  NAT 网关允许私有子网 WorkSpaces 中的连接到互联网或其他 AWS 服务。但是，它会阻止互联网与这些人建立连接 WorkSpaces。此外，与使用**默认互联网访问选项启用互联网访问**的配置不同，NAT 配置支持超过 100 个 WorkSpaces。有关更多信息，请参阅 [配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md)。

**弹性网络接口**
+ WorkSpaces 池创建的[弹性网络接口](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)（网络接口）与 WorkSpaces 池所需的最大容量一样多。默认情况下，每个区域的网络接口数限制为 5000。

  在为超大型部署（例如数千个）规划容量时 WorkSpaces，请考虑同一地区也使用的 Amazon EC2 实例的数量。

**子网**
+ 如果您要为 VPC 配置多个私有子网，请在不同的可用区中配置每个子网。这样做可提高容错能力，并有助于防止出现容量不足错误。如果您在同一个可用区中使用两个子网，则可能会用完 IP 地址，因为 WorkSpaces 池不会使用第二个子网。
+ 请确保可通过您的两个私有子网访问应用程序所需的网络资源。
+ 使用允许足够客户端 IP 地址数的子网掩码配置您的各个私有子网，以适应预期的最大并发用户数。此外，允许额外的 IP 地址来容纳预期的增长。有关更多信息，请参阅 [VPC 和子网大小调整 IPv4](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#vpc-sizing-ipv4)。
+ 如果您在使用带有 NAT 的 VPC，请至少配置一个带有 NAT 网关的公有子网以便访问 Internet，最好配置两个公有子网。在您的私有子网所在的同一可用区中配置公有子网。

  为了增强容错能力并减少大型 WorkSpaces 池部署出现容量不足错误的机会，请考虑将您的 VPC 配置扩展到第三个可用区。在此额外的可用区中包括私有子网、公有子网和 NAT 网关。

**安全组**
+ 使用安全组向您的 VPC 提供额外的访问控制。

  属于您的 VPC 的安全组允许您控制 WorkSpaces 池流式传输实例和应用程序所需的网络资源之间的网络流量。这些资源可能包括其他 AWS 服务，例如 Amazon RDS 或 Amazon FSx、许可服务器、数据库服务器、文件服务器和应用程序服务器。
+ 确保安全组提供了对应用程序所需网络资源的访问权限。

   有关安全组的一般信息，请参阅 *Amazon VPC 用户指南*中的[使用安全组控制 AWS 资源流量](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)。

# 配置具有私有子网和 NAT 网关的 VPC
<a name="managing-network-internet-NAT-gateway"></a>

如果您计划 WorkSpaces 在 WorkSpaces 池中为自己的 Internet 提供访问权限，我们建议您在一个 VPC 中配置两个私有子网，在公有子网中配置一个 NAT 网关。 WorkSpaces 您可以创建和配置新 VPC 来结合使用 NAT 网关，或将 NAT 网关添加到现有 VPC。有关其他 VPC 配置建议，请参阅 [WorkSpaces 池的 VPC 设置建议](vpc-setup-recommendations.md)。

NAT 网关允许私有子网 WorkSpaces 中的连接到互联网或其他 AWS 服务，但会阻止互联网与这些 WorkSpaces服务建立连接。此外，与使用**默认互联网访问**选项为其启用互联网访问的配置不同 WorkSpaces，此配置不限于 100 WorkSpaces。

有关使用 NAT 网关和此配置的信息，请参阅《Amazon VPC 用户指南》**中的 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)和[具有公有和私有子网（NAT）的 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)。

**Topics**
+ [创建和配置新 VPC](create-configure-new-vpc-with-private-public-subnets-nat.md)
+ [向现有 VPC 添加 NAT 网关](add-nat-gateway-existing-vpc.md)
+ [为 WorkSpaces 池启用互联网接入](managing-network-manual-enable-internet-access.md)

# 创建和配置新 VPC
<a name="create-configure-new-vpc-with-private-public-subnets-nat"></a>

本主题介绍如何使用 VPC 向导创建具有一个公有子网和一个私有子网的 VPC。作为此过程的一部分，向导将创建 Internet 网关和 NAT 网关。它还会创建与公有子网关联的自定义路由表，并更新与私有子网关联的主路由表。NAT 网关是在您的 VPC 的公有子网中自动创建的。

使用向导创建初始 VPC 配置后，您将添加第二个私有子网。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[具有公有和私有子网（NAT）的 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html)。

**注意**  
如果您已有 VPC，请改为完成[向现有 VPC 添加 NAT 网关](add-nat-gateway-existing-vpc.md)中的步骤。

**Topics**
+ [步骤 1：分配弹性 IP 地址](#allocate-elastic-ip)
+ [步骤 2：创建新 VPC](#vpc-with-private-and-public-subnets-nat)
+ [步骤 3：添加第二个私有子网](#vpc-with-private-and-public-subnets-add-private-subnet-nat)
+ [步骤 4：验证并命名子网路由表](#verify-name-route-tables)

## 步骤 1：分配弹性 IP 地址
<a name="allocate-elastic-ip"></a>

在创建 VPC 之前，您必须在您所在的 WorkSpaces 地区分配一个弹性 IP 地址。您必须先分配用于 VPC 的弹性 IP 地址，然后将其与 NAT 网关关联。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[弹性 IP 地址](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html)。

**注意**  
使用弹性 IP 地址可能会产生费用。有关更多信息，请参阅 Amazon EC2 定价页面上的[弹性 IP 地址](https://docs.aws.amazon.com/ec2/pricing/on-demand/#Elastic_IP_Addresses)。

如果您还没有弹性 IP 地址，请完成以下步骤。如果需要使用现有的弹性 IP 地址，请确保它当前不与其他实例或网络接口关联。

**分配弹性 IP 地址**

1. 打开位于 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 的 Amazon EC2 控制台。

1. 在导航窗格中的 “**网络与安全**” 下，选择 **Elastic IPs**。

1. 选择 **Allocate New Address (分配新地址)**，然后选择 **Allocate (分配)**。

1. 记录弹性 IP 地址。

1. 在**弹性 IPs**窗格的右上角，单击 X 图标关闭窗格。

## 步骤 2：创建新 VPC
<a name="vpc-with-private-and-public-subnets-nat"></a>

完成以下步骤，创建具有一个公有子网和一个私有子网的新 VPC。

**创建新的 VPC**

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://docs.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在导航窗格中，选择 **VPC Dashboard (VPC 控制面板)**。

1. 选择 **Launch VPC Wizard (启动 VPC 向导)**。

1. 在 **Step 1: Select a VPC Configuration (步骤 1：选择 VPC 配置)** 中，选择 **VPC with Public and Private Subnets (带有公有子网和私有子网的 VPC)**，然后选择 **Select (选择)**。

1. 在 **Step 2: VPC with Public and Private Subnets (步骤 2：具有公有子网和私有子网的 VPC)** 中，如下所示配置 VPC：
   + 对于 **IPv4 CIDR 块**，请为 VPC 指定一个 IPv4 CIDR 块。
   + 对于 **IPv6 CIDR 块**，请保留默认值 “**无 IPv6 CIDR** 块”。
   + 对于 **VPC name (VPC 名称)**，请键入一个唯一的 VPC 名称。

1. 按照如下所示配置公有子网：
   + 对于**公有子网的 IPv4 CIDR**，请为该子网指定 CIDR 块。
   + 对于 **Availability Zone (可用区)**，保留默认值 **No Preference (无首选项)**。
   + 对于 **Public subnet name (公有子网名称)**，键入子网的名称（例如，`WorkSpaces Public Subnet`）。

1. 按照如下所示配置第一个私有子网：
   + 对于**私有子网的 IPv4 CIDR**，请为该子网指定 CIDR 块。记下您指定的值。
   + 对于 **Availability Zone (可用区)**，选择特定区并记下您的选择。
   + 对于 **Private subnet name (私有子网名称)**，键入子网的名称（例如，`WorkSpaces Private Subnet1`）。
   + 对于其余字段，在适用时保留默认值。

1. 对于 **Elastic IP Allocation ID (弹性 IP 分配 ID)**，单击文本框并选择与您创建的弹性 IP 地址相对应的值。此地址分配给 NAT 网关。如果您没有弹性 IP 地址，请使用位于的 Amazon VPC 控制台创建一个弹性 IP 地址[https://console.aws.amazon.com/vpc/](https://docs.aws.amazon.com/vpc/)。

1. 对于**服务端点**，如果您的环境需要 Amazon S3 端点，请指定一个。对于您私有网络中的用户，如果需要访问[主文件夹](persistent-storage.md#home-folders)或者启用[程序设置持久性](app-settings-persistence.md)，则需要 S3 端点。

   要指定 Amazon S3 端点，请执行以下操作：

   1. 选择 **Add Endpoint (添加端点)**。

   1. 对于**服务**，在列表中选择以 “s3” 结尾的条目（该`com.amazonaws.`*region*`.s3`条目对应于创建 VPC 的区域）。

   1. 对于 **Subnet (子网)**，选择 **Private subnet (私有子网)**。

   1. 对于 **Policy (策略)**，保留默认值 **Full Access (完全访问)**。

1. 对于 **Enable DNS hostnames (启用 DNS 主机名)**，保留默认值 **Yes (是)**。

1. 对于 **Hardware tenancy (硬件租赁)**，保留默认值 **Default (默认值)**。

1. 选择**创建 VPC**。

1. 请注意，设置您的 VPC 可能需要几分钟。创建了 VPC 后，选择 **OK**。

## 步骤 3：添加第二个私有子网
<a name="vpc-with-private-and-public-subnets-add-private-subnet-nat"></a>

在上一步（[步骤 2：创建新 VPC](#vpc-with-private-and-public-subnets-nat)）中，您创建了具有一个公有子网和一个私有子网的 VPC。执行以下步骤以添加第二个私有子网。我们建议您在与第一个私有子网不同的可用区中添加第二个私有子网。

1. 在导航窗格中，选择 **Subnets**(子网)。

1. 选择您在上一步骤中创建的第一个私有子网。在 **Description (描述)** 选项卡上的子网列表下方，记录此子网的可用区。

1. 在子网窗格的左上角，选择 **Create Subnet (创建子网)**。

1. 对于 **Name tag (名称标签)**，键入私有子网的名称（例如，`WorkSpaces Private Subnet2`）。

1. 对于 **VPC**，选择上一步骤中已创建的 VPC。

1. 对于 **Availability Zone (可用区)**，请选择一个可用区，而不是您用于第一个私有子网的可用区。选择不同的可用区可提高容错能力，并有助于防止容量不足错误。

1. 对于 **IPv4 CIDR 块**，请为新子网指定唯一的 CIDR 块范围。例如，如果您的第一个私有子网的 IPv4 CIDR 块范围为`10.0.1.0/24`，则可以`10.0.2.0/24`为新的私有子网指定 CIDR 块范围为。

1. 选择**创建**。

1. 创建子网后，选择 **Close (关闭)**。

## 步骤 4：验证并命名子网路由表
<a name="verify-name-route-tables"></a>

在您创建并配置 VPC 后，请完成以下步骤来为路由表指定名称，并验证：
+ 与 NAT 网关所在子网关联的路由表包含使 Internet 流量指向 Internet 网关的路由。这可确保您的 NAT 网关可以访问 Internet。
+ 与私有子网关联的路由表配置为将 Internet 流量指向 NAT 网关。这使您的私有子网中的流实例可以与 Internet 通信。

1. 在导航窗格中，选择 **Subnets (子网)**，然后选择您创建的公有子网（例如 `WorkSpaces Public Subnet`）。

   1. 在 **Route Table (路由表)** 选项卡上，选择路由表的 ID（例如，`rtb-12345678`）。

   1. 选择路由表。在 **Name (名称)** 中，选择编辑图标（铅笔），键入一个名称（例如 `workspaces-public-routetable`），然后选择复选标记以保存该名称。

   1. 选中公有路由表的同时，在 **Routes (路由)** 选项卡上，确认有一个路由用于发送本地流量，另一个路由用于向 VPC 的 Internet 网关发送所有其他流量。下表对这两种路由进行了说明：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-configure-new-vpc-with-private-public-subnets-nat.html)

1. 在导航窗格中，选择 **Subnets (子网)**，然后选择您创建的第一个私有子网（例如 `WorkSpaces Private Subnet1`）。

   1. 在**路由表**选项卡上，选择路由表的 ID。

   1. 选择 路由表。在 **Name (名称)** 中，选择编辑图标（铅笔），输入一个名称（例如 `workspaces-private-routetable`），然后选择复选标记以保存该名称。

   1. 在 **Routes (路由)** 选项卡上，验证路由表包含以下路由：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-configure-new-vpc-with-private-public-subnets-nat.html)

1. 在导航窗格中，选择 **Subnets (子网)**，然后选择您创建的第二个私有子网（例如 `WorkSpaces Private Subnet2`）。

1. 在 **Route Table (路由表)** 选项卡上，验证路由表是否为私有路由表（例如，`workspaces-private-routetable`）。如果路由表不同，请选择**编辑**，然后选择此路由表。

**后续步骤**

要使您的 WorkSpaces in P WorkSpaces ools 能够访问互联网，请完成中的步骤[为 WorkSpaces 池启用互联网接入](managing-network-manual-enable-internet-access.md)。

# 向现有 VPC 添加 NAT 网关
<a name="add-nat-gateway-existing-vpc"></a>

如果您已配置 VPC，请完成以下步骤，将 NAT 网关添加到 VPC。如果您需要创建新 VPC，请参阅[创建和配置新 VPC](create-configure-new-vpc-with-private-public-subnets-nat.md)。

**向现有 VPC 添加 NAT 网关**

1. 要创建 NAT 网关，请完成《Amazon VPC 用户指南》**中的[创建 NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating)中的步骤。

1. 验证您的 VPC 至少有一个私有子网。建议您指定不同的可用区中的两个私有子网以实现高可用性和容错能力。有关如何创建第二个私有子网的信息，请参阅[步骤 3：添加第二个私有子网](create-configure-new-vpc-with-private-public-subnets-nat.md#vpc-with-private-and-public-subnets-add-private-subnet-nat)。

1. 更新与您的一个或多个私有子网关联的路由表，以将面向 Internet 的流量指向该 NAT 网关。这使您的私有子网中的流实例可以与 Internet 通信。为此，请完成《Amazon VPC 用户指南》**中的[更新您的路由表](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-create-route)中的步骤。

**后续步骤**

要使您的 WorkSpaces in P WorkSpaces ools 能够访问互联网，请完成中的步骤[为 WorkSpaces 池启用互联网接入](managing-network-manual-enable-internet-access.md)。

# 为 WorkSpaces 池启用互联网接入
<a name="managing-network-manual-enable-internet-access"></a>

在您的 NAT 网关在 VPC 上可用后，您可以为 WorkSpaces 池启用互联网接入。在[创建 WorkSpaces 池目录](https://docs.aws.amazon.com/workspaces/latest/adminguide/create-directory-pools.html)时，可以启用互联网接入。创建目录时，选择带有 NAT 网关的 VPC。然后，为**子网 1** 选择一个私有子网，以及（可选）为**子网 2** 选择另一个私有子网。如果您的 VPC 中还没有私有子网，则可能需要创建第二个私有子网。

您可以通过启动 WorkSpaces 池来测试您的互联网连接，然后连接到池 WorkSpace 中并浏览互联网。

# 配置带公有子网的新的或现有 VPC
<a name="managing-network-default-internet-access"></a>

如果您在 2013-12-04 之后创建的 Amazon Web Services 账户，则每个 AWS 区域都有一个包含默认公有子网的默认 [VPC](default-vpc-with-public-subnet.md)。但是，您可能需要创建自己的非默认 VPC 或配置现有 VPC 以用于您的 WorkSpaces 池目录。本主题介绍如何配置用于 WorkSpaces 池的非默认 VPC 和公有子网。

配置 VPC 和公有子网后，您可以通过启用 “**默认 Internet 访问” 选项为 WorkSpaces 池 WorkSpaces 中的用户提供互联网访问权限**。启用此选项后，P WorkSpaces ools 将通过将[弹性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)关联到您的公有子网的网络接口来启用互联网连接。弹性 IP 地址是可通过互联网访问的公共 IPv4 地址。因此，我们建议您改用 NAT 网关为 WorkSpaces 池 WorkSpaces 中的用户提供互联网访问权限。此外，启用 **“默认互联网接入**” 后，最多支持 100 WorkSpaces 个。如果您的部署必须支持 100 个以上的并发用户，请改为使用 [NAT 网关配置](managing-network-internet-NAT-gateway.md)。

有关更多信息，请参阅[配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md) 中的步骤。有关其他 VPC 配置建议，请参阅 [WorkSpaces 池的 VPC 设置建议](vpc-setup-recommendations.md)。

**Topics**
+ [步骤 1：配置带公有子网的 VPC](#vpc-with-public-subnet)
+ [步骤 2：为 WorkSpaces 池启用默认互联网接入](#managing-network-enable-default-internet-access)

## 步骤 1：配置带公有子网的 VPC
<a name="vpc-with-public-subnet"></a>

您可以使用以下任一方法，配置自己的带公有子网的非默认 VPC：
+ [创建带单个公有子网的新 VPC](#new-vpc-with-public-subnet)
+ [配置现有 VPC](#existing-vpc-with-public-subnet)

### 创建带单个公有子网的新 VPC
<a name="new-vpc-with-public-subnet"></a>

当您使用 VPC 向导创建新 VPC 时，向导将创建一个 Internet 网关以及一个与公有子网关联的自定义路由表。该路由表将发往 VPC 外部地址的所有流量路由到 Internet 网关。有关此配置的更多信息，请参阅《Amazon VPC 用户指南》**中的[带单个公有子网的 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario1.html)。

1. 完成《Amazon VPC 用户指南》**中的[步骤 1：创建 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/getting-started-ipv4.html#getting-started-create-vpc) 中的步骤，以创建您的 VPC。

1. 要使您 WorkSpaces 能够访问互联网，请完成中的步骤[步骤 2：为 WorkSpaces 池启用默认互联网接入](#managing-network-enable-default-internet-access)。

### 配置现有 VPC
<a name="existing-vpc-with-public-subnet"></a>

如果您要使用不带公有子网的现有 VPC，可以添加一个新的公有子网。除了公有子网之外，您还必须有一个连接到 VPC 的 Internet 网关，以及一个将发往 VPC 外地址的所有流量路由到 Internet 网关的路由表。如需配置这些组件，请完成以下步骤。

1. 要添加公有子网，请完成[在 VPC 中创建子网](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)中的步骤。使用您计划用于 WorkSpaces 池的现有 VPC。

   如果您的 VPC 配置为支持 IPv6 寻址，则会显示 **IPv6 CIDR 阻止**列表。选择 **Don't assign Ipv6 (不分配 Ipv6)**。

1. 要创建 Internet 网关并将其附加到您的 VPC，请完成[创建和附加 Internet 网关](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway)中的步骤。

1. 要将您的子网配置为通过 Internet 网关路由 Internet 流量，请完成[创建自定义路由表](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Routing)中的步骤。在步骤 5 中，对于**目标**，使用 IPv4 格式 (`0.0.0.0/0`)。

1. 要使您的 WorkSpaces 和图像生成器能够访问互联网，请完成中的步骤[步骤 2：为 WorkSpaces 池启用默认互联网接入](#managing-network-enable-default-internet-access)。

## 步骤 2：为 WorkSpaces 池启用默认互联网接入
<a name="managing-network-enable-default-internet-access"></a>

您可以在[创建 WorkSpaces 池目录](https://docs.aws.amazon.com/workspaces/latest/adminguide/create-directory-pools.html)时启用互联网接入。创建目录时，选择带有公有子网的 VPC。然后，为**子网 1** 选择一个公有子网，以及（可选）为**子网 2** 选择另一个公有子网。

您可以通过启动 WorkSpaces 池来测试您的互联网连接，然后连接到池 WorkSpace 中并浏览互联网。

# 使用默认 VPC、公有子网和安全组
<a name="default-vpc-with-public-subnet"></a>

如果您的亚马逊 Web Services 账户是在 2013-12-04 之后创建的，则每个区域都有一个默认 VPC。 AWS 默认 VPC 在各个可用区中包含一个默认公有子网，以及连接到您 VPC 的 Internet 网关。VPC 还包含默认安全组。如果您不熟悉 WorkSpaces 池并想开始使用该服务，则可以在创建 WorkSpaces 池时保留默认 VPC 和安全组处于选中状态。然后，您可以选择至少一个默认子网。

**注意**  
如果您的 Amazon Web Services 账户是在 2013-12-04 之前创建的，则必须创建新的 VPC 或配置现有的 VPC 才能与池一起使用。 WorkSpaces 我们建议您手动配置一个 VPC，为 WorkSpaces 池配置两个私有子网，在公有子网中配置一个 NAT 网关。有关更多信息，请参阅 [配置具有私有子网和 NAT 网关的 VPC](managing-network-internet-NAT-gateway.md)。或者，您也可以配置具有公有子网的非默认 VPC。有关更多信息，请参阅 [配置带公有子网的新的或现有 VPC](managing-network-default-internet-access.md)。

在[创建 WorkSpaces 池目录](https://docs.aws.amazon.com/workspaces/latest/adminguide/create-directory-pools.html)时，可以启用互联网接入。

创建目录时，选择默认 VPC。默认 VPC 名称使用以下格式：`vpc-`*vpc-id*` (No_default_value_Name)`。

然后，为**子网 1** 选择默认公有子网，以及（可选）为**子网 2** 选择另一个默认公有子网。默认子网名称使用以下格式：`subnet-`*subnet-id*` | (`*IPv4 CIDR block*`) | Default in`*availability-zone*。

您可以通过启动 WorkSpaces 池来测试您的互联网连接，然后连接到池 WorkSpace 中并浏览互联网。

# 为矿池配置 FedRAMP 授权或国防部 SRG 合规性 WorkSpaces
<a name="fips-encryption-pools"></a>

要遵守[联邦风险和授权管理计划 (FedRAMP) 或国防部 (](https://aws.amazon.com/compliance/fedramp/)[DoD) 云计算安全要求指南 (SRG)，您必须将 A WorkSpaces mazon Pools 配置为在目录级别使用联邦信息处理标准 (FIPS)](https://aws.amazon.com/compliance/dod/) 端点加密。您还必须使用获得 FedRAMP 授权或符合 DoD SRG 标准的美国 AWS 地区。

FedRAMP 授权级别（中度或高）或国防部 SRG 影响级别（2、4 或 5）取决于使用亚马逊的美国 AWS 地区。 WorkSpaces 有关适用于每个区域的 FedRAMP 授权级别和 DoD SRG 合规性级别，请参阅[合规性计划范围内的AWS 服务](https://aws.amazon.com/compliance/services-in-scope/)。

**要求**
+ 必须将 WorkSpaces 池目录配置为使用 **FIPS 140-2 验证模式进行端**点加密。
**注意**  
要使用 **FIPS 140-2 验证模式**设置，请确保满足以下条件：  
P WorkSpaces ools 目录是：  
 新建且未与池关联
与处于“已停止”状态的现有池关联
池目录已将 [https://docs.aws.amazon.com/workspaces/latest/api/API_ModifyStreamingProperties.html](https://docs.aws.amazon.com/workspaces/latest/api/API_ModifyStreamingProperties.html) 设置为 TCP。
+ 您必须在获得 [FedRAMP 授权或符合 DoD SRG 标准的美国 AWS 地区](https://aws.amazon.com/compliance/services-in-scope/)创建您的资源 WorkSpaces 池。
+ 用户必须通过以下 WorkSpaces 客户端应用程序之一访问他们 WorkSpaces 的：
  + macOS：5.20.0 或更高版本
  + Windows：5.20.0 或更高版本
  + Web Access

**使用 FIPS 端点加密**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**，然后选择要用于进行 FedRAMP 授权和 DoD SRG 合规性的目录。

1. 在**目录详细信息**页面上，选择要为 FIPS 加密模式配置的目录。

1. 在**端点加密**部分，选择**编辑**，然后选择 **FIPS 140-2 验证模式**。

1. 选择**保存**。

# 将 Amazon S3 VPC 终端节点用于 WorkSpaces 池功能
<a name="managing-network-vpce-iam-policy"></a>

当您为池启用应用程序设置持久性或为 WorkSpaces 池目录启用主文件夹时，将 WorkSpaces 使用您为目录指定的 VPC 来提供对 Amazon Simple Storage Service (Amazon S3) 存储桶的访问权限。 WorkSpaces 要允许 WorkSpaces 池访问您的私有 S3 终端节点，请将以下自定义策略附加到您的 Amazon S3 的 VPC 终端节点。有关私有 Amazon S3 端点的更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)和 [Amazon S3 的端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。

------
#### [ Commercial AWS 区域 ]

为商业 AWS 区域中的资源使用以下策略。

------
#### [ AWS GovCloud (US) Regions ]

为商业 AWS GovCloud (US) Regions中的资源使用以下策略。

------

# WorkSpaces 池与您的 VPC 的连接
<a name="pools-port-requirements"></a>

要启用 P WorkSpaces ools 与网络资源和 Internet 的连接，请 WorkSpaces 按以下方式进行配置。

## 网络接口
<a name="pools-network-interfaces"></a>

 WorkSpaces 池 WorkSpaces 中的每个都有以下网络接口：
+ 客户网络接口提供与您的 VPC 内资源以及 Internet 的连接，并用于 WorkSpaces 加入您的目录。
+ 管理网络接口连接到安全的 WorkSpaces 池管理网络。它用于 WorkSpace 向用户设备进行交互式流式传输，并允许 P WorkSpaces ools 管理 WorkSpace。

WorkSpaces 池从以下私有 IP 地址范围中选择管理网络接口的 IP 地址：198.19.0.0/16。请勿将此范围用于您的 VPC CIDR，也不要将您的 VPC 与具有此范围的其他 VPC 对等，因为这可能会造成冲突并 WorkSpaces 导致无法访问。此外，请勿修改或删除连接到 a 的任何网络接口 WorkSpace，因为这也可能导致无法访问。 WorkSpace

## 管理网络接口 IP 地址范围和端口
<a name="pools-management_ports"></a>

管理网络接口 IP 地址范围是 198.19.0.0/16。必须在所有人的管理网络接口上打开以下端口 WorkSpaces：
+ 端口 8300 上的入站 TCP。它用于建立流式连接。
+ 端口 3128 上的出站 TCP。这用于管理 WorkSpaces。
+ 端口 8000 和 8443 上的入站 TCP。这些用于管理 WorkSpaces.
+ 端口 8300 上的入站 UDP。它用于通过 UDP 建立流式连接。

将管理网络接口的入站范围限制于 198.19.0.0/16。

**注意**  
对于 Amazon DCV BYOL Windows WorkSpaces 池，所有区域均使用 10.0.0.0/8 的 IP 地址范围。 AWS 这些 IP 范围是您为 BY WorkSpaces OL 池中的管理流量选择的 /16 CIDR 块的补充。

在正常情况下，P WorkSpaces ools 会为您 WorkSpaces正确配置这些端口。如果在上安装了任何安全软件或防火墙软件 WorkSpace 来阻止这些端口中的任何一个， WorkSpaces 则可能无法正常运行或可能无法访问。

请勿禁用 IPv6。如果禁用 IPv6，“ WorkSpaces 池” 将无法正常运行。有关针对 Windows IPv6 进行配置的信息，请参阅[高级用户 IPv6 在 Windows 中进行配置的指南](https://support.microsoft.com/en-us/help/929852/guidance-for-configuring-ipv6-in-windows-for-advanced-users)。

**注意**  
WorkSpaces 池依靠您的 VPC 中的 DNS 服务器为不存在的本地域名返回不存在的域 (NXDOMAIN) 响应。这使得 WorkSpaces Pools 管理的网络接口能够与管理服务器通信。  
使用 Simple AD 创建目录时， AWS Directory Service 会创建两个同时代表您充当 DNS 服务器的域控制器。由于域控制器不提供 NXDOMAIN 响应，因此它们不能与池一起 WorkSpaces 使用。

## 客户网络接口端口
<a name="primary_ports"></a>
+ 要连接 Internet，以下端口必须针对所有目标打开。如果您在使用经过修改的安全组或自定义安全组，需要手动添加必需的规则。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[安全组规则](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules)。
  + TCP 80 (HTTP)
  + TCP 443 (HTTPS)
  + UDP 4195
+ 如果您加入目录，则必须在您的 WorkSpaces WorkSpaces 池 VPC 和目录控制器之间打开以下端口。
  + TCP/UDP 53 - DNS
  + TCP/UDP 88 - Kerberos 身份验证
  + UDP 123 - NTP
  + TCP 135 - RPC
  + UDP 137-138 - Netlogon
  + TCP 139 - Netlogon
  + TCP/UDP 389 - LDAP
  + TCP/UDP 445 - SMB
  + TCP 1024-65535 - RPC 动态端口

  有关端口的完整列表，请参阅 Microsoft 文档中的 [Active Directory 和 Active Directory 域服务端口要求](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd772723(v=ws.10))。
+ 所有这些都 WorkSpaces 要求向 IP 地址开放端口 80 (HTTP) `169.254.169.254` 以允许访问 EC2 元数据服务。IP 地址范围`169.254.0.0/16`是为管理流量的 P WorkSpaces ools 服务保留的。不排除此范围可能会导致出现流式传输问题。

# 用户与 WorkSpaces 池的连接
<a name="user-connections-to-appstream2"></a>

用户可以通过默认的公共 Internet 端点连接到 P WorkSpaces ools WorkSpaces 中。

默认情况下，P WorkSpaces ools 配置为通过公共互联网路由流媒体连接。需要互联网连接才能对用户进行身份验证并交付 P WorkSpaces ools 运行所需的 Web 资产。要允许此流量，您必须允许[允许的域](allowed-domains.md)中列出的域。

**注意**  
对于用户身份验证，P WorkSpaces ools 支持安全断言标记语言 2.0 (SAML 2.0)。有关更多信息，请参阅 [配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)。

以下主题提供有关如何启用用户与 WorkSpaces 池的连接的信息。

**Topics**
+ [带宽建议](bandwidth-recommendations-user-connections.md)
+ [WorkSpaces 池用户设备的 IP 地址和端口要求](pools-client-application-ports.md)
+ [允许的域](allowed-domains.md)

# 带宽建议
<a name="bandwidth-recommendations-user-connections"></a>

要优化 WorkSpaces 池的性能，请确保您的网络带宽和延迟能够满足用户的需求。

WorkSpaces Pools 使用 NICE 桌面云可视化 (DCV)，让您的用户能够在不同的网络条件下安全地访问和流式传输您的应用程序。为了帮助减少带宽消耗，NICE DCV 使用基于 H.264 视频压缩和编码。在流式传输会话期间，应用程序的可视输出将作为 AES-256 加密像素流通过 HTTPS 进行压缩并流式传输到您的用户。收到流后，它会被解密并输出到用户的本地屏幕。当您的用户与流应用程序进行交互时，NICE DCV 协议会捕获用户输入并通过 HTTPS 将其发送回其流应用程序。

在此过程中会不断测量网络状况，并将信息发送回 WorkSpaces 池。 WorkSpaces Pools 通过实时更改视频和音频编码来动态响应不断变化的网络条件，从而为各种应用程序和网络条件生成高质量的流。

P WorkSpaces ools 流式传输会话的推荐带宽和延迟取决于工作负载。例如，相比于使用企业生产力应用程序编写文档的用户，对于使用图形密集型应用程序执行计算机辅助设计任务的用户，将需要更多的带宽和更低的延迟。

下表提供了基于常见工作负载的 P WorkSpaces ools 流式传输会话的推荐网络带宽和延迟的指导。

对于每个工作负载，基于单个用户在特定时间点可能需要的内容提出带宽建议。该建议未反映持续吞吐量所需的带宽。当在流式传输会话期间屏幕上仅有几个像素发生变化时，持续吞吐量会低得多。虽然可用带宽较少的用户仍然可以流式传输其应用程序，但帧速率或图像质量可能不是最佳的。


| 工作负载 | 说明 | 为每个用户推荐的带宽 | 推荐的最大往返延迟 | 
| --- | --- | --- | --- | 
| 业务线应用程序 | 文档编写应用程序、数据库分析实用程序 | 2 Mbps | < 150 毫秒 | 
| 图形应用程序 | 计算机辅助设计和建模应用程序、照片和视频编辑 | 5 Mbps | < 100 毫秒 | 
| 高保真度 | 跨多个监视器的高保真数据集或映射 | 10 Mbps | < 50 毫秒 | 

# WorkSpaces 池用户设备的 IP 地址和端口要求
<a name="pools-client-application-ports"></a>

WorkSpaces 使用互联网终端节点时，池用户的设备需要通过端口 443 (TCP) 和端口 4195 (UDP) 进行出站访问；如果您使用 DNS 服务器进行域名解析，则需要端口 53 (UDP) 进行出站访问。
+ 端口 443 用于 WorkSpaces 池用户设备之间的 HTTPS 通信，以及使用互联网终端节点 WorkSpaces 时。通常情况下，如果最终用户在流式传输会话期间浏览 Web，则 Web 浏览器会在较高范围内随机选择一个源端口来用于流式传输流量。您必须确保允许流量返回到该端口。
+ 端口 4195 用于 WorkSpaces 池用户设备之间的 UDP HTTPS 通信，以及使用互联网端点 WorkSpaces 时。目前，仅在 Windows 原生客户端中支持此功能。如果您使用的是 VPC 端点，则不支持 UDP。
+ 端口 53 用于 WorkSpaces 池用户的设备与您的 DNS 服务器之间的通信。此端口必须对您的 DNS 服务器的 IP 地址开放，以便解析公有域名。如果您不使用 DNS 服务器进行域名解析，则此端口是可选的。

# 允许的域
<a name="allowed-domains"></a>

要使 WorkSpaces Pools 用户能够访问 WorkSpaces，您必须在网络上允许各种域，因为用户将从这些域中启动对 WorkSpaces 的访问。有关更多信息，请参阅 [WorkSpaces 个人的 IP 地址和端口要求](workspaces-port-requirements.md)。请注意，该页面指定它适用于 WorkSpaces 个人版，但也适用于 WorkSpaces Pools。

**注意**  
如果您的 S3 存储桶名称中包含“.” 字符，则表示所使用的域是 `https://s3.<aws-region>.amazonaws.com`。如果您的 S3 存储桶名称中不包含“.” 字符，则表示所使用的域是 `https://<bucket-name>.s3.<aws-region>.amazonaws.com`。

# 创建 WorkSpaces Pools
<a name="set-up-pools-create"></a>

设置并创建一个池，将从该池中启动和流式传输用户应用程序。

**注意**  
在创建 WorkSpaces Pools 之前，您应该创建一个目录。有关更多信息，请参阅 [配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)。

**设置和创建池**

1. 打开 WorkSpaces 控制台，网址为：[https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home)。

1. 在导航窗格中，依次选择 **WorkSpaces**、**池**。

1. 选择**创建 WorkSpaces Pools。**

1. 在**注册**（可选）下，您可以选择**根据我的使用案例向我推荐选项**，以获取有关您要使用的 WorkSpace 类型的建议。如果您知道要使用 WorkSpaces Pools，则可跳过此步骤。

1. 在**配置 WorkSpaces** 下，输入以下详细信息：
   + 对于**名称**，为池输入一个唯一的名称标识符。不允许使用特殊字符。
   + 对于**描述**，输入池描述（最多 256 个字符）。
   + 对于**捆绑包**，从以下捆绑包类型中选择要用于 WorkSpaces 的捆绑包类型。
     + **使用基础 WorkSpaces 捆绑包** - 从下拉列表中选择一个捆绑包。要了解您选择的捆绑包类型的更多信息，请选择**捆绑包详细信息**。要比较为池提供的捆绑包，请选择**比较所有捆绑包**。
     + **使用您自己的自定义捆绑包** - 选择您之前创建的捆绑包。要创建自定义捆绑包，请参阅[为 WorkSpaces 个人版创建自定义 WorkSpaces 图片和捆绑包](create-custom-bundle.md)。
   + 对于**运行模式**，从以下选项中进行选择，配置池的即时可用性和付费方式：
     + **AutoStop**：池实例根据所选捆绑包按小时使用量收费，仅适用于与用户连接的实例。Pool 中未与用户连接的实例按较低的停止实例小时费用收费。当用户启动会话时，他们会在 1-2 分钟后开始流式传输。
     + **AlwaysOn**：所有池实例将按适用的小时使用量收费，即使用户未连接也是如此。此模式最适合不想等待流式传输开始的用户。
   + 对于**最大会话持续时间（分钟）**，选择流式传输会话可以保持活动状态的最长时间。在达到此限制前的五分钟，如果用户仍连接到流实例，则系统在断开连接之前将会提示用户保存任何打开的文档。在此时间过后，实例将终止并被新的实例取代。您可以在 WorkSpaces Pools 控制台中设置的最长会话持续时间为 5760 分钟（96 小时）。您可以使用 WorkSpaces Pools API 和 CLI 设置的最大会话持续时间为 432000 秒（120 小时）。
   + 对于 **Disconnect timeout in minutes (断开连接超时 (分钟))**，请选择在用户断开连接后流式传输会话保持活动状态的时间。如果在此时间间隔内出现连接断开或网络中断的情况后，用户尝试重新连接到流式传输会话，他们将连接到其上一个会话。否则，他们会建立一个新会话，连接到新的流实例。
   + 如果用户通过在池工具栏上选择**结束会话**或**注销**来结束会话，则不应用断开连接超时。系统而是会提示用户保存任何打开的文档，然后立即断开流实例的连接。用户正在使用的实例随即终止。
   + 对于 **Idle disconnect timeout in minutes (空闲断开连接超时 (分钟))**，请选择用户在与流式传输会话断开连接以及 **Disconnect timeout in minutes (断开连接超时 (分钟))** 时间间隔开始之前可以处于空闲（非活动）状态的时间。在由于处于不活动状态而断开连接之前，用户将收到通知。在 **Disconnect timeout in minutes (断开连接超时 (分钟))** 中指定的时间间隔过去之前，如果他们尝试重新连接到流式传输会话，则会将他们连接到以前的会话。否则，他们会建立一个新会话，连接到新的流实例。如果将该值设置为 0，则会禁用该值。如果禁用了该值，则不会由于处于不活动状态而断开连接用户。
**注意**  
如果用户在流式传输会话期间停止提供键盘或鼠标输入，则将其视为处于空闲状态。对于已加入域的池，在用户使用其 Active Directory 域密码或智能卡登录后，空闲断开连接超时的倒计时才会开始。文件上传和下载、音频输入、音频输出以及像素更改不符合用户活动条件。在 **Idle disconnect timeout in minutes (空闲断开连接超时 (分钟))** 中的时间间隔过去之后，如果用户继续处于空闲状态，则会将他们断开连接。
   + 对于**计划容量策略**（可选），选择**添加新计划容量**。根据预期并发用户的最小数量，指明为池预置最小和最大实例数的开始日期和结束日期与时间。
   + 对于**手动扩展策略**（可选），为池指定用于增加和减少池容量的扩展策略。展开**手动扩展策略**，以添加新的扩展策略。
**注意**  
您的池大小受您指定的最小和最大容量限制。
     + 如果指定的容量利用率小于或高于指定的阈值，请选择**添加新的横向扩展策略**，然后输入用于添加指定实例的值。
     + 如果指定的容量利用率小于或高于指定的阈值，请选择**添加新的横向缩减策略**，然后输入用于删除指定实例的值。
   + 对于**标签**，指定要使用的键对值。键可以是具有特定关联值的一般类别，例如“project”、“owner”或“environment”。

1. 在**选择目录**页面上，选择您创建的目录。要创建目录，请选择**创建目录**。有关更多信息，请参阅 [管理 WorkSpaces 池的目录](manage-workspaces-pools-directory.md)。

1. 选择**创建 WorkSpace 池**。

# 管理 WorkSpaces Pools
<a name="managing-stacks-fleets"></a>

WorkSpaces Pools 由运行您指定的映像的 WorkSpace 组成。

**Topics**
+ [运行模式](running-mode-pools.md)
+ [捆绑包](instance-types.md)
+ [修改池](modify-pool.md)
+ [删除池](set-up-pools-finish.md)
+ [WorkSpaces 池的 Auto Scaling](autoscaling.md)

# WorkSpaces Pools 的运行模式
<a name="running-mode-pools"></a>

WorkSpaces Pool 的运行模式决定其即时可用性和付费方式。在创建 WorkSpaces Pool 时，可以选择以下运行模式：
+ **AutoStop**：WorkSpaces Pool 的实例根据所选捆绑包按小时使用量收费，仅适用于与用户连接的实例。WorkSpaces Pool 中未与用户连接的实例按较低的停止实例小时费用收费。当用户启动会话时，他们会在 1-2 分钟后开始流式传输。
+ **AlwaysOn**：WorkSpaces Pool 的运行实例将按适用的小时使用量收费，即使用户未连接也是如此。此模式最适合不想等待流式传输开始的用户。

有关更多信息，请参阅 [WorkSpaces 定价](https://aws.amazon.com/workspaces/pricing/)。

**Topics**
+ [修改运行模式](modify-running-mode-pool.md)

# 修改运行模式
<a name="modify-running-mode-pool"></a>

当 WorkSpaces Pool 处于停止状态时，您可以在运行模式之间切换。

**修改 WorkSpaces Pool 的运行模式**

1. 打开 WorkSpaces 控制台，网址为：[https://console.aws.amazon.com/workspaces/v2/home](https://console.aws.amazon.com/workspaces/v2/home)。

1. 在导航窗格中，依次选择 **WorkSpaces** 和**池**。

1. 选择要修改的 WorkSpaces Pool 并确认其处于停止状态。然后，选择**操作**和**修改运行模式**。

1. 选择新的运行模式 **AlwaysOn** 或 **AutoStop**，然后选择**保存**。

**使用 AWS CLI 修改 WorkSpaces Pool 的运行模式**
+ 使用 [update-workspaces-pool](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/workspaces/update-workspaces-pool.html) 命令。

# WorkSpaces 泳池套装
<a name="instance-types"></a>

*WorkSpace 捆绑包*是操作系统以及存储、计算和软件资源的组合。启动时 WorkSpace，您可以选择满足您需求的捆绑包。可用的默认捆绑包 WorkSpaces 称为*公共捆绑包*。有关可用的各种公共捆绑包的更多信息 WorkSpaces，请参阅 [Amazon WorkSpaces 捆绑包](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)。

下表提供了有关每个操作系统支持的许可、流式传输协议和捆绑包的信息。


| 操作系统 | 许可证 | 流式传输协议 | 支持的捆绑包 | 
| --- | --- | --- | --- | 
| Windows Server 2019 | 包含 | DCV | 价值、标准、性能、功率、 PowerPro | 
| Windows Server 2022 | 包含 | DCV | 标准、性能、功率、、graphics.g4dn PowerPro、.g4dn GraphicsPro | 

**注意**  
供应商不再支持的操作系统版本不能保证可以正常运行，也不受支持 AWS 支持。

# 修改池
<a name="modify-pool"></a>

创建 WorkSpaces Pools 后，您可以修改以下内容：
+ 目录 ID（如果 WorkSpaces Pools 已停止）
+ 基本详细信息
+ 捆绑包和硬件
+ 会话断开连接设置
+ 容量和扩展
+ 扩缩活动
+ 标签

**修改 WorkSpaces Pools**

1. 在导航窗格中，依次选择 **WorkSpaces**、**池**。

1. 选择要修改的池。

1. 转到要修改的部分，然后选择**编辑**。

1. 进行所需的修改，然后选择**保存**。

# 删除池
<a name="set-up-pools-finish"></a>

您可以删除池以释放资源并避免您的账户产生意外费用。建议您停止任何未使用的运行中的池。

**删除池**

1. 在导航窗格中，依次选择 **WorkSpaces**、**池**。

1. 选择要停止的池，然后选择**停止**。停止池大约需要 5 分钟。

1. 当池的状态为**已停止**时，选择**删除**。

# WorkSpaces 池的自动缩放
<a name="autoscaling"></a>

通过使用自动扩缩，您可以自动更改池大小，使提供的可用实例满足用户需求。池大小决定了可以同时流式传输的用户数。每个用户会话都需要一个实例。您可以根据实例来指定池容量。根据您的池配置和自动扩缩策略，将提供所需数量的实例。您可以定义扩缩策略，根据各种使用率指标自动调整池的大小，并优化可用实例的数目以满足用户需求。您也可以选择关闭自动扩缩功能，并使池按固定大小运行。

**注意**  
在制定 WorkSpaces 池扩展计划时，请确保您的网络配置符合您的要求。
当您使用扩缩功能时，可以使用 Application Auto Scaling API。为了让 Auto Scaling 在 WorkSpaces 池中正常运行，Application Auto Scaling 需要描述和更新您的池以及描述您的 Amazon CloudWatch 警报的权限，以及代表您修改池容量的权限。

以下主题提供的信息可帮助您了解和使用 Auto Scaling for P WorkSpaces ools。

**Topics**
+ [扩缩概念](#autoscaling-concepts)
+ [使用控制台管理池扩缩](#autoscaling-console)
+ [使用 AWS CLI 管理池扩展](#autoscaling-cli)
+ [其他资源](#autoscaling-additional-resources)

## 扩缩概念
<a name="autoscaling-concepts"></a>

WorkSpaces 池扩展由 Application Auto Scaling 提供。有关更多信息，请参阅 [Application Auto Scaling API 参考](https://docs.aws.amazon.com/autoscaling/application/APIReference/)。

要有效地使用带 WorkSpaces 池的 Auto Scaling，您必须了解以下术语和概念。

**池的最少 capacity/minimum 用户会话数**  
实例的最小数量。实例数不能低于该值，并且扩缩策略不会将您的池缩减到该值以下。例如，如果将池的最小容量设置为 2，则您的池永远不会少于 2 个实例。

**池的最大 capacity/maximum 用户会话数**  
实例的最大数目。实例数不能高于该值，并且扩缩策略不会将您的池扩大到该值以上。例如，如果将池的最大容量设置为 10，则您的池永远不会超过 10 个实例。

**所需的用户会话容量**  
正在运行或待处理的总会话数。该值表示池可以在稳定状态下支持的总并发流式传输会话数。

**扩缩策略操作**  
扩缩策略在满足**扩缩策略条件**时对池执行的操作。您可以根据**容量百分比**或**实例数目**选择一个操作。例如，如果**所需的用户会话容量**为 4，且将**扩缩策略操作**设置为“添加 25% 的容量”，则在满足**扩缩策略条件**时，**所需的用户会话容量**将增加 25%，即为 5。

**扩缩策略条件**  
触发 **Scaling Policy Action** 中设置的操作的条件。此条件包括扩缩策略指标、比较运算符和阈值。例如，要在池利用率高于 50% 时扩缩池，您的扩缩策略条件应为“如果容量利用率 > 50%”。

**扩缩策略指标**  
您的扩缩策略基于该指标。以下指标可用于扩缩策略：    
**容量利用率**  
池中正在使用的实例百分比。您可以使用此指标来根据池使用率扩缩池。例如，**Scaling Policy Condition (扩缩策略条件)**：“如果容量利用率 < 25%”执行 **Scaling Policy Action (扩展策略操作)**：“删除 25% 的容量”。  
**可用容量**  
池中可供用户使用的实例数。您可以使用此指标，在您的容量中保留可供用户用来开始流式传输会话的缓冲区。例如，**Scaling Policy Condition (扩展策略条件)**：“如果可用容量 < 5”执行 **Scaling Policy Action (扩展策略操作)**：“添加 5 个实例”。  
**容量不足错误**  
因缺少容量而被拒绝的会话请求的数量。您可以使用此指标为由于容量不足而无法启动流式传输会话的用户预配置新实例。例如，**Scaling Policy Condition**：“如果容量不足错误 > 0”执行 **Scaling Policy Action**：“添加 1 个实例”。

## 使用控制台管理池扩缩
<a name="autoscaling-console"></a>

您可以通过以下两种方式使用 WorkSpaces 控制台来设置和管理扩展：在创建池期间，或随时使用 “**池**” 选项卡。创建池后，转到**扩缩策略**选项卡，为您的池添加新的扩缩策略。有关更多信息，请参阅 [创建 WorkSpaces Pools](set-up-pools-create.md)。

对于数量不断变化的用户环境，定义扩缩策略以控制扩缩响应需求的方式。如果您需要固定数量的用户或出于其他原因而禁用扩缩，则可以设置具有固定数量的实例或用户会话的池。

为此，请将最低容量设置为所需的实例数量。将最大容量调整为至少为最小容量的值。这样可以避免验证错误，但由于池不会扩缩，因此最终会忽略最大容量。然后，删除该池的所有扩缩策略。

**使用控制台设置池扩缩策略**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**池**。

1. 选择池。

1. 在该池的页面上，向下滚动到“容量和扩缩”。

1. 选择**编辑**。

1. 编辑现有策略并在其字段中设置所需的值，然后选择**保存**。策略更改将在几分钟内生效。

1. 您还可以通过依次选择**添加新的计划容量**、**添加新的横向扩展策略**或**添加新的横向缩减策略**，来添加新的容量和扩缩策略。

 以下是一个示例图，说明了在 5 个用户连接到池然后断开连接时的扩缩活动使用率。本示例来自使用以下扩缩策略值的池：
+ 最小容量 = 10
+ 最大容量 = 50
+ 横向扩展 = 如果我的池容量利用率大于 75%，则添加 5 个实例
+ 横向缩减 = 如果我的池容量利用率小于 25%，则删除 6 个实例
**注意**  
会话期间，将在横向扩展事件期间启动 5 个新实例。在横向缩减事件期间，如果有足够的实例而没有活跃的用户会话，并且实例总数未降至最低 10 个实例容量以下，则将回收 6 个实例。不会收回正在运行用户会话的实例。只收回未运行用户会话的实例。

## 使用 AWS CLI 管理池扩展
<a name="autoscaling-cli"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 设置和管理池扩展。要获得更高级的功能，例如设置缩小和横向扩展冷却时间，请使用 CLI。 AWS 在运行扩缩策略命令之前，您必须将池注册为可扩展目标。为此，请使用以下[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令：

```
aws application-autoscaling register-scalable-target
  --service-namespace workspaces \
  --resource-id workspacespool/PoolId \
  --scalable-dimension workspaces:workspacespool:DesiredUserSessions \
  --min-capacity 1 --max-capacity 5
```

**Topics**
+ [示例 1：根据容量利用率应用扩缩策略](#autoscaling-cli-utilization)
+ [示例 2：根据“容量不足”错误应用扩缩策略](#autoscaling-cli-capacity)
+ [示例 3：根据低容量利用率应用扩缩策略](#autoscaling-cli-scale-in)
+ [示例 4：基于计划更改池容量](#autoscaling-cli-schedule)
+ [示例 5：应用目标跟踪扩缩策略](#autoscaling-target-tracking)

### 示例 1：根据容量利用率应用扩缩策略
<a name="autoscaling-cli-utilization"></a>

此 AWS CLI 示例设置了一个扩展策略，如果利用率 >= 75%，则将池扩展 25%。

以下[put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)命令定义了基于利用率的扩展策略：

```
aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-out-utilization.json
```

文件 `scale-out-utilization.json` 的内容如下所示：

```
{
    "PolicyName": "policyname",
    "ServiceNamespace": "workspaces",
    "ResourceId": "workspacespool/PoolId",
    "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions",
    "PolicyType": "StepScaling",
    "StepScalingPolicyConfiguration": {
        "AdjustmentType": "PercentChangeInCapacity",
        "StepAdjustments": [
            {
                "MetricIntervalLowerBound": 0,
                "ScalingAdjustment": 25
            }
        ],
        "Cooldown": 120
    }
}
```

如果命令成功，则输出类似于以下内容，但一些详细信息是您的账户和区域独有的。在本示例中，策略标识符为 `e3425d21-16f0-d701-89fb-12f98dac64af`。

```
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:e3425d21-16f0-d701-89fb-12f98dac64af:resource/workspaces/workspacespool/PoolId:policyName/scale-out-utilization-policy"}
```

现在，为该政策设置 CloudWatch 警报。使用适用于您的名称、区域、账号和策略标识符。您可以对 `-- alarm-actions` 参数使用上一条命令所返回的策略 ARN。

```
aws cloudwatch put-metric-alarm 
--alarm-name alarmname \
--alarm-description "Alarm when Available User Session Capacity exceeds 75 percent" \
--metric-name AvailableUserSessionCapacity \
--namespace AWS/WorkSpaces \
--statistic Average \
--period 300 \
--threshold 75 \
--comparison-operator GreaterThanOrEqualToThreshold \
--dimensions "Name=WorkSpaces pool ID,Value=PoolId" \
--evaluation-periods 1 --unit Percent \
--alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"
```

### 示例 2：根据“容量不足”错误应用扩缩策略
<a name="autoscaling-cli-capacity"></a>

此 AWS CLI 示例设置了一个扩展策略，如果池返回`InsufficientCapacityError`错误，则该策略将池扩展 1。

以下命令定义一个基于“容量不足”的扩缩策略：

```
aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-out-capacity.json
```

文件 `scale-out-capacity.json` 的内容如下所示：

```
{
    "PolicyName": "policyname",
    "ServiceNamespace": "workspaces",
    "ResourceId": "workspacespool/PoolId",
    "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions",
    "PolicyType": "StepScaling",
    "StepScalingPolicyConfiguration": {
        "AdjustmentType": "ChangeInCapacity",
        "StepAdjustments": [
            {
                "MetricIntervalLowerBound": 0,
                "ScalingAdjustment": 1
            }
        ],
        "Cooldown": 120
    }
}
```

如果命令成功，则输出类似于以下内容，但一些详细信息是您的账户和区域独有的。在本示例中，策略标识符为 `f4495f21-0650-470c-88e6-0f393adb64fc`。

```
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:f4495f21-0650-470c-88e6-0f393adb64fc:resource/workspaces/workspacespool/PoolId:policyName/scale-out-insufficient-capacity-policy"}
```

现在，为该政策设置 CloudWatch 警报。使用适用于您的名称、区域、账号和策略标识符。您可以对 `--alarm-actions` 参数使用上一条命令所返回的策略 ARN。

```
aws cloudwatch put-metric-alarm 
--alarm-name alarmname \
--alarm-description "Alarm when out of capacity is > 0" \
--metric-name InsufficientCapacityError \
--namespace AWS/WorkSpaces \
--statistic Maximum \
--period 300 \
--threshold 0 \
--comparison-operator GreaterThanThreshold \
--dimensions "Name=Pool,Value=PoolId" \
--evaluation-periods 1 --unit Count \
--alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"
```

### 示例 3：根据低容量利用率应用扩缩策略
<a name="autoscaling-cli-scale-in"></a>

此 AWS CLI 示例设置了一个扩展策略，该策略可在池中进行扩展，以便在实际容量`UserSessionsCapacityUtilization`较低时减少实际容量。

以下命令定义一个基于“容量过多”的扩缩策略：

```
aws application-autoscaling put-scaling-policy -- cli-input-json file://scale-in-capacity.json
```

文件 `scale-in-capacity.json` 的内容如下所示：

```
{
    "PolicyName": "policyname",
    "ServiceNamespace": "workspaces",
    "ResourceId": "workspacespool/PoolId",
    "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions",
    "PolicyType": "StepScaling",
    "StepScalingPolicyConfiguration": {
        "AdjustmentType": "PercentChangeInCapacity",
        "StepAdjustments": [
            {
                "MetricIntervalUpperBound": 0,
                "ScalingAdjustment": -25
            }
        ],
        "Cooldown": 360
    }
}
```

如果命令成功，则输出类似于以下内容，但一些详细信息是您的账户和区域独有的。在本示例中，策略标识符为 `12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90`。

```
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90:resource/workspaces/workspacespool/PoolId:policyName/scale-in-utilization-policy"}
```

现在，为该政策设置 CloudWatch 警报。使用适用于您的名称、区域、账号和策略标识符。您可以对 `--alarm-actions` 参数使用上一条命令所返回的策略 ARN。

```
aws cloudwatch put-metric-alarm 
--alarm-name alarmname \
--alarm-description "Alarm when Capacity Utilization is less than or equal to 25 percent" \
--metric-name UserSessionsCapacityUtilization \
--namespace AWS/WorkSpaces \
--statistic Average \
--period 120 \
--threshold 25 \
--comparison-operator LessThanOrEqualToThreshold \
--dimensions "Name=Pool,Value=PoolId" \
--evaluation-periods 10 --unit Percent \
--alarm-actions "arn:aws:autoscaling:your-region-code:account-number-without-hyphens:scalingPolicy:policyid:resource/workspaces/workspacespool/PoolId:policyName/policyname"
```

### 示例 4：基于计划更改池容量
<a name="autoscaling-cli-schedule"></a>

通过基于计划更改池容量，您能够扩缩池容量以响应可预测的需求变化。例如，在工作日的开始，您可能预期有特定数量的用户一次性请求流式传输连接。要根据计划更改池容量，可以使用 Application Auto Scaling [PutScheduledAction](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)API 操作或 [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html) AWS CLI 命令。

在更改池容量之前，您可以使用 WorkSpaces [describe-workspaces-pools](https://docs.aws.amazon.com/cli/latest/reference/workspaces/describe-workspaces-pools.html) AWS CLI 命令列出当前的池容量。

```
aws workspaces describe-workspaces-pools --name PoolId
```

当前池容量类似于以下输出 (用 JSON 格式显示)：

```
{
    "CapacityStatus": {
        "AvailableUserSessions": 1,
        "DesiredUserSessions": 1,
        "ActualUserSessions": 1,
        "ActiveUserSessions": 0
    },
}
```

然后，使用 `put-scheduled-action` 命令创建计划操作以更改池容量。例如，以下命令在 UTC 时间每天上午 9 点将最小容量更改为 3，并将最大容量更改为 5。

**注意**  
对于 cron 表达式，以 UTC 时间指定何时执行操作。有关更多信息，请参阅 [Cron 表达式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions)。

```
aws application-autoscaling put-scheduled-action --service-namespace workspaces \
--resource-id workspacespool/PoolId \
--schedule="cron(0 9 * * ? *)" \
--scalable-target-action MinCapacity=3,MaxCapacity=5 \
--scheduled-action-name ExampleScheduledAction \
--scalable-dimension workspaces:workspacespool:DesiredUserSessions
```

要确认更改池容量的计划操作已成功创建，请运行该[describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html)命令。

```
aws application-autoscaling describe-scheduled-actions --service-namespace workspaces --resource-id workspacespool/PoolId
```

如果已成功创建计划的操作，则输出类似于以下内容。

```
{
    "ScheduledActions": [
        {
            "ScalableDimension": "workspaces:workspacespool:DesiredUserSessions",
            "Schedule": "cron(0 9 * * ? *)",
            "ResourceId": "workspacespool/ExamplePool",
            "CreationTime": 1518651232.886,
            "ScheduledActionARN": "<arn>",
            "ScalableTargetAction": {
                "MinCapacity": 3,
                "MaxCapacity": 5
            },
            "ScheduledActionName": "ExampleScheduledAction",
            "ServiceNamespace": "workspaces"
        }
    ]
}
```

有关更多信息，请参阅《Application Auto Scaling 用户指南》**中的[计划扩展](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html)。

### 示例 5：应用目标跟踪扩缩策略
<a name="autoscaling-target-tracking"></a>

通过目标跟踪扩缩功能，您可以为池指定容量利用率级别。

创建目标跟踪扩展策略时，Application Auto Scaling 会自动创建和管理触发扩展策略的 CloudWatch 警报。扩缩策略根据需要增加或减少容量，将容量利用率保持在指定的目标值或接近指定的目标值。为了确保应用程序可用性，池针对此指标尽快按比例横向扩展，但会逐渐横向缩减。

以下[put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)命令定义了目标跟踪扩展策略，该策略尝试保持 75% 的 WorkSpaces 池容量利用率。

```
aws application-autoscaling put-scaling-policy -- cli-input-json file://config.json
```

文件 `config.json` 的内容如下所示：

```
{
  "PolicyName":"target-tracking-scaling-policy",
  "ServiceNamespace":"workspaces",
  "ResourceId":"workspacespool/PoolId",
  "ScalableDimension":"workspaces:workspacespool:DesiredUserSessions",
  "PolicyType":"TargetTrackingScaling",
  "TargetTrackingScalingPolicyConfiguration":{
    "TargetValue":75.0,
    "PredefinedMetricSpecification":{
      "PredefinedMetricType":"WorkSpacesAverageUserSessionsCapacityUtilization"
    },
    "ScaleOutCooldown":300,
    "ScaleInCooldown":300
  }
}
```

如果命令成功，则输出类似于以下内容，但一些详细信息是您的账户和区域独有的。在此示例中，策略标识符是 6d8972f3-efc8-437c-92d1-6270f29a66e7。

```
{
    "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/workspaces/workspacespool/PoolId:policyName/target-tracking-scaling-policy",
    "Alarms": [
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-workspacespool/PoolId-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
            "AlarmName": "TargetTracking-workspacespool/PoolId-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
        },
        {
            "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-workspacespool/PoolId-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
            "AlarmName": "TargetTracking-workspacespool/PoolId-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
        }
    ]
}
```

有关更多信息，请参阅《Application Auto Scaling 用户指南》**中的[目标跟踪扩缩策略](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。

## 其他资源
<a name="autoscaling-additional-resources"></a>

要了解有关使用 Application Auto S AWS caling CLI 命令或 API 操作的更多信息，请参阅以下资源：
+ *AWS CLI Command Reference* 的 [application-autoscaling](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling) 部分
+ [Application Auto Scaling API 参考](https://docs.aws.amazon.com/autoscaling/application/APIReference/)
+ [Application Auto Scaling 用户指南](https://docs.aws.amazon.com/autoscaling/application/userguide/)

# 将 Active Directory 与 WorkSpaces Pools 结合使用
<a name="active-directory"></a>

您可以将 WorkSpaces Pools 中的 Windows WorkSpaces 加入 Microsoft Active Directory 中的域，并使用现有基于云或本地的 Active Directory 域，来启动加入域的流实例。您也可以使用 AWS Directory Service for Microsoft Active Directory（也称为 AWS Managed Microsoft AD）创建 Active Directory 域并使用该域来支持 WorkSpaces Pools 资源。有关使用 AWS Managed Microsoft AD 的更多信息，请参阅《AWS Directory Service 管理指南》**中的 [Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)。

将 WorkSpaces Pools 加入 Active Directory 域后，您可以：
+ 允许您的用户和应用程序从流式传输会话访问 Active Directory 资源 (如打印机和文件共享)。
+ 使用组策略管理控制台 (GPMC) 中可用的组策略设置定义最终用户体验。
+ 流式传输需要用户使用 Active Directory 登录凭证进行身份验证的应用程序。
+ 将企业合规性和安全性策略应用于您 WorkSpaces Pools 中的 WorkSpaces。

**Topics**
+ [Active Directory 域概述](active-directory-overview.md)
+ [开始使用带 WorkSpaces 池的 Active Directory](active-directory-prerequisites.md)
+ [基于证书的身份验证](pools-certificate-based-authentication.md)
+ [WorkSpaces Pools 活动目录管理](active-directory-admin.md)
+ [更多信息](active-directory-more-info.md)

# Active Directory 域概述
<a name="active-directory-overview"></a>

将 Active Directory 域与 WorkSpaces Pools 结合使用需要了解它们如何协作以及您需要完成的配置任务。需要完成以下任务：

1. 按需配置组策略设置以定义应用程序的最终用户体验和安全要求。

1. 在 WorkSpaces Pools 中创建加入域的目录。

1. 在 SAML 2.0 身份提供者中创建 WorkSpaces Pools 应用程序并直接或通过 Active Directory 组将其分配给最终用户。

**用户身份验证流程**

1. 用户浏览到 `https://applications.exampleco.com`。登录页请求对用户进行身份验证。

1. 联合身份验证服务请求从组织的身份存储进行身份验证。

1. 该身份存储将对用户进行身份验证，并将身份验证响应返回到联合身份验证服务。

1. 在成功进行身份验证后，联合身份验证服务会将 SAML 断言发布到用户的浏览器。

1. 用户的浏览器会将 SAML 断言发布到 AWS 登录 SAML 端点（`https://signin.aws.amazon.com/saml`）。AWS登录服务将接收 SAML 请求，处理请求，验证用户身份并将身份验证令牌转发到 WorkSpaces Pools 服务。

1. 通过使用来自 AWS 的身份验证令牌，WorkSpaces Pools 可向用户授权并向浏览器提供应用程序。

1. 用户选择一个应用程序，根据在 WorkSpaces Pools 目录上启用的 Windows 登录身份验证方法，系统会提示他们输入 Active Directory 域密码或选择智能卡。如果同时启用了这两种身份验证方法，则用户可以选择是输入域密码还是使用智能卡。也可以使用基于证书的身份验证对用户进行身份验证，从而删除提示。

1. 访问域控制器以进行用户身份验证。

1. 向域验证身份后，用户的会话从域连接开始。

从用户的角度来看，此过程以透明的方式进行。用户首先导航到您组织的内部门户，然后重定向到 WorkSpaces Pools 门户，而无需输入 AWS 凭证。只需提供 Active Directory 域密码或智能卡凭证。

您必须先使用必需的权限和组策略设置配置 Active Directory 并创建加入域的 WorkSpaces Pools 目录，然后用户才能启动此流程。

# 开始使用带 WorkSpaces 池的 Active Directory
<a name="active-directory-prerequisites"></a>

在将 Microsoft Active Directory 域与 WorkSpaces 池一起使用之前，请注意以下要求和注意事项。

**Topics**
+ [Active Directory 域环境](#active-directory-prerequisites-domain-environment)
+ [域名已加入资源池 WorkSpaces WorkSpaces](#active-directory-prerequisites-streaming-instances)
+ [组策略设置](#active-directory-prerequisites-group-policy-settings)
+ [智能卡身份验证](#active-directory-prerequisites-smart-card-authentication)

## Active Directory 域环境
<a name="active-directory-prerequisites-domain-environment"></a>
+ 你必须有一个 Microsoft Active Directory 域才能加入你的 WorkSpaces。如果您没有 Active Directory 域或者想要使用本地 Active Directory 环境，请参阅[AWS 云端的 Active Directory 域服务：快速入门参考部署](https://docs.aws.amazon.com/quickstart/latest/active-directory-ds/)。
+ 您必须拥有一个域服务帐户，该帐户有权在要与 WorkSpaces 池一起使用的域中创建和管理计算机对象。有关信息，请参阅 Microsoft 文档中的[《如何在 Active Directory 中创建域账户》](https://msdn.microsoft.com/en-us/library/aa545262(v=cs.70).aspx)。

  将此 Active Directory 域与 WorkSpaces 池关联时，请提供服务帐户名和密码。 WorkSpaces 池使用此帐户来创建和管理目录中的计算机对象。有关更多信息，请参阅 [授予创建和管理 Active Directory 计算机对象的权限](active-directory-admin.md#active-directory-permissions)。
+ 在 WorkSpaces 池中注册 Active Directory 域时，必须提供组织单位 (OU) 的可分辨名称。为此目的创建一个 OU。默认 “计算机” 容器不是 OU，不能由 WorkSpaces 池使用。有关更多信息，请参阅 [查找组织单位的可分辨名称](active-directory-admin.md#active-directory-oudn)。
+ 您计划用于 WorkSpaces 池的目录必须能够通过其完全限定的域名 (FQDNs) 通过启动池的虚拟私 WorkSpaces 有云 (VPC) 进行访问。有关更多信息，请参阅 Microsoft 文档中的 [Active Directory and Active Directory Domain Services Port Requirements](https://technet.microsoft.com/en-us/library/dd772723.aspx)。

## 域名已加入资源池 WorkSpaces WorkSpaces
<a name="active-directory-prerequisites-streaming-instances"></a>

从加入域的应用程序流式传输需要基于 SAML 2.0 的用户联合。 WorkSpaces另外，必须使用支持加入 Active Directory 域的 Windows 映像。所有在 2017 年 7 月 24 日或之后发布的公有映像都支持加入 Active Directory 域。

## 组策略设置
<a name="active-directory-prerequisites-group-policy-settings"></a>

验证以下组策略设置的配置。如有必要，请按照本节所述更新设置，这样它们就不会阻止 P WorkSpaces ools 对您的域用户进行身份验证和登录。否则，当您的用户尝试登录时 WorkSpaces ，登录可能无法成功。相反，会显示一条消息，通知用户“发生未知错误”。
+ **计算机配置 > 管理模板 > Windows 组件 > Windows 登录选项 > 禁用或启用软件安全注意序列** – 对于**服务**，将此项设置为**启用**。
+ **计算机配置 > 管理模板 > 系统 > 登录 > 排除凭据提供程序** – 确保以下 CLSID *未*列出：`e7c1bab5-4b49-4e64-a966-8d99686f8c7c`
+ **计算机配置 > 策略 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 交互式登录 > 交互式登录: 尝试登录的用户的消息文本** – 将此项设置为**未定义**。
+ **计算机配置 > 策略 > Windows 设置 > 安全设置 > 本地策略 > 安全选项 > 交互式登录 > 交互式登录: 尝试登录的用户的消息标题** – 将此项设置为**未定义**。

## 智能卡身份验证
<a name="active-directory-prerequisites-smart-card-authentication"></a>

WorkSpaces 池支持使用 Active Directory 域密码或智能[卡，例如适用于 Windows 登录池的通用访问卡 (CAC)](https://www.cac.mil/Common-Access-Card) [和个人身份验证 (PIV)](https://piv.idmanagement.gov/) 智能卡。 WorkSpaces WorkSpaces 有关如何将 Active Directory 环境配置为使用第三方证书颁发机构启用智能卡登录的信息（CAs），请参阅 Microsoft 文档中[关于启用使用第三方证书颁发机构进行智能卡登录的指南](https://docs.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities)。

# 基于证书的身份验证
<a name="pools-certificate-based-authentication"></a>

你可以对加入 Microsoft 活动目录的 WorkSpaces 池使用基于证书的身份验证。这样，当用户登录时，系统就不会再提示输入 Active Directory 域密码。通过对您的 Active Directory 域使用基于证书的身份验证，您可以：
+ 依靠您的 SAML 2.0 身份提供商对用户进行身份验证，并提供 SAML 断言以匹配 Active Directory 中的用户。
+ 使用更少的用户提示创建单点登录体验。
+ 使用 SAML 2.0 身份提供商启用无密码身份验证流程。

基于证书的身份验证使用您的中的 AWS 私有证书颁发机构 (AWS 私有 CA) 资源。 AWS 账户使用 AWS 私有 CA，您可以创建私有证书颁发机构 (CA) 层次结构，包括根和从属 CAs层次。您还可以创建自己的 CA 层次结构，并从中颁发对内部用户进行身份验证的证书。有关更多信息，请参阅[什么是 AWS 私有 CA](https://docs.aws.amazon.com/privateca/latest/userguide/PcaWelcome.html)。

当您使用 AWS 私有 CA 进行基于证书的身份验证时，Pools 会在会话预留时自动为 WorkSpaces 池 WorkSpace 中的每个用户请求证书。 WorkSpaces 它使用预置了证书的虚拟智能卡对用户进行 Active Directory 身份验证。

运行 Windows 实例的加入域的 WorkSpaces 池支持基于证书的身份验证。

**Topics**
+ [先决条件](certificate-based-authentication-prereq.md)
+ [启用基于证书的身份验证](certificate-based-authentication-enable.md)
+ [管理基于证书的身份验证](certificate-based-authentication-manage.md)
+ [启用跨账户 PCA 共享](pca-sharing.md)

# 先决条件
<a name="certificate-based-authentication-prereq"></a>

使用基于证书的身份验证之前，请完成以下步骤。

1. 配置集成了 SAML 2.0 的 WorkSpaces Pools 目录，以使用基于证书的身份验证。有关更多信息，请参阅 [配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)。
**注意**  
如果您要使用基于证书的身份验证，请不要启用池目录中的**智能卡登录**。

1. 在 SAML 断言中配置 `userPrincipalName` 属性。有关更多信息，请参阅 [步骤 7：为 SAML 身份验证响应创建断言](create-directory-pools.md#saml-directory-create-assertions)。

1. 在 SAML 断言中配置 `ObjectSid` 属性。您可以使用此属性与 Active Directory 用户进行强映射。如果 `ObjectSid` 属性与 SAML\$1Subject `NameID` 中指定的用户的 Active Directory 安全标识符（SID）不匹配，则基于证书的身份验证将失败。有关更多信息，请参阅 [步骤 7：为 SAML 身份验证响应创建断言](create-directory-pools.md#saml-directory-create-assertions)。
**注意**  
根据 [Microsoft KB5014754](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16)，2025 年 9 月 10 日之后，基于证书的身份验证要求必须配置 `ObjectSid` 属性。

1. 将 `sts:TagSession` 权限添加到与您的 SAML 2.0 配置一起使用的 IAM 角色信任策略。有关更多信息，请参阅《AWS Identity and Access Management 用户指南》**中的[在 AWS STS 中传递会话标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html.html)。使用基于证书的身份验证时需要此权限。有关更多信息，请参阅 [步骤 5：创建 SAML 2.0 联合身份验证 IAM 角色](create-directory-pools.md#saml-directory-saml-federation-role-in-iam)。

1. 如果您的 Active Directory 没有配置私有证书颁发机构（CA），请使用 AWS 私有 CA 创建一个。AWS使用基于证书的身份验证时需要私有 CA。有关更多信息，请参阅《AWS 私有证书颁发机构 用户指南》**中的[规划您的 AWS 私有 CA 部署](https://docs.aws.amazon.com/privateca/latest/userguide/PcaPlanning.html)。以下是许多基于证书的身份验证使用案例中常见的 AWS 私有 CA 设置：
   + **CA 类型选项**
     + **短期证书 CA 使用模式** – 如果 CA 仅为基于证书的身份验证颁发最终用户证书，则建议使用此模式。
     + **带有根 CA 的单级层次结构** – 选择从属 CA 以将其与现有 CA 层次结构集成。
   + **密钥算法选项** – RSA 2048
   + **主题可分辨名称选项** – 使用合适的选项在 Active Directory 受信任的根证书颁发机构存储中识别此 CA。
   + **证书吊销选项** – CRL 分发
**注意**  
基于证书的身份验证需要一个可从 WorkSpaces Pools 中 WorkSpaces 和域控制器访问的在线 CRL 分发点。这需要以未经身份验证的方式访问为 AWS 私有 CA CRL 条目配置的 Amazon S3 存储桶，或者如果阻止了公共访问，则需要拥有 Amazon S3 存储桶访问权限的 CloudFront 分配。有关这些选项的更多信息，请参阅《AWS 私有证书颁发机构 用户指南》**中的[规划证书吊销列表（CRL）](https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html)。

1. 使用名为 `euc-private-ca` 的键标记您的私有 CA，以指定该 CA 用于 WorkSpaces Pools 基于证书的身份验证。此键不需要值。有关更多信息，请参阅《AWS 私有证书颁发机构 用户指南》**中的[管理私有 CA 的标签](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCaTagging.html)。

1. 基于证书的身份验证使用虚拟智能卡进行登录。有关更多信息，请参阅 [Guidelines for enabling smart card logon with third-party certification authorities](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities)。按照以下步骤进行操作：

   1. 使用域控制器证书配置域控制器，以对智能卡用户进行身份验证。如果您在 Active Directory 中配置了 Active Directory 证书服务企业 CA，它会自动使用启用智能卡登录的证书注册域控制器。如果您没有 Active Directory 证书服务，请参阅[对第三方 CA 的域控制器证书的要求](https://learn.microsoft.com/en-US/troubleshoot/windows-server/windows-security/requirements-domain-controller)。您可以使用 AWS 私有 CA 创建域控制器证书。如果这样做，请不要使用为短期证书配置的私有 CA。
**注意**  
如果使用 AWS Managed Microsoft AD，则可以在满足域控制器证书要求的 Amazon EC2 实例上配置证书服务。有关配置了 Active Directory 证书服务的 AWS Managed Microsoft AD 的部署示例，请参阅[将 Active Directory 部署到新的 Amazon Virtual Private Cloud](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-ad-deploying-new-vpc.html)。  
使用 AWS Managed Microsoft AD 和 Active Directory 证书服务，您还必须创建从控制器的 VPC 安全组到运行证书服务的 Amazon EC2 实例的出站规则。您必须为安全组提供对 TCP 端口 135 以及端口 49152 至 65535 的访问权限，才能启用证书自动注册。Amazon EC2 实例还必须允许域实例（包括域控制器）在这些相同的端口上进行入站访问。有关查找 AWS Managed Microsoft AD 的安全组的更多信息，请参阅[配置 VPC 子网和安全组](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_setup_trust_prepare_mad.html#tutorial_setup_trust_open_vpc)。

   1. 在 AWS 私有 CA 控制台上导出私有 CA 证书，或者使用 SDK 或 CLI 导出私有 CA 证书。有关更多信息，请参阅[导出私有证书](https://docs.aws.amazon.com/acm/latest/userguide/export-private.html)。

   1. 将私有 CA 发布到 Active Directory。登录到域控制器或已加入域的计算机。将私有 CA 证书复制到任意 `<path>\<file>`，然后以域管理员身份运行以下命令。您也可以使用组策略和 Microsoft PKI Health Tool（PKIView）发布 CA。有关更多信息，请参阅[配置说明](https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/enabling-smart-card-logon-third-party-certification-authorities#configuration-instructions)。

      ```
      certutil -dspublish -f <path>\<file> RootCA
      ```

      ```
      certutil -dspublish -f <path>\<file> NTAuthCA
      ```

      确保命令成功完成，然后删除私有 CA 证书文件。根据 Active Directory 复制设置，CA 可能需要几分钟才能发布到您的域控制器和 WorkSpaces Pools 中的 WorkSpaces。
**注意**  
Active Directory 必须在 WorkSpaces Pools 中的 WorkSpaces 加入域时自动将 CA 分发给受信任的根证书颁发机构和 Enterprise NTAuth 存储。
**注意**  
Active Directory 域控制器必须处于兼容模式，证书强制执行才能支持基于证书的身份验证。有关更多信息，请参阅 Microsoft Support 文档中的 [KB5014754 - Windows 域控制器上基于证书的身份验证更改](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16)。如果您使用的是 AWS 托管 Microsoft AD，请参阅[配置目录安全设置](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_directory_settings.html)，以了解更多信息。

# 启用基于证书的身份验证
<a name="certificate-based-authentication-enable"></a>

要启用基于证书的身份验证，请完成以下步骤。

**启用基于证书的身份验证**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，选择**目录**。

1. 选择**池目录**选项卡。

1. 选择要配置的目录。

1. 在该页面的**身份验证**部分，选择**编辑**。

1. 在该页面**基于证书的身份验证**部分，选择**编辑基于证书的身份验证**。

1. 选择**启用基于证书的身份验证**。

1. 在 **AWS Certificate Manager （ACM）私有证书颁发机构（CA）**下拉列表中，选择证书。

   要显示在下拉列表中，应将私有 CA 存储在相同的 AWS 账户 和 AWS 区域。您还必须使用名为 `euc-private-ca` 的密钥标记私有 CA。

1. 在回退模式下配置目录日志。在回退模式下，如果基于证书的身份验证不成功，用户可以使用其 AD 域密码登录。仅当用户知道自己的域密码时，才建议这样做。关闭回退功能后，如果出现锁屏或 Windows 注销，则会话可能会断开用户的连接。如果开启了回退功能，则会话会提示用户输入 AD 域密码。

1. 选择**保存**。

基于证书的身份验证现已启用。当用户使用已加入的域通过 SAML 2.0 向 P WorkSpaces ools 目录进行身份验证时 WorkSpaces，他们将不再收到输入域密码的提示。用户在连接到启用了基于证书的身份验证的会话时，会看到一条**使用基于证书的身份验证进行连接**消息。

# 管理基于证书的身份验证
<a name="certificate-based-authentication-manage"></a>

启用基于证书的身份验证后，请查看以下任务。

## 私有 CA 证书
<a name="certificate-based-authentication-manage-CA"></a>

在典型配置中，私有 CA 证书的有效期为 10 年。有关更换证书过期的私有 CA 或重新颁发具有新有效期的私有 CA 的更多信息，请参阅[管理私有 CA 生命周期](https://docs.aws.amazon.com/privateca/latest/userguide/ca-lifecycle.html) 

## 最终用户证书
<a name="certificate-based-authentication-manage-certs"></a>

由 for P WorkSpaces ools 基于证书 AWS 私有证书颁发机构 的身份验证颁发的最终用户证书不需要续订或撤销。这些证书是短暂的。 WorkSpaces Pools 会为每个新会话自动颁发新证书，对于持续时间较长的会话，则每 24 小时自动颁发一次新证书。P WorkSpaces ools 会话控制这些最终用户证书的使用。如果您结束会话，P WorkSpaces ools 将停止使用该证书。这些最终用户证书的有效期比典型的 AWS 私有证书颁发机构 CRL 发行版短。因此，无需吊销最终用户证书，这些证书也不会出现在 CRL 中。

## 审核报告
<a name="certificate-based-authentication-manage-audit"></a>

您可以创建审核报告，以列出您的私有 CA 已颁发和吊销的所有证书。有关更多信息，请参阅[将审核报告与私有 CA 结合使用](https://docs.aws.amazon.com/privateca/latest/userguide/PcaAuditReport.html)。

## 日志记录和监控
<a name="certificate-based-authentication-manage-logging"></a>

您可以使用按 WorkSpaces 池记录 CloudTrail 对私有 CA 的 API 调用。有关更多信息，请参阅[什么是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 在《*AWS CloudTrail 用户指南》*中， CloudTrail在《*AWS 私有证书颁发机构 用户指南*》中[使用](https://docs.aws.amazon.com/privateca/latest/userguide/PcaCtIntro.html)。在 CloudTrail 活动历史记录中，您可以查看由池用户名**GetCertificate**创建**IssueCertificate**的 **acm-pca.amazonaws.com** 事件源中的事件名称。 WorkSpaces **EcmAssumeRoleSession**每个基于 P WorkSpaces ools 证书的身份验证请求都将记录这些事件。有关更多信息，请参阅《*AWS CloudTrail 用户指南》*中的[使用 CloudTrail 事件历史记录查看事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

# 启用跨账户 PCA 共享
<a name="pca-sharing"></a>

私有 CA（PCA）跨账户共享允许为其他账户授予使用集中式 CA 的权限。该 CA 可以通过使用 [AWS Resource Access Manager](https://aws.amazon.com/ram/)（RAM）来管理权限，从而生成和颁发证书。这样就无需在每个账户中都使用私有 CA。私有 CA 跨账户共享可以与基于 WorkSpaces 应用程序证书的身份验证 (CBA) 一起使用。AWS 区域

要将共享的私有 CA 资源与 WorkSpaces 池 CBA 一起使用，请完成以下步骤：

1. 以集中AWS 账户方式为 CBA 配置私有 CA。有关更多信息，请参阅 [基于证书的身份验证和个人 WorkSpaces](certificate-based-authentication.md)。

1. 与资源 WorkSpaces 池资源使用 CBA AWS 账户 的资源共享私有 CA。为此，请按照[如何使用 AWS RAM 跨账户共享您的 ACM 私有 CA 中的步骤进行](https://aws.amazon.com/blogs/security/how-to-use-aws-ram-to-share-your-acm-private-ca-cross-account/)操作。您无需完成步骤 3 来创建证书。您可以与个人 AWS 账户共享私有 CA，也可以通过 AWS Organizations共享。如果您与个人账户共享，则需要使用AWS Resource Access Manager控制台或接受资源账户中的共享私有 CA APIs。

   配置共享时，请确认AWS Resource Access Manager资源账户中私有 CA 的资源共享使用`AWSRAMBlankEndEntityCertificateAPICSRPassthroughIssuanceCertificateAuthority`托管权限模板。此模板与 P WorkSpaces ools 服务角色在颁发 CBA 证书时使用的 PCA 模板一致。

1. 共享成功后，使用资源账户中的私有 CA 控制台查看共享的私有 CA。

1. 使用 API 或 CLI 将私有 CA ARN 与 Pools 目录中的 WorkSpaces CBA 相关联。目前，P WorkSpaces ools 控制台不支持选择共享私有 CA ARNs。有关更多信息，请参阅《[亚马逊 WorkSpaces服务 API 参考](https://docs.aws.amazon.com/workspaces/latest/api/welcome.html)》。

# WorkSpaces Pools 活动目录管理
<a name="active-directory-admin"></a>

设置和使用带 WorkSpaces 池的 Active Directory 涉及以下管理任务。

**Topics**
+ [授予创建和管理 Active Directory 计算机对象的权限](#active-directory-permissions)
+ [查找组织单位的可分辨名称](#active-directory-oudn)
+ [在自定义映像上授予本地管理员权限](#active-directory-image-builder-local-admin)
+ [在用户空闲时锁定流式传输会话](#active-directory-session-lock)
+ [将 WorkSpaces 池配置为使用域信任](#active-directory-domain-trusts)

## 授予创建和管理 Active Directory 计算机对象的权限
<a name="active-directory-permissions"></a>

要允许 WorkSpaces 池执行 Active Directory 计算机对象操作，您需要一个具有足够权限的帐户。最佳实践是使用仅具有所需最低权限的账户。最低的 Active Directory 组织单位 (OU) 权限如下所示：
+ 创建计算机对象
+ 更改密码
+ 重置密码
+ 编写描述

在设置权限之前，需要先完成以下任务：
+ 获取对已加入域的计算机或 EC2 实例的访问权限。
+ 安装 Active Directory 用户和计算机 MMC 管理单元。有关更多信息，请参阅 Microsoft 文档中的[安装或删除适用于 Windows 7 的远程服务器管理工具](https://technet.microsoft.com/en-us/library/ee449483.aspx)。
+ 以拥有适当权限的域用户身份登录并修改 OU 安全设置。
+ 创建或标识要向其委派权限的用户、服务账户或组。

**设置最低权限**

1. 在域中或域控制器上打开 **Active Directory Users and Computers** (Active Directory 用户和计算机)。

1. 在左侧导航窗格中，选择要在其中提供域加入权限的第一个 OU，打开上下文 (右键单击) 菜单，然后选择 **Delegate Control** (委派控制)。

1. 在**控制委派向导**页面上，依次选择**下一步**和**添加**。

1. 对于**选择用户、计算机或组**，选择先前创建的用户、服务账户或组，然后选择**确定**。

1. 在**要委派的任务**页面上，选择**创建要委派的自定义任务**，然后选择**下一步**。

1. 依次选择**只是在这个文件夹中的下列对象**和**计算机对象**。

1. 依次选择**在这个文件夹中创建所选对象**和**下一步**。

1. 对于**权限**，选择**读取**、**写入**、**更改密码**、**重置密码**，然后选择**下一步**。

1. 在**完成控制委派向导**页面上，验证信息并选择**完成**。

1. 对于其他需要这些权限的用户 OUs ，请重复步骤 2-9。

如果您将权限委派给组，则创建具有强密码的用户或服务账户，并将该账户添加到组中。然后，此帐户将有足够的权限将您 WorkSpaces 连接到该目录。在创建 P WorkSpaces ools 目录配置时使用此帐户。

## 查找组织单位的可分辨名称
<a name="active-directory-oudn"></a>

在 WorkSpaces 池中注册 Active Directory 域时，必须提供组织单位 (OU) 的可分辨名称。为此目的创建一个 OU。默认 “计算机” 容器不是 OU，不能由 WorkSpaces 池使用。以下步骤演示如何获得此名称。

**注意**  
可分辨名称必须以 **OU=** 开头，否则不能用于计算机对象。

需要先执行以下操作，然后才能完成此过程:
+ 获取对已加入域的计算机或 EC2 实例的访问权限。
+ 安装 Active Directory 用户和计算机 MMC 管理单元。有关更多信息，请参阅 Microsoft 文档中的[安装或删除适用于 Windows 7 的远程服务器管理工具](https://technet.microsoft.com/en-us/library/ee449483.aspx)。
+ 以拥有适当权限的域用户身份登录并读取 OU 安全属性。

**查找 OU 的可分辨名称**

1. 在域中或域控制器上打开 **Active Directory Users and Computers** (Active Directory 用户和计算机)。

1. 在**查看**下，确保**高级功能**已启用。

1. 在左侧导航窗格中，选择要用于 WorkSpaces 计算机对象的第一个 OU，打开上下文（右键单击）菜单，然后选择 “**属性**”。

1. 选择**属性编辑器**。

1. 在**属性**下，对于 **distinguishedName**，选择 **查看**。

1. 对于 **Value** (值)，选择可分辨名称，打开上下文 (右键单击) 菜单，然后选择 **Copy** (复制)。

## 在自定义映像上授予本地管理员权限
<a name="active-directory-image-builder-local-admin"></a>

默认情况下，Active Directory 域用户对于映像不具有本地管理员权限。您可以通过使用目录中的组策略首选项，或通过在映像上使用本地管理员账户来手动授予这些权限。向域用户授予本地管理员权限允许该用户在池中安装应用程序并在 WorkSpaces 池中创建自定义映像。

**Topics**
+ [使用组策略首选项](#group-policy)
+ [使用上的本地管理员组 WorkSpace 创建映像](#manual-procedure)

### 使用组策略首选项
<a name="group-policy"></a>

可以使用组策略首选项为 Active Directory 用户或组以及指定 OU 中的所有计算机对象授予本地管理员权限。Active Directory 用户或组必须存在才能向其授予本地管理员权限。要使用组策略首选项，需要先执行以下操作：
+ 获取对已加入域的计算机或 EC2 实例的访问权限。
+ 安装组策略管理控制台(GPMC) MMC 管理单元。有关更多信息，请参阅 Microsoft 文档中的[安装或删除适用于 Windows 7 的远程服务器管理工具](https://technet.microsoft.com/en-us/library/ee449483.aspx)。
+ 以具有创建组策略对象权限的域用户身份登录 (GPOs)。链接 GPOs 到相应的 OUs。

**使用组策略首选项授予本地管理员权限**

1. 在您的目录中或域控制器上，以管理员身份打开命令提示符，键入 `gpmc.msc`，然后按 Enter。

1. 在左侧控制台树中，选择将在其中创建新 GPO 的 OU，或使用现有 GPO，然后执行以下任一操作：
   + 通过打开上下文 (右键单击) 菜单并选择**在此域中创建 GPO，在此处链接**来创建新的 GPO。对于 **Name**，为该 GPO 提供一个描述性名称。
   + 选择现有 GPO。

1. 打开 GPO 的上下文菜单并选择**编辑**。

1. 在控制台树中，依次选择 **Computer Configuration** (计算机配置)、**Preferences** (首选项)、**Windows Settings** (Windows 设置)、**Control Panel Settings** (控制面板设置) 和 **Local Users and Groups** (本地用户和组)。

1. 选择 **Local Users and Groups** (本地用户和组)，打开上下文菜单，选择 **New** (新建)、**Local Group** (本地组)。

1. 对于 **Action**，选择 **Update**。

1. 对于 **Group name**，选择 **Administrators (built-in)**。

1. 在**成员**下，选择**添加…** 并指定 Active Directory 用户账户或组，以便为其分配流实例的本地管理员权限。对于 **Action**，选择 **Add to this group**，然后选择 **OK**。

1. 要将此 GPO 应用于其他 GPO OUs，请选择其他 OU，打开快捷菜单并选择 “**链接现有 GP** O”。

1. 使用在步骤 2 中指定的新的或现有的 GPO 名称，滚动查找 GPO，然后选择 **OK** (确定)。

1. 对于其他应具有此首选项的内容 OUs ，请重复步骤 9 和 10。

1. 选择 **OK** (确定) 以关闭 **New Local Group Properties** (新建本地组属性) 对话框。

1. 再次选择 **OK** (确定) 以关闭 GPMC。

要将新首选项应用于 GPO，必须停止并重新启动正在运行的任何映像生成器或实例集。对于在步骤 8 中指定的 Active Directory 用户和组，将自动为它们授予对 GPO 链接到的 OU 中的映像生成器和实例集的本地管理员权限。

### 使用上的本地管理员组 WorkSpace 创建映像
<a name="manual-procedure"></a>

要授予 Active Directory 用户或组对映像的本地管理员权限，您可以手动将这些用户或组添加到映像上的本地管理员组中。

Active Directory 用户或组必须存在才能向其授予本地管理员权限。

1. Connect 连接到 WorkSpace 你用来构建镜像的。 WorkSpace 必须正在运行且已加入域。

1. 依次选择**开始**、**管理工具**，然后单击**计算机管理**。

1. 在左侧导航窗格中，选择**本地用户和组**并打开**组**文件夹。

1. 打开**管理员**组，选择**添加...**。

1. 选择要向其分配本地管理员权限的所有 Active Directory 用户或组，然后选择**确定**。再次选择**确定**以关闭**管理员属性**窗口。

1. 关闭“计算机管理”。

1. 要以 Active Directory 用户身份登录并测试该用户是否拥有本地**管理员权限 WorkSpaces，请选择管理员命令**、**切换用户**，然后输入相关用户的凭据。

## 在用户空闲时锁定流式传输会话
<a name="active-directory-session-lock"></a>

WorkSpaces 池依赖于您在 GPMC 中配置的设置，以便在用户闲置指定时间后锁定直播会话。要使用 GPMC，需要先执行以下操作：
+ 获取对已加入域的计算机或 EC2 实例的访问权限。
+ 安装 GPMC。有关更多信息，请参阅 Microsoft 文档中的[安装或删除适用于 Windows 7 的远程服务器管理工具](https://technet.microsoft.com/en-us/library/ee449483.aspx)。
+ 以具有创建权限的域用户身份登录 GPOs。链接 GPOs 到相应的 OUs。

**在用户空闲时自动锁定流实例**

1. 在您的目录中或域控制器上，以管理员身份打开命令提示符，键入 `gpmc.msc`，然后按 Enter。

1. 在左侧控制台树中，选择将在其中创建新 GPO 的 OU，或使用现有 GPO，然后执行以下任一操作：
   + 通过打开上下文 (右键单击) 菜单并选择**在此域中创建 GPO，在此处链接**来创建新的 GPO。对于 **Name**，为该 GPO 提供一个描述性名称。
   + 选择现有 GPO。

1. 打开 GPO 的上下文菜单并选择**编辑**。

1. 在**用户配置**下，依次展开**策略**、**管理模板**、**控制面板**，然后选择 **个性化**。

1. 双击**启用屏幕保护程序**。

1. 在**启用屏幕保护程序**策略设置中，选择**已启用**。

1. 选择**应用**，然后选择**确定**。

1. 双击**强制使用特定的屏幕保护程序**。

1. 在**强制使用特定的屏幕保护程序**策略设置中，选择**已启用**。

1. 在 **可执行的屏幕保护程序的名称**下，输入 **scrnsave.scr**。启用此设置后，系统将在用户桌面上显示黑屏保护程序。

1. 选择**应用**，然后选择**确定**。

1. 双击**密码保护屏幕保护程序**。

1. 在**密码保护屏幕保护程序**策略设置中，选择**已启用**。

1. 选择**应用**，然后选择**确定**。

1. 双击**屏幕保护程序超时**。

1. 在**屏幕保护程序超时**策略设置中，选择**已启用**。

1. 对于**秒**，请指定在应用屏幕保护程序之前，用户必须处于空闲状态的时间长度。要将空闲时间设置为 10 分钟，请指定 600 秒。

1. 选择**应用**，然后选择**确定**。

1. 在控制台树中的**用户配置**下，依次展开**策略**、**管理模板**、**系统**，然后选择 **Ctrl\$1Alt\$1Del 选项**。

1. 双击**删除“锁定计算机”**。

1. 在**删除“锁定计算机”**策略设置中，选择**已禁用**。

1. 选择**应用**，然后选择**确定**。

## 将 WorkSpaces 池配置为使用域信任
<a name="active-directory-domain-trusts"></a>

WorkSpaces 池支持 Active Directory 域环境，在这种环境中，文件服务器、应用程序和计算机对象等网络资源位于一个域中，用户对象位于另一个域中。用于计算机对象操作的域服务帐户不必与 WorkSpaces 池计算机对象位于同一个域中。

创建目录配置时，请指定在 Active Directory 域 (文件服务器、应用程序、计算机对象和其他网络资源驻留的位置) 中具有管理计算机对象的相应权限的服务账户。

对于以下项目，您的最终用户 Active Directory 账户必须拥有“允许身份验证”权限：
+ WorkSpaces 池计算机对象
+ 域的域控制器

有关更多信息，请参阅 [授予创建和管理 Active Directory 计算机对象的权限](#active-directory-permissions)。

# 更多信息
<a name="active-directory-more-info"></a>

有关与此主题相关的更多信息，请参阅以下资源：
+ [Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) - 有关使用 Directory Service 的信息。

# Pools 的捆绑包和 WorkSpaces 图片
<a name="pools-images"></a>

*WorkSpace 捆绑包*是操作系统以及存储、计算和软件资源的组合。启动时 WorkSpace，您可以选择满足您需求的捆绑包。可用的默认捆绑包 WorkSpaces 称为*公共捆绑包*。有关可用的各种公共捆绑包的更多信息 WorkSpaces，请参阅 [Amazon WorkSpaces 捆绑包](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)。

如果你已经启动了 Windows WorkSpace 并对其进行了自定义，则可以从中创建自定义映像 WorkSpace 以用于 P WorkSpaces ool。 WorkSpaces 池中不支持 Linux。

*自定义映像*仅包含的操作系统、软件和设置 WorkSpace。*自定义捆绑包*是该自定义映像和 WorkSpace 可以从中启动的硬件的组合。

创建自定义映像后，您可以构建一个将自定义映 WorkSpace 像与您选择的底层计算和存储配置相结合的自定义捆绑包。然后，您可以在创建新 WorkSpaces 池时指定此自定义捆绑包，以确保池 WorkSpaces 中的新池具有相同的一致配置（硬件和软件）。

如果您需要执行软件更新或在上安装其他软件 WorkSpaces，则可以更新您的自定义软件包并使用它来重建您的 WorkSpaces。

WorkSpaces Pools 支持多种不同的操作系统 (OS)、流媒体协议和捆绑包。下表提供了有关每个操作系统支持的许可、流式传输协议和捆绑包的信息。


| 操作系统 | 许可证 | 流式传输协议 | 支持的捆绑包 | 生命周期策略/停用日期 | 
| --- | --- | --- | --- | --- | 
| Windows Server 2019 | 包含 | DCV | 价值、标准、性能、功率、 PowerPro | [2029 年 1 月 9 日](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2019) | 
| Windows Server 2022 | 包含 | DCV | 标准、性能、功率、、graphics.g4dn PowerPro、.g4dn GraphicsPro | [2031 年 10 月 14 日](https://learn.microsoft.com/en-us/lifecycle/products/windows-server-2022) | 

**注意**  
供应商不再支持的操作系统版本不能保证可以正常运行，也不受支持 AWS 支持。

**Topics**
+ [WorkSpaces Pools 的捆绑包选项](pools-custom-images-bundles.md)
+ [为 P WorkSpaces ools 创建自定义镜像和捆绑包](pools-images-custom-image.md)
+ [管理 Pools 的自定义映像和捆绑包 WorkSpaces](pools-images-managing.md)
+ [使用会话脚本来管理您的用户的流式传输体验](pools-images-session-scripts.md)

# WorkSpaces Pools 的捆绑包选项
<a name="pools-custom-images-bundles"></a>

在选择要用于 WorkSpaces Pools 的捆绑包之前，请确保要选择的捆绑包与 WorkSpaces 的协议、操作系统、网络和计算类型兼容。建议您通过运行和使用复制用户日常任务的应用程序，在测试环境中测试您要选择的捆绑包的性能。有关协议的更多信息，请参阅 [WorkSpaces 个人协议](amazon-workspaces-networking.md#amazon-workspaces-protocols)。有关网络的更多信息，请参阅 [WorkSpaces 个人版客户端网络要求](workspaces-network-requirements.md)。

以下公有捆绑包可以与 WorkSpaces Pools 一起使用。有关 WorkSpaces 捆绑包的信息，请参阅 [Amazon WorkSpaces 捆绑包](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)。Value、Standard、Performance、Power、PowerPro

## 经济捆绑包
<a name="value"></a>

此捆绑包非常适合以下用途：
+ 基本的文本编辑和数据输入
+ 使用量较少的 Web 浏览
+ 即时消息发送

不建议将此捆绑包用于文字处理、音频和视频会议、屏幕共享、软件开发工具、商业智能应用程序和图形应用程序。

## 标准捆绑包
<a name="standard"></a>

此捆绑包非常适合以下用途：
+ 基本的文本编辑和数据输入
+ Web 浏览
+ 即时消息发送
+ 电子邮件

不建议将此捆绑包用于音频和视频会议、屏幕共享、文字处理、软件开发工具、商业智能应用程序和图形应用程序

## 性能捆绑包
<a name="performance"></a>

此捆绑包非常适合以下用途：
+ Web 浏览
+ 文字处理
+ 即时消息发送
+ 电子邮件
+ 电子表格
+ 音频处理
+ 课件

不建议将此捆绑包用于视频会议、屏幕共享、软件开发工具、商业智能应用程序和图形应用程序

## 节能捆绑包
<a name="power"></a>

此捆绑包非常适合以下用途：
+ Web 浏览
+ 文字处理
+ 电子邮件
+ 即时消息发送
+ 电子表格
+ 音频处理
+ 软件开发（集成式开发环境 (IDE)）
+ 中级数据处理入门
+ 音频和视频会议

不建议将此捆绑包用于屏幕共享、软件开发工具、商业智能应用程序和图形应用程序。

## PowerPro 捆绑包
<a name="powerpro"></a>

此捆绑包非常适合以下用途：
+ Web 浏览
+ 文字处理
+ 电子邮件
+ 即时消息发送
+ 电子表格
+ 音频处理
+ 软件开发（集成式开发环境 (IDE)）
+ 数据仓库
+ 商业智能应用程序
+ 音频和视频会议

不建议将此捆绑包用于机器学习模型训练和图形应用程序

## Graphics.g4dn 捆绑包
<a name="graphicsg4dn"></a>

该捆绑包为您的 WorkSpaces 提供高水平图形性能以及中等水平 CPU 性能和内存，非常适合以下用途：
+ Web 浏览
+ 文字处理
+ 电子邮件
+ 电子表格
+ 即时消息发送
+ 音频会议
+ 软件开发（集成式开发环境 (IDE)）
+ 中级数据处理入门
+ 数据仓库
+ 商业智能应用程序
+ 图形设计
+ CAD/CAM（计算机辅助设计/计算机辅助制造）

不建议将此捆绑包用于音频和视频会议、3D 渲染、照片级逼真设计和机器学习模型训练

## GraphicsPro.g4dn 捆绑包
<a name="graphicsprog4dn"></a>

该捆绑包为您的 WorkSpaces 提供高水平图形性能、CPU 性能和内存，非常适合以下用途：
+ Web 浏览
+ 文字处理
+ 电子邮件
+ 电子表格
+ 即时消息发送
+ 音频会议
+ 软件开发（集成式开发环境 (IDE)）
+ 中级数据处理入门
+ 数据仓库
+ 商业智能应用程序
+ 图形设计
+ CAD/CAM（计算机辅助设计/计算机辅助制造）
+ 视频转码
+ 3D 渲染
+ 照片级逼真设计
+ 游戏流
+ ML（机器学习）模型训练和 ML 推理

不建议将此捆绑包用于音频和视频会议。

# 为 P WorkSpaces ools 创建自定义镜像和捆绑包
<a name="pools-images-custom-image"></a>

WorkSpaces Pool 仅支持 Windows 映像和捆绑包。如果你已经启动了 Windows 或 WorkSpace 并对其进行了自定义，则可以用它创建自定义映像和自定义捆绑包。 WorkSpace

*自定义映像*仅包含的操作系统、软件和设置 WorkSpace。*自定义捆绑包*是该自定义映像和 WorkSpace 可以从中启动的硬件的组合。

创建自定义映像后，您可以构建一个自定义服务包，该服务包将自定义映像与您选择的基础计算和存储配置相结合。然后，您可以在启动新包时指定此自定义捆绑包， WorkSpaces 以确保新包 WorkSpaces 具有相同的一致配置（硬件和软件）。

通过为每个服务包选择不同的计算和存储选项，您可以使用相同的自定义映像来创建各种自定义服务包。

**重要**  
自定义捆绑包存储量不能小于映像存储量。

自定义捆绑包的成本与创建这些捆绑包的公有捆绑包的成本相同。有关定价的更多信息，请参阅 [Amazon WorkSpaces 定价](https://aws.amazon.com/workspaces/pricing/)。

**Topics**
+ [创建 Windows 自定义映像的要求](#pools-windows_custom_image_requirements)
+ [最佳实践](#pools-custom_image_best_practices)
+ [步骤 1：运行映像检查程序](#pools-run_image_checker)
+ [第 2 步：创建自定义镜像和自定义套装](#pools-create_custom_image_bundle)
+ [Windows WorkSpaces 自定义镜像中包含的内容](#pools-image_creation_windows)

## 创建 Windows 自定义映像的要求
<a name="pools-windows_custom_image_requirements"></a>

**注意**  
Windows 目前将 1 GB 定义为 1,073,741,824 字节。要创建 a 的映像，必须确保他们在 C 盘上的可用空间大于 12,884,901,888 字节（或 12 GiB），并且用户配置文件小于 10,737,418,240 字节（或 10 GiB）。 WorkSpace
+ 的状态 WorkSpace 必须为 “可**用**”，其修改状态必须**为 “无**”。
+  WorkSpaces 图像上的所有应用程序和用户配置文件都必须与 Microsoft Sysprep 兼容。
+ 所有要包括在映像中的应用程序都必须安装在 `C` 驱动器上。
+ 在上运行的所有应用程序服务都 WorkSpace 必须使用本地系统帐户而不是域用户凭据。例如，不能有使用域用户凭证运行的 Microsoft SQL Server Express 安装。
+  WorkSpace 不得加密。目前不支持通过加密 WorkSpace 设备创建映像。
+ 映像中要求具有以下组件。如果没有这些组件 WorkSpaces ，您从映像中启动的将无法正常运行。有关更多信息，请参阅 [WorkSpaces 个人版所需的配置和服务组件](required-service-components.md)。
  + Windows PowerShell 版本 3.0 或更高版本
  + 远程桌面服务
  + AWS 光伏驱动器
  + Windows 远程管理 (WinRM)
  + Teradici PCo IP 代理和驱动程序
  + STXHD 代理和驱动程序
  + AWS 和 WorkSpaces 证书
  + Skylight 代理
+ WorkSpaces 池仅支持最大捆绑包/映像根卷大小为 200 GB。创建 Windows 自定义映像时，请确保其根卷大小小于 200 GB。

## 最佳实践
<a name="pools-custom_image_best_practices"></a>

在从创建图像之前 WorkSpace，请执行以下操作：
+ 使用未连接到您的生产环境的单独 VPC。
+ 在私有子网 WorkSpace 中部署，并使用 NAT 实例处理出站流量。
+ 使用小的 Simple AD 目录。
+ 使用源的最小卷大小 WorkSpace，然后在创建自定义捆绑包时根据需要调整音量大小。
+ 在上安装所有操作系统更新（Windows 功能/版本更新除外）和所有应用程序更新。 WorkSpace
+ 从中删除不应 WorkSpace 包含在捆绑包中的缓存数据（例如，浏览器历史记录、缓存文件和浏览器 Cookie）。
+ 从中删除不应 WorkSpace 包含在捆绑包中的配置设置（例如，电子邮件配置文件）。
+ 使用 DHCP 切换到动态 IP 地址设置。
+ 确保您没有超过某个地区允许的 WorkSpace 图片配额。默认情况下，每个区域允许您使用 40 WorkSpace 张图片。如果您已达到此配额，创建映像的新尝试将失败。要请求增加配额，请使用 [WorkSpaces 限制表单](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=workspaces)。
+ 确保您不是在尝试使用加密镜像创建镜像 WorkSpace。目前不支持通过加密 WorkSpace 设备创建映像。
+ 如果您正在上运行任何防病毒软件 WorkSpace，请在尝试创建映像时将其禁用。
+ 如果您启用了防火墙 WorkSpace，请确保防火墙没有阻塞任何必要的端口。有关更多信息，请参阅 [WorkSpaces 个人的 IP 地址和端口要求](workspaces-port-requirements.md)。
+ 对于 Windows WorkSpaces，在创建映像之前不要配置任何组策略对象 (GPOs)。
+ 对于 Windows WorkSpaces，在创建映像之前不要自定义默认用户配置文件 (`C:\Users\Default`)。我们建议通过对用户个人资料进行任何自定义 GPOs，并在创建图像后应用这些设置。 GPOs 可以很容易地修改或回滚，因此与对默认用户配置文件所做的自定义相比，不容易出错。
+ 请务必更新网络依赖驱动程序 NVMe，例如 ENA 和 PV 驱动程序 WorkSpaces。您应该至少每 6 个月更新一次。有关更多信息，请参阅[安装或升级弹性网络适配器（ENA）驱动程序](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html#ena-adapter-driver-install-upgrade-win)、[Windows 实例的AWS NVMe 驱动程序](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/aws-nvme-drivers.html)以及[升级 Windows 实例上的 PV 驱动程序](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html)。
+ 确保定期将 EC2 Config、 EC2 Launc EC2 h 和 Launch V2 代理更新到最新版本。您应该至少每 6 个月更新一次。有关更多信息，请参阅[更新 EC2 Config 并 EC2启动](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/migrating-latest-types.html#upgdate-ec2config-ec2launch)。

## 步骤 1：运行映像检查程序
<a name="pools-run_image_checker"></a>

要确认您的 Windows 是否 WorkSpace 满足创建映像的要求，我们建议您运行 Image Checker 应用程序。Image Checker 会对要 WorkSpace 用来创建图像的进行一系列测试，并就如何解决发现的任何问题提供指导。图像检查器仅适用于 Window WorkSpaces s。

**重要**  
 WorkSpace 必须通过 Image Checker 运行的所有测试，然后才能使用它来创建图像。
在运行映像检查器之前，请验证您的 WorkSpace设备上是否安装了最新的 Windows 安全和累积更新。

要获取映像检查程序，请执行以下操作之一：
+ [重启你的 WorkSpace](reboot-workspaces.md). 系统会在重新启动期间自动下载映像检查程序并将其安装在 `C:\Program Files\Amazon\ImageChecker.exe` 中。
+ 从 [https://tools.amazonworkspaces.com/ImageChecker.zip https://tools.amazonworkspaces.awsapps.cn/ImageChecker.](https://tools.amazonworkspaces.com/ImageChecker.zip) `ImageChecker.exe`将此文件复制到 `C:\Program Files\Amazon\`。

**运行映像检查程序**

1. 打开 `C:\Program Files\Amazon\ImageChecker.exe` 文件。

1. 在 “**Amazon WorkSpaces 图像检查器**” 对话框中，选择 “**运行**”。

1. 每个测试完成后，您都可以查看测试的状态。

   对于状态为 **FAILED (失败)** 的任何测试，请选择 **Info (信息)** 以显示有关如何解决导致失败的问题的信息。有关如何解决这些问题的更多信息，请参阅[解决映像检查程序检测到的问题的提示](#pools-image_checker_tips)。

   如果任何测试显示了状态 **WARNING (警告)**，请选择 **Fix All Warnings (修复所有警告)** 按钮。

   该工具在映像检查程序所在的同一目录中生成输出日志文件。默认情况下，此文件位于 `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` 中。请勿删除此日志文件。如果出现问题，此日志文件可能有助于进行故障排除。

1. 如果适用，请解决任何导致测试失败和警告的问题，然后重复运行图像检查器的过程，直到 WorkSpace通过所有测试。在创建映像之前，必须先解决所有失败和警告。

1.  WorkSpace 通过所有测试后，您会看到一条**验证成功**消息。您现在已准备好创建自定义服务包。

### 解决映像检查程序检测到的问题的提示
<a name="pools-image_checker_tips"></a>

除了咨询以下提示以解决映像检查程序检测到的问题之外，请务必查看映像检查程序日志文件：`C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log`。

#### PowerShell 必须安装 3.0 或更高版本
<a name="pools-tips_powershell"></a>

安装最新版本的[微软 Windows PowerShell](https://docs.microsoft.com/powershell)。

**重要**  
的 PowerShell 执行策略 WorkSpace 必须设置为允许**RemoteSigned**脚本。要检查执行策略，请运行 **Get-ExecutionPolicy** PowerShell 命令。如果执行策略未设置为 “**不受限制**” 或 **RemoteSigned**，请运行 **Set-ExecutionPolicy — ExecutionPolicy RemoteSigned** 命令来更改执行策略的值。该**RemoteSigned**设置允许在 Amazon 上执行脚本 WorkSpaces，这是创建图像所必需的。

#### 只可存在 C 和 D 驱动器
<a name="pools-tips_local_drives"></a>

用于映像的 a WorkSpace 上只能存在`C`和`D`驱动器。删除所有其他驱动器，包括虚拟驱动器。

#### 无法检测到由于 Windows 更新而挂起的重启
<a name="pools-tips_pending_updates"></a>
+ 在重启 Windows 以完成安装安全更新或累积更新之前，无法运行创建映像过程。重启 Windows 以应用这些更新，并确保不需要安装任何其他挂起的 Windows 安全更新或累积更新。
+ 已从一个版本的 Windows 10 升级到较新版本的 Windows 10（Windows 升 feature/version 级）的 Windows 10 系统不支持创建映像。但是， WorkSpaces 映像创建过程支持 Windows 累积更新或安全更新。

#### Sysprep 文件必须存在且不能为空
<a name="pools-tips_blank_sysprep"></a>

如果您的 Sysprep 文件有问题，请联系[AWS 支持 中心](https://console.aws.amazon.com/support/home#/)修复您的 Confi EC2 g 或 EC2 Launch。

#### 用户配置文件大小必须小于 10 GB
<a name="pools-tips_large_profile"></a>

对于 Windows 7 WorkSpaces，用户配置文件 (`D:\Users\username`) 的总容量必须小于 10 GB。根据需要删除文件以减小用户配置文件的大小。

#### 驱动器 C 必须有足够的可用空间
<a name="pools-tips_drive_c_full"></a>

对于 Windows 7 WorkSpaces，驱动器上必须有至少 12 GB 的可用空间`C`。根据需要删除文件以释放 `C` 驱动器上的空间。对于 Windows 10 WorkSpaces，如果您收到一条`FAILED`消息并且磁盘空间超过 2GB，请忽略。

#### 无法在域账户下运行任何服务
<a name="pools-tips_services_domain_accounts"></a>

要运行 “创建映像” 进程， WorkSpace 不能在域帐户下运行任何服务。所有服务必须在本地账户下运行。

**在本地账户下运行服务**

1. 打开 `C:\Program Files\Amazon\ImageChecker_yyyyMMddhhmmss.log` 并查找在域账户下运行的服务列表。

1. 在 Windows 搜索框中，输入 **services.msc** 以打开 Windows 服务管理器。

1. 在 **Log On As (登录身份)** 下，查找在域账户下运行的服务。（以**本地系统**、**本地服务**或**网络服务**身份运行的服务不会干扰映像创建。）

1. 选择在域账户下运行的服务，然后选择**操作)**、**属性**。

1. 打开 **Log On (登录)** 选项卡。在 **Log on as (登录身份)**下，选择 **Local System account (本地系统账户)**。

1. 选择**确定**。

#### WorkSpace 必须配置为使用 DHCP
<a name="pools-tips_static_ip"></a>

必须将上的所有网络适配器配置 WorkSpace 为使用 DHCP 而不是静态 IP 地址。

**将所有网络适配器设置为使用 DHCP**

1. 在 Windows 搜索框中，输入 **control panel** 以打开控制面板。

1. 选择**网络和 Internet**。

1. 选择**网络和共享中心**。

1. 选择**更改适配器设置**，然后选择适配器。

1. 选择**更改此连接的设置**。

1. **在 “**网络**” 选项卡上，选择 “**互联网协议版本 4 (TCP/IPv4)**”，然后选择 “属性”。**

1. 在 “**互联网协议版本 4 (TCP/IPv4) 属性**” 对话框中，选择 “自动**获取 IP 地址**”。

1. 选择**确定**。

1. 对上的所有网络适配器重复此过程 WorkSpace。

#### 必须启用远程桌面服务
<a name="pools-tips_enable_rds"></a>

创建映像过程需要启用远程桌面服务。

**启用远程桌面服务**

1. 在 Windows 搜索框中，输入 **services.msc** 以打开 Windows 服务管理器。

1. 在**名称**列中，找到**远程桌面服务**。

1. 选择**远程桌面服务**，然后选择**操作**、**属性**。

1. 在**常规**选项卡上，对于**启动类型**，选择**手动**或**自动**。

1. 选择**确定**。

#### 用户配置文件必须存在
<a name="pools-tips_user_profile_missing"></a>

你 WorkSpace 用来创建图像的必须有用户个人资料 (`D:\Users\username`)。如果此测试失败，请联系 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)寻求帮助。

#### 必须正确配置环境变量路径
<a name="pools-tips_environment_variables"></a>

本地计算机的环境变量路径缺少 System32 和 Windows PowerShell 的条目。要创建映像，需要这些条目。

**配置环境变量路径**

1. 在 Windows 搜索框中，输入 **environment variables**，然后选择**编辑系统环境变量**。

1. 在**系统属性**对话框中，打开**高级**选项卡，然后选择**环境变量**。

1. 在**环境变量**对话框的**系统变量**下，选择**路径**条目，然后选择**编辑**。

1. 选择**新建**，然后添加以下路径：

   `C:\Windows\System32`

1. 再次选择**新建**，然后添加以下路径：

   `C:\Windows\System32\WindowsPowerShell\v1.0\`

1. 选择**确定**。

1. 重新启动 WorkSpace。
**提示**  
项目在环境变量路径中显示的顺序至关重要。要确定正确的顺序，您可能需要将您的环境变量路径 WorkSpace 与来自新创建 WorkSpace 或新 Windows 实例的环境变量路径进行比较。

#### 必须启用 Windows 模块安装程序
<a name="pools-tips_enable_wmi"></a>

创建映像过程要求启用 Windows 模块安装程序服务。

**启用 Windows 模块安装程序服务**

1. 在 Windows 搜索框中，输入 **services.msc** 以打开 Windows 服务管理器。

1. 在**名称**列中，找到 **Windows 模块安装程序**。

1. 选择 **Windows 模块安装程序**，然后选择**操作**、**属性**。

1. 在**常规**选项卡上，对于**启动类型**，选择**手动**或**自动**。

1. 选择**确定**。

#### 必须禁用 Amazon SSM 代理
<a name="pools-tips_disable_ssm"></a>

创建映像过程要求禁用 Amazon SSM 代理服务。

**禁用 Amazon SSM 代理服务**

1. 在 Windows 搜索框中，输入 **services.msc** 以打开 Windows 服务管理器。

1. 在**名称**列中，找到 **Amazon SSM 代理**。

1. 选择 **Amazon SSM 代理**，然后选择**操作**、**属性**。

1. 在**常规**选项卡上，对于**启动类型**，选择**已禁用**。

1. 选择**确定**。

#### SSL3 并且必须启用 TLS 版本 1.2
<a name="pools-tips_enable_ssl_tls"></a>

要针对 Windows SSL/TLS 进行配置，请参阅微软 Windows 文档中的[如何启用 TLS 1.2](https://docs.microsoft.com/configmgr/core/plan-design/security/enable-tls-1-2)。

#### 上只能存在一个用户配置文件 WorkSpace
<a name="pools-tips_remove_extra_profiles"></a>

上只能有一个用于创建图像 WorkSpace 的 WorkSpaces 用户个人资料 (`D:\Users\username`)。删除所有不属于目标用户的用户个人资料 WorkSpace。

要使图像创建起作用，上面 WorkSpace 只能有三个用户配置文件：
+  WorkSpace(`D:\Users\username`) 的目标用户的用户个人资料
+ 默认用户配置文件（也称为默认配置文件）
+ 管理员用户配置文件

如果有其他用户配置文件，则可以通过 Windows 控制面板中的高级系统属性将其删除。

**删除用户配置文件**

1. 要访问高级系统属性，请执行以下操作之一：
   + 按 **Windows 键 \$1 暂停中断**，然后在**控制面板** > **系统和安全** > **系统**对话框的左侧窗格中，选择**高级系统设置**。
   + 在 Windows 搜索框中，输入 **control panel**。在“控制面板”中，选择**系统和安全**，然后选择“系统”，随后在**控制面板** > **系统和安全** > **系统**对话框的左侧窗格中，选择**高级系统设置**。

1. 在**系统属性**对话框的**高级**选项卡上，选择**用户配置文件**下的**设置**。

1. 如果除了管理员配置文件、默认配置文件和目标 WorkSpaces用户的配置文件之外还列出了任何配置文件，请选择该其他配置文件并选择**删除**。

1. 当询问您是否要删除此配置文件时，请选择**是**。

1. 如有必要，请重复步骤 3 和 4，删除不属于该的任何其他配置文件 WorkSpace。

1. 选择**确定**两次并关闭控制面板。

1. 重新启动 WorkSpace。

#### 没有 AppX 程序包可以处于暂存状态
<a name="pools-tips_unstage_appx"></a>

一个或多个 AppX 程序包处于暂存状态。这可能导致在映像创建过程中出现 Sysprep 错误。

**删除所有暂存的 AppX 程序包**

1. 在 Windows 搜索框中，输入 **powershell**。选择**以管理员身份运行**。

1. 当询问“你要允许此应用对你的设备进行更改吗?”时，选择**是**。

1. 在 Windows PowerShell 窗口中，输入以下命令以列出所有暂存的 AppX 软件包，然后在每个命令后按 Enter。

   ```
   $workSpaceUserName = $env:username
   ```

   ```
   $allAppxPackages = Get-AppxPackage -AllUsers
   ```

   ```
   $packages = $allAppxPackages |    Where-Object { `
                                   (($_.PackageUserInformation -like "*S-1-5-18*" -and !($_.PackageUserInformation -like "*$workSpaceUserName*")) -and `
                                   ($_.PackageUserInformation -like "*Staged*" -or $_.PackageUserInformation -like "*Installed*")) -or `
                                   ((!($_.PackageUserInformation -like "*S-1-5-18*") -and $_.PackageUserInformation -like "*$workSpaceUserName*") -and `
                                   $_.PackageUserInformation -like "*Staged*")
                                   }
   ```

1. 使用提升的系统权限执行以下命令以删除所有暂存的 AppX 包配置条目，然后按 Enter。

   ```
   $packages | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```

1. 再次运行映像检查程序。如果此测试仍然失败，请输入以下命令以删除所有 AppX 程序包，然后在每个程序包之后按 Enter 键。

   ```
   Get-AppxProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
   ```

   ```
   Get-AppxPackage -AllUsers | Remove-AppxPackage -ErrorAction SilentlyContinue
   ```

#### Windows 必须尚未从以前的版本升级
<a name="pools-tips_version_upgrade"></a>

已从一个版本的 Windows 10 升级到较新版本的 Windows 10（Windows 升 feature/version 级）的 Windows 系统不支持创建映像。

要创建映像 WorkSpace ，请使用尚未进行 Windows feature/version 升级的。

#### Windows 重置计数不得为 0
<a name="pools-tips_reset_rearm_count"></a>

重置功能允许您延长 Windows 试用版的激活期。创建映像过程要求重置计数为 0 以外的值。

**检查 Windows 重置计数**

1. 在 Windows **开始**菜单上，选择 **Windows 系统**，然后选择**命令提示符**。

1. 在命令提示符窗口中，键入以下命令，然后按 Enter。

   `cscript C:\Windows\System32\slmgr.vbs /dlv`

要将重置计数重置为非 0 的值，请参阅 Microsoft Windows 文档中的 [Sysprep（通用化）Windows 安装](https://docs.microsoft.com/windows-hardware/manufacture/desktop/sysprep--generalize--a-windows-installation)。

#### 其他故障排查提示
<a name="pools-images_troubleshooting_tips"></a>

如果您 WorkSpace 通过了 Image Checker 运行的所有测试，但仍然无法从中创建图像 WorkSpace，请检查是否存在以下问题：
+ 确保 WorkSpace 未将分配给**域访客**群组中的用户。要检查是否有任何域帐户，请运行以下 PowerShell命令。

  ```
  Get-WmiObject -Class Win32_Service | Where-Object { $_.StartName -like "*$env:USERDOMAIN*" }
  ```
+ 某些组策略对象 (GPOs) 会在 Config 服务或 La EC2 unch 脚本在 Windows 实例 EC2配置期间请求 RDP 证书指纹时限制访问该指纹。在尝试创建映像之前，请将其移 WorkSpace 至继承受阻且未 GPOs应用的新组织单位 (OU)。
+ 请确保 Windows 远程管理 (WinRM) 服务配置为自动启动。执行以下操作：

  1. 在 Windows 搜索框中，输入 `services.msc` 以打开 Windows 服务管理器。

  1. 在**名称**列中，找到 **Windows 远程管理(WS-Management)**。

  1. 选择 **Windows 远程管理(WS-Management)**，然后选择**操作**、**属性**。

  1. 在**常规**选项卡上，对于**启动类型**，选择**自动**。

  1. 选择**确定**。

## 第 2 步：创建自定义镜像和自定义套装
<a name="pools-create_custom_image_bundle"></a>

验证 WorkSpace 映像后，请完成以下步骤，使用 WorkSpaces 控制台创建自定义映像和自定义套件。要以编程方式创建图像，请使用 CreateWorkspaceImage API 操作。有关更多信息，请参阅 *Amazon WorkSpaces API 参考[ CreateWorkspaceImage](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceImage.html)*中的。要以编程方式创建捆绑包，请使用 **CreateWorkspaceBundle** API 操作。有关更多信息，请参阅 *Amazon WorkSpaces API 参考[ CreateWorkspaceBundle](https://docs.aws.amazon.com/workspaces/latest/api/API_CreateWorkspaceBundle.html)*中的。

**使用 WorkSpaces 控制台创建自定义映像和自定义捆绑包**

1. 如果您仍处于连接状态 WorkSpace，请在 WorkSpaces 客户端应用程序中选择 **Amazon WorkSpaces** 并**断开连接**，从而断开连接。

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在导航窗格中，请选择 **WorkSpaces**。

1. <a name="pools-step_create_image"></a>选择打开 WorkSpace 其详细信息页面，然后选择**创建图像**。如果的状态为 “ WorkSpace **已停止**”，则必须先启动它（选择 “**操作**”，“**开始**” WorkSpaces），然后才能选择 “**操作**”、“**创建映像**”。

1. 屏幕上会显示一条消息，提示您在继续操作 WorkSpace之前重新启动（重新启动）。重新启动后，您的 Amazon WorkSpaces 软件会 WorkSpace 更新到最新版本。

   关闭消息并 WorkSpace 按照中的步骤进行操作，重新启动您的[重启 WorkSpaces 个人版中的 WorkSpace](reboot-workspaces.md)。完成后，重复执行此过程中的[Step 4](create-custom-bundle.md#step_create_image)，但这次在显示重启消息时，选择**下一步**。要创建映像，其状态 WorkSpace 必须为 “**可用**”，其修改状态必须**为 “无**”。

1. 输入映像名称和有助于您识别映像的描述，然后选择 **创建映像**。在创建映像时，的状态 WorkSpace 为**已暂停**且 WorkSpace 不可用。

   不要在描述中使用短划线（`-`）特殊字符。它会引发错误。

1. 在导航窗格中，选择**映像**。当状态 WorkSpace 更改为 “**可用**”（这最多可能需要 45 分钟）时，映像就完成了。

1. 选择映像，然后选择**操作**、**创建捆绑包**。

1. 输入服务包的名称和描述，然后执行以下操作：
   + 对于 **Bundle 硬件类型**，请选择 WorkSpaces 从此自定义捆绑包启动时要使用的硬件。
   + 根卷的默认可用大小组合为每个 200 GB WorkSpace。

1. 要确认您的捆绑包是否已创建，请选择**捆绑包**，并检查该捆绑包已列出。

## Windows WorkSpaces 自定义镜像中包含的内容
<a name="pools-image_creation_windows"></a>

从 Windows 创建映像时 WorkSpace，`C`驱动器的全部内容都包含在内。
+ 联系人
+ Downloads
+ 音乐
+ 图片
+ 已保存的游戏
+ 视频
+ 播客
+ 虚拟机
+ 虚拟机
+ 跟踪
+ appdata\$1local\$1temp
+ appdata\$1roaming\$1apple computer\$1mobilesync\$1
+ appdata\$1roaming\$1apple computer\$1logs\$1
+ appdata\$1roaming\$1apple computer\$1itunes\$1iphone software updates\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1macromedia.com\$1support\$1flashplayer\$1sys\$1
+ appdata\$1roaming\$1macromedia\$1flash player\$1\$1sharedobjects\$1
+ appdata\$1roaming\$1adobe\$1flash player\$1assetcache\$1
+ appdata\$1roaming\$1microsoft\$1windows\$1recent\$1
+ appdata\$1roaming\$1microsoft\$1office\$1recent\$1
+ appdata\$1roaming\$1microsoft office\$1live meeting
+ appdata\$1roaming\$1microsoft shared\$1livemeeting shared\$1
+ appdata\$1roaming\$1mozilla\$1firefox\$1crash reports\$1
+ appdata\$1roaming\$1mcafee\$1common framework\$1
+ appdata\$1local\$1microsoft\$1feeds cache
+ appdata\$1local\$1microsoft\$1windows\$1temporary互联网files\$1
+ appdata\$1local\$1microsoft\$1windows\$1history\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1iconcache\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1domstore\$1
+ appdata\$1locallow\$1microsoft\$1internet explorer\$1imagestore\$1
+ appdata\$1local\$1microsoft\$1internet explorer\$1recovery\$1
+ appdata\$1local\$1mozilla\$1firefox\$1profiles\$1

# 管理 Pools 的自定义映像和捆绑包 WorkSpaces
<a name="pools-images-managing"></a>

Person WorkSpaces al 和 P WorkSpaces ool 之间管理自定义镜像和捆绑包的过程相同。有关如何管理图片和捆绑包的更多信息，请参阅本指南 “ WorkSpaces 个人” 部分中的以下文档：

**注意**  
可用于 WorkSpaces 个人版的自定义捆绑包和可用于 P WorkSpaces ool 的自定义捆绑包之间的主要区别在于可以使用的操作系统和基本公共捆绑包。有关 P WorkSpaces ool 中支持的操作系统和软件包，请参阅[ WorkSpaces 泳池套装捆绑包  了解 P WorkSpaces ools 套餐。   *WorkSpace 捆绑包*是操作系统以及存储、计算和软件资源的组合。启动时 WorkSpace，您可以选择满足您需求的捆绑包。可用的默认捆绑包 WorkSpaces 称为*公共捆绑包*。有关可用的各种公共捆绑包的更多信息 WorkSpaces，请参阅 [Amazon WorkSpaces 捆绑包](https://aws.amazon.com/workspaces/details/#Amazon_WorkSpaces_Bundles)。 下表提供了有关每个操作系统支持的许可、流式传输协议和捆绑包的信息。 


| 操作系统 | 许可证 | 流式传输协议 | 支持的捆绑包 | 
| --- | --- | --- | --- | 
| Windows Server 2019 | 包含 | DCV | 价值、标准、性能、功率、 PowerPro | 
| Windows Server 2022 | 包含 | DCV | 标准、性能、功率、、graphics.g4dn PowerPro、.g4dn GraphicsPro |     供应商不再支持的操作系统版本不能保证可以正常运行，也不受支持 AWS 支持。    ](instance-types.md#instance-types.title)。
+ [更新 WorkSpaces 个人版的自定义捆绑包](update-custom-bundle.md).
+ [在 “个 WorkSpaces 人” 中复制自定义镜像](copy-custom-image.md).
+ [共享或取消共享自定义 WorkSpaces 个人版映像](share-custom-image.md).
+ [删除 WorkSpaces 个人版中的自定义捆绑包或映像](delete_bundle.md).

# 使用会话脚本来管理您的用户的流式传输体验
<a name="pools-images-session-scripts"></a>

WorkSpaces Pool 提供实例会话脚本。当用户的流式传输会话中发生特定事件时，您可以使用这些脚本来运行自己的自定义脚本。例如，您可以使用自定义脚本在用户的直播会话开始之前准备 P WorkSpaces ools 环境。您还可以在用户完成其流式传输会话后使用自定义脚本清理流实例。

会话脚本是在 WorkSpace 图像中指定的。这些脚本在用户上下文或系统上下文中运行。如果您的会话脚本使用标准输出来编写信息、错误或调试消息，则可以选择将这些脚本保存到 Amazon Web Services 账户内的 Amazon S3 存储桶中。

**Topics**
+ [在流式传输会话开始前运行脚本](#run-scripts-before-streaming-sessions-begin)
+ [在流式传输会话结束后运行脚本](#run-scripts-after-streaming-sessions-end)
+ [创建并指定会话脚本](#create-specify-session-scripts)
+ [会话脚本配置文件](#session-script-configuration-file)
+ [使用 Windows PowerShell 文件](#using-powershell-files-with-session-scripts)
+ [记录会话脚本输出](#logging-session-output)
+ [结合使用永久存储与会话脚本](#use-storage-connectors-with-session-scripts)
+ [为会话脚本日志启用 Amazon S3 存储桶存储](#enable-S3-bucket-storage-session-script-logs)

## 在流式传输会话开始前运行脚本
<a name="run-scripts-before-streaming-sessions-begin"></a>

您可以将脚本配置为在用户的应用程序启动和其流式传输会话开始前运行最多 60 秒。这样一来，您就可以在用户开始流式传输其应用程序之前自定义 WorkSpaces 池环境。在会话脚本运行时，会为您的用户显示加载转盘。当您的脚本成功完成或超过最长等待时间时，用户的流式传输会话将开始。如果脚本未成功完成，则会为用户显示错误消息。但是，不会阻止您的用户使用其流式传输会话。

在指定 Windows 实例上的文件名时，您必须使用双反斜杠。例如：

```
C:\\Scripts\\Myscript.bat
```

如果未使用双反斜杠，则会显示一个错误以通知您 `.json` 文件格式不正确。

**注意**  
脚本成功完成后，它们必须返回值 0。如果您的脚本返回的值不是 0，则会向用户 WorkSpaces 显示错误消息。

在流式传输会话开始前运行脚本时，会发生以下过程：

1. 您的用户连接到未加入域的 WorkSpaces 池 WorkSpace 中。它们使用 SAML 2.0 连接。

1. 发生下列情况之一：
   + 如果为用户启用了应用程序设置持久性，则会下载并装入用于存储用户的自定义项和 Windows 设置的应用程序设置虚拟硬盘 (VHD) 文件。在此情况下，需要 Windows 用户登录。

     有关应用程序设置持久性的信息，请参阅[为您的 P WorkSpaces ools 用户启用应用程序设置持久性](app-settings-persistence.md)。
   + 如果未启用应用程序设置持久性，则表示 Windows 用户已登录。

1. 您的会话脚本启动。如果为用户启用了持久性存储，则还会启动存储连接器安装。有关持久性存储的信息，请参阅[为 WorkSpaces 池启用和管理永久存储](persistent-storage.md)。
**注意**  
无需完成存储连接器安装即可启动流式传输会话。如果会话脚本在存储连接器安装完成之前完成，则流式传输会话将启动。  
有关监控存储连接器的装载状态的信息，请参阅[结合使用永久存储与会话脚本](#use-storage-connectors-with-session-scripts)。

1. 您的会话脚本完成或超时。

1. 用户的流式传输会话启动。

## 在流式传输会话结束后运行脚本
<a name="run-scripts-after-streaming-sessions-end"></a>

您还可以将脚本配置为在用户的流式传输会话结束后运行。例如，当用户从 WorkSpaces 客户端工具栏中选择 “**结束会话**” 或达到会话允许的最大持续时间时，您可以运行脚本。您还可以使用这些会话脚本在流实例终止之前清理您的 WorkSpaces 环境。例如，您可以使用脚本来释放文件锁定或上传日志文件。在流式传输会话结束后运行脚本时，会发生以下过程：

1. 您的用户的 WorkSpaces 直播会话已结束。

1. 会话终止脚本启动。

1. 会话终止脚本完成或超时。

1. 发生 Windows 用户注销。

1. 发生以下一种情况或同时发生以下两种情况（如果适用）：
   + 如果为用户启用了应用程序设置持久性，则会卸载用于存储用户的自定义项和 Windows 设置的应用程序设置 VHD 文件，并将该文件上传到您账户中的 Amazon S3 存储桶。
   + 如果为您的用户启用持久性存储，则存储连接器将完成最终同步并进行卸载。

1. 已 WorkSpace 终止。

## 创建并指定会话脚本
<a name="create-specify-session-scripts"></a>

完成以下过程， WorkSpaces 在 WorkSpaces 池中为你创建和指定会话脚本。

1. 连接到要 WorkSpaces 从中创建自定义映像的 Windows。

1. 如果目录 `/AWSEUC/SessionScripts` 尚不存在，请创建它。

1. 使用[会话脚本配置模板](https://docs.aws.amazon.com/workspaces/latest/adminguide/pools-images-session-scripts.html#session-script-configuration-file)创建配置文件 `/AWSEUC/SessionScripts/config.json`（如果尚不存在）。

1. 导航到 `C:\AWSEUC\SessionScripts`，并打开 `config.json` 配置文件。

   有关会话脚本参数的信息，请参阅[会话脚本配置文件](#session-script-configuration-file)。

1. 完成更改后，保存并关闭 `config.json` 文件。

1. 完成从中创建图像的步骤 WorkSpace。有关更多信息，请参阅 [为 P WorkSpaces ools 创建自定义镜像和捆绑包](pools-images-custom-image.md)。

## 会话脚本配置文件
<a name="session-script-configuration-file"></a>

要在 Windows 实例上找到会话脚本配置文件，请导航到 `C:\AWSEUC\SessionScripts\config.json`。该文件的格式如下所示。

**注意**  
配置文件为 JSON 格式。验证您在此文件中键入的任何文本是否为有效的 JSON 格式。

```
{
  "SessionStart": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  },
  "SessionTermination": {
    "executables": [
      {
        "context": "system",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      },
      {
        "context": "user",
        "filename": "",
        "arguments": "",
        "s3LogEnabled": true
      }
    ],
    "waitingTime": 30
  }
}
```

您可以在会话脚本配置文件中使用以下参数。

**`SessionStart/SessionTermination `**  
要基于对象的名称在相应会话事件中运行的会话脚本。  
**类型**：字符串  
**必需**：否  
**允许的值：****SessionStart**、**SessionTermination**

**`WaitingTime`**  
会话脚本的最大持续时间（以秒为单位）。  
**类型**：整数  
**必需**：否  
**约束：**最大持续时间为 60 秒。如果会话脚本未在此持续时间内完成，则它们将停止。如果您需要脚本继续运行，则将其作为单独的过程启动。

**`Executables`**  
要运行的会话脚本的详细信息。  
**类型**：字符串  
**是否必需**：是  
**约束：**每个会话事件可以运行的脚本的最大数目为 2（一个用于用户上下文，一个用于系统上下文）。

**`Context`**  
要在其中运行会话脚本的上下文。  
**类型**：字符串  
**是否必需**：是  
**允许的值：****user**、**system**

**`Filename`**  
要运行的会话脚本的完整路径。如果未指定此参数，则会话脚本不会运行。  
**类型**：字符串  
**必需**：否  
**约束：**文件名和完整路径的最大长度为 1000 个字符。  
**允许的值：****.bat**、**.exe**、**.sh**  
你也可以使用 Windows PowerShell 文件。有关更多信息，请参阅 [使用 Windows PowerShell 文件](#using-powershell-files-with-session-scripts)。

**`Arguments`**  
会话脚本或可执行文件的参数。  
**类型**：字符串  
**必需**：否  
**长度约束：**最大长度为 1000 个字符。

**`S3LogEnabled`**  
当此参数的值设置为 **True** 时，会在您的 Amazon Web Services 账户中创建一个 S3 存储桶来存储会话脚本所创建的日志。默认情况下，该值设置为 **True**。有关更多信息，请参阅本主题后面的*记录会话脚本输出* 部分。  
**类型**：布尔值  
**必需**：否  
**允许的值：****True**、**False**

## 使用 Windows PowerShell 文件
<a name="using-powershell-files-with-session-scripts"></a>

要使用 Windows PowerShell 文件，请在`filename`参数中指定 PowerShell 文件的完整路径：

```
"filename": 
"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
```

然后，在 **arguments** 参数中指定您的会话脚本：

```
"arguments": "-File \"C:\\path\\to\\session\\script.ps1\"",
```

最后，验证 PowerShell 执行策略是否允许您的 PowerShell 文件运行。

## 记录会话脚本输出
<a name="logging-session-output"></a>

在配置文件中启用此选项后，P WorkSpaces ool 会自动捕获会话脚本中写入标准输出的输出。此输出将上传到您账户中的 Amazon S3 存储桶。您可以查看日志文件以进行故障排除或调试。

**注意**  
当会话脚本返回一个值时或 **WaitingTime** 中设置的值已过去时（以先到者为准），将上传日志文件。

## 结合使用永久存储与会话脚本
<a name="use-storage-connectors-with-session-scripts"></a>

启用 WorkSpaces 永久存储后，存储将在会话启动脚本运行时开始装载。如果您的脚本依赖于正在挂载的永久存储，则可以等待连接器可用。 WorkSpaces 通过以下键维护 Windows 上的 Windows 注册表中存储连接器的装载状态： WorkSpaces

```
HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\AWSEUC\Storage\<provided user
                name>\<Storage connector>
```

注册表项值如下所示：
+ 提供的用户名 – 通过访问模式提供的用户 ID。访问模式及其值如下所示：
  + 用户池 – 用户的电子邮件地址
  + 流式传输 URL – UserID
  + SAML – NameID。如果用户名包含斜杠（例如，域用户的 SAMAccount名称），则该斜杠将替换为 “-” 字符。
+ 存储连接器 – 为用户启用的持久性存储选项的连接器。存储连接器值如下所示：
  + HomeFolder

每个存储连接器注册表项都包含一个 **MountStatus**DWORD 值。下表列出了可能的值**MountStatus**。

**注意**  
要查看这些注册表项，必须在映像上安装 Microsoft .NET Framework 4.7.2 或更高版本。


| 值 | 说明 | 
| --- | --- | 
| 0 |  未为此用户启用存储连接器  | 
| 1 |  存储连接器安装正在进行中  | 
| 2 |  已成功安装存储连接器  | 
| 3 |  存储连接器安装失败  | 
| 4 |  存储连接器安装已启用，但尚未安装  | 

## 为会话脚本日志启用 Amazon S3 存储桶存储
<a name="enable-S3-bucket-storage-session-script-logs"></a>

当您在会话脚本配置中启用 Amazon S3 登录时，P WorkSpaces ool 会捕获会话脚本的标准输出。输出会定期上传到您的 Amazon Web Services 账户中的 S3 存储桶。对于每个 AWS 区域，P WorkSpaces ool 都会在您的账户中创建一个存储桶，该存储桶对于您的账户和该地区都是独一无二的。

您无需执行任何配置任务即可管理这些 S3 存储桶。它们完全由该 WorkSpaces 服务管理。存储在每个存储桶中的日志文件在传输中使用 Amazon S3 的 SSL 端点进行加密，在静态期间使用 Amazon S3 托管的加密密钥进行加密。存储桶以特定格式命名，如下所述：

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

**`<region-code>`**  
这是在为会话脚本日志启用 Amazon S3 存储桶存储的情况下创建 WorkSpaces 池的 AWS 区域代码。

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

例如，如果您在美国西部（俄勒冈）区域 (`us-west-2`) 的图像中指定会话脚本`123456789012`，P WorkSpaces ool 将在该地区的账户中创建一个名称显示的 Amazon S3 存储桶。只有具有足够权限的管理员才能删除此存储桶。

```
wspool-logs-us-west-2-1234567890123-abcdefg
```

禁用会话脚本不会删除存储在 S3 存储桶中的日志文件。要永久删除日志文件，您或其他拥有足够权限的管理员必须使用 Amazon S3 控制台或 API 执行此操作。 WorkSpaces Pools 添加了防止意外删除存储桶的存储桶策略。

启用会话脚本后，将为启动的每个流式传输会话创建一个唯一文件夹。

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

```
<bucket-name>/<stack-name>/<fleet-name>/<access-mode>/<user-id-SHA-256-hash>/<session-id>/SessionScriptsLogs/<session-event>
```

***<bucket-name>***  
存储会话脚本的 S3 存储桶的名称。该名称格式如本节中前面所述。

***<stack-name>***  
会话来自的堆栈的名称。

***<fleet-name>***  
运行会话脚本的 WorkSpaces 池的名称。

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

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

***<session-id>***  
用户的流式传输会话的标识符。每个用户流式传输会话均生成一个唯一 ID。

***<session-event>***  
生成会话脚本日志的事件。事件值为：`SessionStart` 和 `SessionTermination`。

以下示例文件夹结构适用于从 test-stack 和 test-fleet 启动的流式传输会话。该会话使用来自美国西部（俄勒冈）地区的用户 AWS 账户 ID `testuser@mydomain.com` 和 ID 的设置组`test-stack`的 API (`us-west-2`)：`123456789012`

```
wspool-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
```

此示例文件夹结构包含一个用于用户上下文会话启动脚本的日志文件，以及一个用于系统上下文会话启动脚本的日志文件（如果适用）。

# 监控 WorkSpaces Pools
<a name="configure-monitoring-reporting"></a>

监控是维护 WorkSpaces Pools 的可靠性、可用性和性能的重要环节。

**Topics**
+ [WorkSpaces 池指标和维度](monitoring-with-cloudwatch.md)

# WorkSpaces 池指标和维度
<a name="monitoring-with-cloudwatch"></a>

亚马逊 WorkSpaces 向亚马逊发送以下 WorkSpaces 池指标和维度信息 CloudWatch。

WorkSpaces 池每分钟发送 CloudWatch 一次指标。`AWS/Workspaces` 命名空间包括以下指标。

## 池使用情况指标
<a name="pools-dimensions"></a>


| 指标 | 说明 | 
| --- | --- | 
|  ActiveUserSessionCapacity  |  当前用于流式传输会话的用户会话数。 单位：计数 有效统计数据：Average、Minimum、Maximum  | 
| ActualUserSessionCapacity |  可用于流式传输或当前正在流式传输的池会话总数。 <pre>ActualUserSessionCapacity = AvailableUserSessionCapacity + ActiveUserSessionCapacity</pre> 单位：计数 有效统计数据：Average、Minimum、Maximum  | 
|  AvailableUserSessionCapacity  |  当前可供用户流式传输的空闲池会话数量。 <pre>AvailableUserSessionCapacity = ActualUserSessionCapacity - ActiveUserSessionCapacity</pre> 单位：计数 有效统计数据：Average、Minimum、Maximum  | 
|  PendingUserSessionCapacity  |  正在为您的池预置的会话数量。表示预置完成后池可以支持的额外流式传输会话数。 单位：计数 有效统计数据：Average、Minimum、Maximum  | 
| UserSessionsCapacityUtilization |  使用以下公式计算池中正在使用的会话百分比。 <pre>UserSessionCapacityUtilization = (ActiveUserSessionCapacity / ActualUserSessionCapacity) * 100</pre> 监控此指标有助于做出关于增加或减少池所需容量值的决定。 单位：百分比 有效统计数据：Average、Minimum、Maximum  | 
|  DesiredUserSessionCapacity  |  正在运行或待处理的总会话数。该值表示池可以在稳定状态下支持的总并发流式传输会话数。 <pre>DesiredUserSessionCapacity = ActualUserSessionCapacity + PendingUserSessionCapacity</pre> 单位：计数 有效统计数据：Average、Minimum、Maximum  | 
|  InsufficientCapacityError  |  因缺少容量而被拒绝的会话请求的数量。 您可以设置告警，使用此指标来通知等待流式传输会话的用户。 单位：计数 有效统计数据：Average、Minimum、Maximum、Sum  | 

# 为 WorkSpaces 池启用和管理永久存储
<a name="persistent-storage"></a>

WorkSpaces Pools 支持用于永久存储的主文件夹。作为 WorkSpaces 池管理员，您必须了解如何执行以下任务才能为用户启用和管理永久存储。

**Topics**
+ [为 P WorkSpaces ools 用户启用和管理主文件夹](#home-folders)

## 为 P WorkSpaces ools 用户启用和管理主文件夹
<a name="home-folders"></a>

为 WorkSpaces 池启用主文件夹后，用户可以在直播会话期间访问永久存储文件夹。您的用户不必进行任何额外配置即可访问其主文件夹。用户存储在其主文件夹中的数据会自动备份到您的 Amazon Web Services 账户的 Amazon Simple Storage Service（Amazon S3）存储桶中，并且可以在后续会话中供这些用户使用。

使用 Amazon S3 的 SSL 端点对文件和文件夹进行传输中加密。使用 Amazon S3 托管的加密密钥对文件和文件夹进行静态加密。

主文件夹存储 WorkSpaces 在以下默认位置的 WorkSpaces 池中：
+ 对于单会话， non-domain-joinedWindows WorkSpaces：`C:\Users\PhotonUser\My Files\Home Folder`
+ 已加入域名的 Windows： WorkSpaces`C:\Users\%username%\My Files\Home Folder`

作为管理员，如果您要将应用程序配置为保存到此主文件夹，请使用适用的路径。在某些情况下，您的用户可能无法找到其主文件夹，因为有些应用程序无法识别将主文件夹显示为文件浏览器中的顶级文件夹的重定向。如果是这种情况，您的用户可以通过浏览到文件浏览器中的相同目录来访问其主文件夹。

**Topics**
+ [与计算密集型应用程序关联的文件和目录](#storage-solutions-files-directories-associated-with-compute-intensive-applications)
+ [为 P WorkSpaces ools 用户启用主文件夹](#enable-home-folders)
+ [管理您的主文件夹](#home-folders-admin)

### 与计算密集型应用程序关联的文件和目录
<a name="storage-solutions-files-directories-associated-with-compute-intensive-applications"></a>

在 P WorkSpaces ools 流式传输会话期间，将与计算密集型应用程序关联的大型文件和目录保存到永久存储所需的时间可能比保存基本生产应用程序所需的文件和目录更长。例如，与保存执行单次写入操作的应用程序创建的文件相比，应用程序保存大量数据或频繁修改相同文件所需的时间可能更长。保存许多小文件也可能需要更长时间。

如果您的用户保存与计算密集型应用程序相关的文件和目录，并且 WorkSpaces 池永久存储选项的性能不如预期，我们建议您使用服务器消息块 (SMB) 解决方案，例如 FSx 适用于 Windows 的 Amazon 文件服务器或文件网关。 AWS Storage Gateway 以下是与更适合与这些 SMB 解决方案一起使用的计算密集型应用程序关联的文件和目录示例：
+ 集成开发环境的工作区文件夹 (IDEs)
+ 本地数据库文件
+ 图形仿真应用程序创建的暂存空间文件夹

有关更多信息，请参阅《AWS Storage Gateway 用户指南》**中的[文件网关](https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html#file-gateway-concepts)。

### 为 P WorkSpaces ools 用户启用主文件夹
<a name="enable-home-folders"></a>

在启用主文件夹之前，您必须执行以下操作：
+ 检查您是否拥有执行亚马逊 S3 操作的正确 AWS Identity and Access Management (IAM) 权限。
+ 使用根据 2017 年 5 月 18 日当天或之后发布 AWS 的基本图像创建的图像。
+ 通过配置 Internet 访问或 Amazon S3 的 VPC 端点，启用从您的虚拟私有云（VPC）到 Amazon S3 的网络连接。有关更多信息，请参阅[WorkSpaces Pools 的网络和访问权限](managing-network.md)和[将 Amazon S3 VPC 终端节点用于 WorkSpaces 池功能](managing-network-vpce-iam-policy.md)。

可以在创建目录时启用或禁用主文件夹（参见[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)），也可以在创建目录之后使用 for P WorkSpaces ools 启用或禁 AWS 管理控制台 用主文件夹。对于每个 AWS 区域，主文件夹由 Amazon S3 存储桶提供支持。

首次为某个区域的 WorkSpaces 池目录启用主文件夹时， AWS 该服务会在同一区域的账户中创建一个 Amazon S3 存储桶。这个存储桶用于存储该区域中所有用户和所有目录的主文件夹的内容。有关更多信息，请参阅 [Amazon S3 存储桶存储](#home-folders-s3)。

**在创建目录时启用主文件夹**
+ 按照[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)中的步骤操作，并确保选中了 **Enable Home Folders (启用主文件夹)**。

**为现有目录启用主文件夹**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在左侧导航窗格中，选择**目录**，然后选择要为其启用主文件夹的目录。

1. 在目录列表下方，选择**存储**并选择**启用主文件夹**。

1. 在 **Enable Home Folders (启用主文件夹)** 对话框中，选择 **Enable (启用)**。

### 管理您的主文件夹
<a name="home-folders-admin"></a>

**Topics**
+ [禁用主文件夹](#home-folders-admin-disabling)
+ [Amazon S3 存储桶存储](#home-folders-s3)
+ [主文件夹内容同步](#home-folders-content-synchronization)
+ [主文件夹格式](#home-folders-admin-folders)
+ [其他资源](#home-folders-admin-additional)

#### 禁用主文件夹
<a name="home-folders-admin-disabling"></a>

您可以禁用目录的主文件夹（已存储在主文件夹中的用户内容不会丢失）。禁用目录的主文件夹会产生以下影响：
+ 连接到目录的活动流式传输会话的用户将收到一条错误消息，告知他们无法再将内容存储在其主文件夹中。
+ 使用已禁用主文件夹的目录的任何新会话都不会显示主文件夹。
+ 为一个目录禁用主文件夹不会为其他目录禁用主文件夹。
+ 即使禁用了所有目录的主文件夹，P WorkSpaces ools 也不会删除用户内容。

要还原对目录主文件夹的访问，请按照此主题中前述的步骤重新启用主文件夹。

**在创建目录时禁用主文件夹**
+ 按照[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)中的步骤操作，并确保清除了 **Enable Home Folders (启用主文件夹)** 选项。

**为现有目录禁用主文件夹**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在左侧导航窗格中，选择**目录**，然后选择要为其启用主文件夹的目录。

1. 在目录列表下方，选择**存储**并清除**启用主文件夹**。

1. 在 **Disable Home Folders (禁用主文件夹)** 对话框中，键入 `CONFIRM`（区分大小写）来确认您的选择，然后选择 **Disable (禁用)**。

#### Amazon S3 存储桶存储
<a name="home-folders-s3"></a>

WorkSpaces 池使用在您的账户中创建的 Amazon S3 存储桶管理存储在主文件夹中的用户内容。对于每个 AWS 区域，P WorkSpaces ools 都会在您的账户中创建一个存储桶。从该区域中目录的流式传输会话生成的所有用户内容都存储在该存储桶中。存储桶完全由服务托管，管理员不必输入任何内容或进行任何配置。存储桶以特定格式命名，如下所述：

```
wspool-home-folder-<region-code>-<account-id-without-hyphens>-<random-identifier>
```

哪里`<region-code>`是创建目录的 AWS 区域代码，`<account-id-without-hyphens>`是您的 Amazon Web Services 账户 ID，*>random-identifier<*也是该 WorkSpaces 服务生成的随机标识号。存储桶名称的第一部分 `wspool-home-folder-` 不随账户或区域而改变。

例如，如果您为账号 123456789012 在美国西部（俄勒冈州）（us-west-2）区域中的目录启用主文件夹，则此服务会在该区域中创建一个具有所示名称的 Amazon S3 存储桶。只有具有足够权限的管理员才能删除此存储桶。

```
wspool-home-folder-us-west-2-123456789012
```

如上文所述，对目录禁用主文件夹不会删除存储在 Amazon S3 存储桶中的任何用户内容。要永久删除用户内容，必须由具备足够访问权限的管理员在 Amazon S3 控制台中进行。 WorkSpaces Pools 添加了防止意外删除存储桶的存储桶策略。

#### 主文件夹内容同步
<a name="home-folders-content-synchronization"></a>

启用主文件夹后，P WorkSpaces ools 会为每个用户创建一个用于存储其内容的唯一文件夹。创建该文件夹作为唯一的 Amazon S3 前缀，该前缀使用 Amazon Web Services 账户和区域的 S3 存储桶中的用户名哈希。P WorkSpaces ools 在 Amazon S3 中创建主文件夹后，它会将该文件夹中访问的内容从 S3 存储桶复制到 WorkSpace。这使用户能够在直播会话期间从 WorkSpace 池 WorkSpace中快速访问其主文件夹内容。您对用户在 S3 存储桶中的主文件夹内容所做的更改以及用户对 WorkSpace 池中的主文件夹内容所做的更改将 WorkSpace 在 Amazon S3 和 WorkSpaces 池之间同步，如下所示。

1. 在用户的 P WorkSpaces ools 直播会话开始时，P WorkSpaces ools 会对存储在您的 Amazon Web Services 账户和区域的 Amazon S3 存储桶中的该用户的主文件夹文件进行分类。

1. 用户的主文件夹内容也存储在他们从 WorkSpace 中进行流式传输的 “资源 WorkSpaces 池” 中。当用户访问其在上的主文件夹时 WorkSpace，将显示已编目文件的列表。

1. WorkSpaces WorkSpace 只有当用户在流式传输会话期间使用流媒体应用程序打开文件后，池才会将文件从 S3 存储桶下载到。

1. P WorkSpaces ools 将文件下载到之后 WorkSpace，将在访问文件后进行同步 

1. 如果用户在流式传输会话期间更改了文件，P WorkSpaces ools 会定期或在流式传输会话结束时 WorkSpace 将文件的新版本从上传到 S3 存储桶。但是，在流式传输会话期间，不会再次从 S3 存储桶下载该文件。

以下各部分介绍了在 Amazon S3 中添加、替换或删除用户的主文件夹文件时的同步行为。

**Topics**
+ [同步您添加到 Amazon S3 中用户主文件夹中的文件](#home-folders-content-synchronization-content-added-to-user-home-folder-in-S3)
+ [同步您替换的 Amazon S3 中用户主文件夹中的文件](#home-folders-content-synchronization-content-replaced-in-user-home-folder-S3)
+ [同步您从 Amazon S3 中的用户主文件夹中删除的文件](#home-folders-content-synchronization-content-removed-from-user-home-folder-S3)

##### 同步您添加到 Amazon S3 中用户主文件夹中的文件
<a name="home-folders-content-synchronization-content-added-to-user-home-folder-in-S3"></a>

如果您将新文件添加到 S3 存储桶中用户的主文件夹，P WorkSpaces ools 会在几分钟内对该文件进行编目并将其显示在用户主文件夹中的文件列表中。但是， WorkSpace 直到用户在流式传输会话期间使用应用程序打开文件后，才会将文件从 S3 存储桶下载到。

##### 同步您替换的 Amazon S3 中用户主文件夹中的文件
<a name="home-folders-content-synchronization-content-replaced-in-user-home-folder-S3"></a>

如果用户在直播会话期间打开 WorkSpace 池中其主文件夹 WorkSpace 中的文件，并且在该用户处于活动状态的流式传输会话期间，您将 S3 存储桶中其主文件夹中的相同文件替换为新版本，则该文件的新版本不会立即下载到 WorkSpace。只有在用户启动新的流式传输会话并再次打开文件后， WorkSpace 才会从 S3 存储桶下载到新版本。

##### 同步您从 Amazon S3 中的用户主文件夹中删除的文件
<a name="home-folders-content-synchronization-content-removed-from-user-home-folder-S3"></a>

如果用户在直播会话期间打开 WorkSpace 池中其主文件夹 WorkSpace 中的文件，并且在该用户处于活动状态的流式传输会话期间将该文件从 S3 存储桶中的主文件夹中移除，则在用户执行以下任一操作 WorkSpace 后，该文件将从中删除：
+ 再次打开主文件夹
+ 刷新主文件夹

#### 主文件夹格式
<a name="home-folders-admin-folders"></a>

用户文件夹的层次结构视用户启动流式传输会话的方式而定，如以下章节所述。

##### SAML 2.0
<a name="home-folders-admin-folders-saml"></a>

对于使用 SAML 联合创建的会话，用户文件夹的结构如下：

```
bucket-name/user/federated/user-id-SHA-256-hash/
```

在本例中，`user-id-SHA-256-hash` 是文件夹名称 (使用在 SAML 联合请求中传递的 `NameID` SAML 属性值生成的小写 SHA-256 哈希十六进制字符串创建)。要区分隶属两个不同的域的同名用户，请在发送 SAML 请求时使用 `domainname\username` 格式的 `NameID`。有关更多信息，请参阅 [配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)。

下面的示例文件夹结构适用于使用 SAML 联合且 `NameID` 为 SAMPLEDOMAIN\$1testuser、账户 ID 为 123456789012、区域为美国西部（俄勒冈）的会话访问：

```
wspool-home-folder-us-west-2-123456789012/user/federated/8dd9a642f511609454d344d53cb861a71190e44fed2B8aF9fde0C507012a9901
```

当 NameID 字符串的部分或全部大写时（如示例中的域名所示），P WorkSpaces oo *SAMPLEDOMAIN* ls 会根据字符串中使用的大小写生成哈希值。使用此示例，SAMPLEDOMAIN\$1 testuser 的哈希值为 8 DD9 A642F511609454D344D53 CB861 A71190E44 FED2 B8 C507012A9901。AF9 FDE0在该用户的文件夹中，此值显示为小写，如下所示：8dd9a642f511609454d344d53cb861a71190e44fed2B8aF9fde0C507012a9901。

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

#### 其他资源
<a name="home-folders-admin-additional"></a>

有关管理 Amazon S3 存储桶和最佳实践的更多信息，请参阅《Amazon Simple Storage Service 用户指南》**中的以下主题：
+ 您可以使用 Amazon S3 策略为用户提供对用户数据的离线访问。有关更多信息，请参阅《IAM 用户指南》**中的 [Amazon S3：允许 IAM 用户以编程方式和在控制台中访问其 S3 主目录](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_home-directory-console.html)。
+ 您可以为存储在池使用的 Amazon S3 存储桶中的内容启用文件版本控制。 WorkSpaces 有关详细信息，请参阅[使用版本控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)。

# 为您的 P WorkSpaces ools 用户启用应用程序设置持久性
<a name="app-settings-persistence"></a>

WorkSpaces 池支持基于 Windows 的目录的永久应用程序设置。这意味着，用户的应用程序自定义项和 Windows 设置将在每个流式传输会话之后自动保存，并在下一个会话期间应用。用户可配置的持久性应用程序设置的示例包括但不限于：浏览器收藏夹、设置、网页会话、应用程序连接配置文件、插件和 UI 自定义项。这些设置将保存到您账户中的亚马逊简单存储服务 (Amazon S3) 存储桶中，该存储段位于 AWS 启用了应用程序设置持久性的区域内。它们可在每个 P WorkSpaces ools 直播会话中使用。

**注意**  
可能会对存储在 S3 存储桶中的数据收取标准 Amazon S3 费用。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [应用程序设置持久性如何工作](how-it-works-app-settings-persistence.md)
+ [启用应用程序设置持久性](enabling-app-settings-persistence.md)
+ [管理 VHDs 用户的应用程序设置](administer-app-settings-vhds.md)

# 应用程序设置持久性如何工作
<a name="how-it-works-app-settings-persistence"></a>

持久性应用程序设置将保存到一个虚拟硬盘 (VHD) 文件中。当用户首次从启用了应用程序设置持久性的目录流式传输应用程序时，将创建此文件。如果与目录关联的 WorkSpace 池基于包含默认应用程序和 Windows 设置的映像，则默认设置将用于用户的第一个流式传输会话。

当流式传输会话结束时，VHD 将卸载并上传到您账户的 Amazon S3 存储桶中。存储桶是在您首次为某个 AWS 区域中的目录启用永久性应用程序设置时创建的。存储桶是您的 AWS 账户和地区所独有的。VHD 在传输过程中使用 Amazon S3 SSL 终端节点进行加密，静态使用[AWS 托管 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)进行加密。

VHD 安装 WorkSpace 在两者兼`C:\Users\%username%`而`D:\%username%`有之。如果您未加入 WorkSpace Active Directory 域，则 Windows 用户名为 PhotonUser。如果您 WorkSpace 已加入 Active Directory 域，则 Windows 用户名就是登录用户的用户名。

应用程序设置持久性无法跨不同的操作系统版本工作。例如，如果您为使用 Windows Server 2019 映像的 WorkSpace 池启用应用程序设置持久性，如果您更新 WorkSpace 池以使用运行其他操作系统的映像（例如 Windows Server 2022），则不会为该目录的用户保存先前流式传输会话的设置。相反，在更新 WorkSpace 池以使用新映像后，当用户从启动流式传输会话时 WorkSpace，会创建一个新的 Windows 用户配置文件。但是，如果对映像上的同一操作系统应用更新，则会保存之前的流式传输会话中的用户自定义项和设置。将同一操作系统的更新应用于映像时，当用户从启动流式传输会话时，将使用相同的 Windows 用户配置文件 WorkSpace。

**重要**  
WorkSpaces 只有在加入[微软 Active Directory 域时，Poo WorkSpace ls 才支持依赖微软数据保护 API](https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi) 的应用程序。如果未加入 A WorkSpace ctive Directory 域 PhotonUser，则每个域的 Windows 用户不同 WorkSpace。由于 DPAPI 安全模型的运行方式，用户的密码不会为在此情况下使用 DPAPI 的应用程序保留。如果 WorkSpaces已加入 Active Directory 域并且用户是域用户，则 Windows 用户名就是登录用户的用户名，使用 DPAPI 的应用程序的用户密码将保留。

WorkSpaces Pools 会自动保存此路径中的所有文件和文件夹，但以下文件夹除外：
+ 联系人
+ 桌面
+ Documents
+ Downloads
+ 链接
+ 图片
+ Saved Games
+ Searches
+ 视频

在这些文件夹之外创建的文件和文件夹将保存在 VHD 中并同步到 Amazon S3。对于池，默认 VHD 最大大小为 5 GB。保存的 VHD 的大小是它所包含的文件和文件夹的总大小。 WorkSpaces 池会自动为用户保存`HKEY_CURRENT_USER`注册表配置单元。对于新用户（Amazon S3 中不存在个人资料的用户），P WorkSpaces ools 使用默认配置文件创建初始配置文件。此配置文件是在映像生成器的以下位置创建的：`C:\users\default`。

**注意**  
必须先将整个 VHD 下载到， WorkSpace 然后才能开始直播会话。因此，包含大量数据的 VHD 可能会使流式传输会话的开始时间延迟。有关更多信息，请参阅 [启用应用程序设置持久性的最佳实践](enabling-app-settings-persistence.md#best-practices-app-settings-persistence)。

启用应用程序设置持久性时，您必须指定一个设置组。设置组决定哪些已保存的应用程序设置用于此目录中的流式传输会话。 WorkSpaces 池为设置组创建一个新的 VHD 文件，该文件单独存储在您 AWS 账户的 S3 存储桶中。如果该设置组在各目录之间共享，将在每个目录中使用相同的应用程序设置。如果目录需要自己的应用程序设置，请为目录指定一个唯一的设置组。

# 启用应用程序设置持久性
<a name="enabling-app-settings-persistence"></a>

**Topics**
+ [启用应用程序设置持久性的先决条件](#prerequisites-app-settings-persistence)
+ [启用应用程序设置持久性的最佳实践](#best-practices-app-settings-persistence)
+ [如何启用应用程序设置持久性](#howto-enable-app-settings-persistence)

## 启用应用程序设置持久性的先决条件
<a name="prerequisites-app-settings-persistence"></a>

要启用应用程序设置持久性，您必须先执行以下操作：
+ 使用根据 2017 年 12 月 7 日当天或之后发布 AWS 的基本图像创建的图像。
+ 通过配置 Internet 访问或 Amazon S3 的 VPC 端点，启用从您的虚拟私有云（VPC）到 Amazon S3 的网络连接。有关更多信息，请参阅 [WorkSpaces Pools 的网络和访问权限](managing-network.md)中的*主文件夹和 VPC 端点* 部分。

## 启用应用程序设置持久性的最佳实践
<a name="best-practices-app-settings-persistence"></a>

要在不向您的提供互联网访问权限的情况下实现应用程序设置的持久性 WorkSpaces，请使用 VPC 终端节点。此终端节点必须位于您的 in P WorkSpaces ools 所连接的 VPC WorkSpaces 中。您必须附加自定义策略才能允许 WorkSpaces 池访问终端节点。有关如何创建自定义策略的信息，请参阅[WorkSpaces Pools 的网络和访问权限](managing-network.md)中的“主文件夹和 VPC 端点”**部分。有关私有 Amazon S3 端点的更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)和 [Amazon S3 的端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。

## 如何启用应用程序设置持久性
<a name="howto-enable-app-settings-persistence"></a>

您可以在创建目录时或在使用 WorkSpaces 控制台创建目录之后启用或禁用应用程序设置的持久性。对于每个 AWS 区域，持久性应用程序设置存储在您账户的 S3 存储桶中。

首次为某个区域中的目录启用应用程序设置持久性时，P WorkSpaces ools 会在同一 AWS 区域的 AWS 账户中创建一个 S3 存储桶。同一个存储桶存储该 AWS 区域中所有用户和所有目录的应用程序设置 VHD 文件。有关更多信息，请参阅[管理 VHDs 用户的应用程序设置](administer-app-settings-vhds.md)中的 *Amazon S3 存储桶设置*。

**在创建目录期间启用应用程序设置持久性**
+ 按照[配置 SAML 2.0 并创建 WorkSpaces 池目录](create-directory-pools.md)中的步骤操作，并确保选中了 **Enable Application Settings Persistence (启用应用程序设置持久性)**。

**为现有目录启用应用程序设置持久性**

1. 在 [https://console.aws.amazon.com/workspaces/v2/](https://console.aws.amazon.com/workspaces/v2/home) home 中打开 WorkSpaces 主机。

1. 在左侧导航窗格中，选择**池**，然后选择要为其启用应用程序持久性的池。

1. 在该页面的**设置**部分，选择**编辑**。

1. 在该页面的**应用程序持久性**部分，选择**启用应用程序设置持久性**。

1. 选择**保存更改**。

新的流式传输会话现在便已启用应用程序设置持久性。

# 管理 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。

# WorkSpaces Pools 通知代码问题排查
<a name="wsp-pools-troubleshooting"></a>

以下是您在设置 Active Directory 并将其与 WorkSpaces 结合使用时可能遇到的域加入问题的通知代码和解决步骤。

**DOMAIN\$1JOIN\$1ERROR\$1ACCESS\$1DENIED**  
**消息**：访问被拒绝。  
**解决方案**：在目录中指定的服务账户无权创建计算机对象或重用现有对象。验证权限并启动 WorkSpaces Pools。

**DOMAIN\$1JOIN\$1ERROR\$1LOGON\$1FAILURE**  
**消息**：用户名或密码不正确。  
**解决方案**：目录配置中指定的服务账户具有无效的用户名或密码。更新目录中配置的 AWS Secrets Manager 密钥中的凭证，然后再次启动 WorkSpaces Pools。

**DOMAIN\$1JOIN\$1NERR\$1PASSWORD\$1EXPIRED**  
**消息**：此用户的密码已过期。  
**解决方案**：AWS Secrets Manager 密钥中服务账户的密码已过期。首先，停止 WorkSpaces Pools。接下来，更改在 WorkSpaces 目录中指定的密钥的密码。然后，启动 WorkSpaces Pools。

**DOMAIN\$1JOIN\$1ERROR\$1DS\$1MACHINE\$1ACCOUNT\$1QUOTA\$1EXCEEDED**  
**消息**：您的计算机无法加入域。您超出了允许在此域中创建的最大计算机账户数。请联系您的系统管理员重置或增加此限制。  
**解决方案**：在目录上指定的服务账户无权创建计算机对象或重用现有对象。验证权限并启动 WorkSpaces Pools。

**DOMAIN\$1JOIN\$1ERROR\$1INVALID\$1PARAMETER**  
**消息**：参数不正确。如果 `LpName` 参数为 NULL 或 `NameType` 参数指定为 `NetSetupUnknown` 或未知名称类型，则会返回此错误。  
**解决方案**：当 OU 的可分辨名称错误时，会发生此错误。验证 OU，然后重试。如果继续遇到此错误，请联系 AWS 支持。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

**DOMAIN\$1JOIN\$1ERROR\$1MORE\$1DATA**  
**消息**：有更多数据可用。  
**解决方案**：当 OU 的可分辨名称错误时，会发生此错误。验证 OU，然后重试。如果继续遇到此错误，请联系 AWS 支持。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

**DOMAIN\$1JOIN\$1ERROR\$1NO\$1SUCH\$1DOMAIN**  
**消息**：指定域名不存在或无法访问。  
**解决方案**：流实例无法联系您的 Active Directory 域。要确保网络连接，请确认您的 VPC、子网和安全组设置。

**DOMAIN\$1JOIN\$1NERR\$1WORKSTATION\$1NOT\$1STARTED**  
**消息**：工作站服务尚未启动。  
**解决方案**：启动工作站服务时出错。确保该服务已在您的映像中启用。如果继续遇到此错误，请联系 AWS 支持。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

**DOMAIN\$1JOIN\$1ERROR\$1NOT\$1SUPPORTED**  
**消息**：不支持此请求。如果在 `lpServer` 参数中指定了远程计算机而该远程计算机不支持此调用，将返回此错误。  
**解决方案**：联系 AWS 支持 以寻求帮助。有关更多信息，请参阅 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

**DOMAIN\$1JOIN\$1ERROR\$1FILE\$1NOT\$1FOUND**  
**消息**：系统找不到指定的文件。  
**解决方案**：当提供了无效的组织单位 (OU) 可分辨名称时，会发生此错误。可分辨名称必须以 **OU=** 开头。请验证 OU 可分辨名称并重试。

**DOMAIN\$1JOIN\$1INTERNAL\$1SERVICE\$1ERROR**  
**消息**：账户已存在。  
**解决方法**：此错误可能发生在以下情况中：  
+ 如果问题与权限无关，请查看 Netdom 日志中是否存在错误，并确保您提供的 OU 正确无误。
+ 在目录中指定的服务账户无权创建计算机对象或重用现有对象。如果属于这种情况，请验证权限并启动 WorkSpaces Pools。
+ WorkSpaces 创建计算机对象后，将从创建它的 OU 中移动该对象。在这种情况下，将成功创建第一个 WorkSpaces Pools，但使用该计算机对象的任何新 WorkSpaces Pools 都将失败。当 Active Directory 在指定 OU 中搜索计算机对象并检测到域中其他位置存在具有相同名称的对象时，域加入将失败。
+ 在 WorkSpaces 目录中指定的 OU 名称在目录中的逗号前后包含空格。在这种情况下，当 WorkSpaces Pools 尝试重新加入 Active Directory 域时，WorkSpaces 无法正确循环计算机对象，并且无法成功重新加入域。要解决 WorkSpaces Pools 的此问题，请执行以下操作：

  1. 停止 WorkSpaces Pools。

  1. 编辑 WorkSpaces Pools 的 Active Directory 域设置，以删除 WorkSpaces Pools 加入的目录和目录 OU。

  1. 更新 WorkSpaces 目录以指定不包含空格的 OU。

  1. 编辑 WorkSpaces Pools 的 Active Directory 域设置，使用更新的目录 OU 指定目录。

  要解决 WorkSpaces Pools 的此问题，请执行以下操作：

  1. 删除 WorkSpaces Pools。

  1. 更新 WorkSpaces 目录以指定不包含空格的 OU。

  1. 创建新的 WorkSpaces Pools 并使用更新的目录 OU 指定目录。

**WORKSPACES\$1POOL\$1SESSION\$1RESERVATION\$1ERROR**  
**消息**：对于与您的 WorkSpaces Pools 关联的子网，我们目前没有足够的容量来容纳可用区 [us-west-1] 中请求的会话。我们的系统将预置额外的容量。同时，请使用以下可用区之一更改或关联不同的子网：[us-west-2、us-west-3]。  
**解决方案**：等待 EC2 有足够的容量或更新目录上其他可用区的子网。

**INSUFFICIENT\$1CAPACITY\$1ERROR\$1WORKSPACES\$1POOL\$1AZ**  
**消息**：我们目前在可用区 [<impacted az>] 中没有足够的容量来容纳所请求的会话。我们的系统将预置额外的容量。同时，请使用其他可用区更改另一个子网或将其关联到您的 WorkSpaces Pools。  
**解决方案**：等待 Amazon EC2 有足够的容量或更新目录上其他可用区的子网。

**INVALID\$1CUSTOMER\$1SUBNET\$1CIDR\$1BLOCK**  
**消息**：您的子网包括使用不可用的 CIDR 范围。请在当前 /18 范围之外更新您的子网。  
**解决方案**：等待 EC2 有足够的容量或更新目录上其他可用区的子网。