

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

# 创建接口 VPC 端点并进行流式传输
<a name="creating-streaming-vpc-endpoints"></a>

Virtual Private Cloud (VPC) 是 Amazon Web Services Cloud 内您自己的逻辑隔离区域中的虚拟网络。如果您使用 Amazon Virtual Private Cloud 托管 AWS 资源，则可以在您的 VPC 和之间建立私有连接 WorkSpaces。您可以使用此连接 WorkSpaces 来实现与您的 VPC 上的资源进行通信，而无需通过公共互联网。

接口终端节点由一项技术提供支持 AWS PrivateLink，该技术允许您使用私有 IP 地址将流式传输流量保持在您指定的 VPC 内。当您将带有 Di AWS rect Connect 或 AWS 虚拟专用网络隧道的 VPC 使用时，您可以将流式传输流量保留在您的网络中。

您可以使用 AWS 账户中的 VPC 终端节点来限制您的 Amazon VPC 之间和 WorkSpaces AWS 网络之间的所有流式传输流量。创建终端节点后，请配置您的 WorkSpaces 目录以使用该终端节点。

## 先决条件和限制
<a name="vpc-prerequisites"></a>

在为设置 VPC 终端节点之前 WorkSpaces，请注意以下先决条件和限制。
+ 该功能目前支持 IPv4 或 IPv6 DNS 记录 IP 类型。不支持双堆栈 DNS 记录 IP 类型。
+ 您只能配置与您的目录相同 AWS 账户 的 VPC 终端节点。不支持其他 AWS 账户 中的 VPC 终端节点，包括共享终端节点 VPCs。
+ 该功能目前仅适用于 WorkSpaces 个人。 WorkSpaces 池不支持 VPC 终端节点进行流式传输。
+ VPC 终端节点功能仅适用于 WorkSpaces 使用 Amazon DCV。当您为目录配置 VPC 端点时，用户无法通过互联网从 Amazon DCV 进行流式传输。但是，在配置 VPC 终端节点期间，您可以为同一目录 WorkSpaces 中的 PCo IP 启用互联网流式传输。
+ 要维护 VPC 内的流式传输流量，请使用流式传输 VPC 端点。您的 WorkSpaces 客户需要互联网连接才能进行用户身份验证。在端口 443（包括 UDP 和 TCP）上启用出站访问以处理身份验证流量。此外，您必须根据所选的身份验证方法将所需的域和 IP 地址添加到允许列表中。有关每个类别的域的完整列表，请参阅[要添加到允许列表的域和 IP 地址](https://docs.aws.amazon.com/workspaces/latest/adminguide/workspaces-port-requirements.html#whitelisted_ports)。
  + 验证码
  + 目录设置
  + 会话前智能卡身份验证端点（如果您使用智能卡）
  + 用户登录页面
  + WS 代理
  + WorkSpaces SAML 单点登录 (SSO) 的终端节点
+ 用户设备所连接的网络必须能够将流量路由到 VPC 端点。
+ 您 AWS 账户中的 IAM 用户或 IAM 角色必须具有 IAM 权限策略，才能执行 `ec2:DescribeVpcEndpoints` API 操作。
+ WorkSpaces 流式传输 VPC 终端节点目前不支持 FIPS 加密。如果您已经为目录启用了 FIPS 加密，则需要在配置 VPC 端点之前禁用 FIPS 加密。
+ AWS 通过 VPC 终端节点进行流式传输时，全球加速器 (AGA) 集成不可用。
+ 为目录配置 VPC 端点后，为该目录指定的 IP 访问控制组将不再适用。

## 设置用于 WorkSpaces 流式传输的 VPC 终端节点
<a name="setting-up-vpc-endpoint"></a>

要设置用于 WorkSpaces 流式传输的 VPC 终端节点，请完成以下步骤：

### 步骤 1：创建安全组
<a name="create-security-group"></a>

在此步骤中，您将创建一个安全组，允许 WorkSpaces 客户端与您将要创建的 VPC 终端节点进行通信。

1. 在 Amazon EC2 控制台的导航窗格中，依次选择**网络和安全性**、**安全组**。

1. 选择**创建安全组**。

1. 在**基本详细信息**下，输入以下信息：
   + 对于**安全组名称**，输入标识安全组的唯一名称。
   + 对于**描述**，输入一些描述安全组用途的文本。
   + 对于 **VPC**，选择 VPC 端点所在的 VPC。

1. 转至**入站规则**并选择**添加规则**，为 TCP 流量创建入站规则。

1. 输入以下信息：
   + 对于**类型**，选择“自定义 TCP”。
   + 对于**端口范围**，输入以下端口号：`443`、`4195`。
   + 对于**源类型**，选择“自定义”。
   + 对于**源** — 输入您的用户连接到 VPC 终端节点 IDs 的私有 IP CIDR 范围或其他安全组。确保允许来自 IPv4 或 IPv6 地址源的入站流量。

1. 对每个 CIDR 范围或安全组重复步骤 4 和 5。

1. 转至**入站规则**，选择**添加规则**，为 UDP 流量创建入站规则。

1. 输入以下信息：
   + 对于**类型**，选择**自定义 UDP**。
   + 对于**端口范围**，输入以下端口号：443、4195。
   + 对于**源类型**，选择**自定义**。
   + 对于**来源** — 输入在步骤 5 中 IDs 输入的相同私有 IP CIDR 范围或安全组。确保允许来自 IPv4 或 IPv6 地址源的入站流量。

1. 对每个 CIDR 范围或安全组重复步骤 7 和 8。

1. 选择**创建安全组**。

### 步骤 2：创建 VPC 端点
<a name="create-vpc-endpoint"></a>

在 Amazon VPC 中，VPC 终端节点允许您将自己的 VPC 连接到支持的 AWS 服务。在此示例中，您将配置 Amazon VPC，以便您的 WorkSpaces 用户可以从中进行流式传输 WorkSpaces。

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

1. 在导航窗格中，依次选择**端点**、**创建端点**。

1. 选择**创建端点**。

1. 确保进行以下配置：
   + 对于**服务类别**，确保选中 **AWS 服务**。
   + **服务名称** — 选择 **com.amazonaws。 *Region*. Highlander。**
   + 对于 **VPC**，选择要在其中创建接口端点的 VPC。只要网络将流量路由到 VPC 终端节点，您就可以选择与具有 WorkSpaces 资源的 VPC 不同的 VPC。
   + 对于**启用私有 DNS 名称**，确保选中该复选框。即使使用公有 DNS 名称以实现向后兼容，也建议将其保持选中状态。如果您的用户使用网络代理访问流式实例，请禁用与私有端点相关联的域和 DNS 名称上的任何代理缓存。应允许通过代理使用 VPC 端点 DNS 名称。要成功解析 DNS 名称，必须使用 VPC 内的私有 DNS 服务器，这是因为公有 DNS 服务器无法解析 VPC 端点 DNS 名称。
   + **DNS 记录 IP 类型**-选择 IPv4 或 IPv6。目前不支持双堆栈 DNS 记录 IP 类型。如果您选择 Dualstack，您将无法 WorkSpaces 使用 VPC 终端节点进行流式传输。
   + 对于**子网**，选择要创建 VPC 端点的子网（可用区）。建议您至少选择两个子网。
   + **IP 地址类型** — 根据您选择 IPv4的子网支持的内容选择 IPv6 或 Dualstack。
   + 在**安全组面板**中，选择以前创建的安全组。

1. （可选）在**标签**面板中，可以创建一个或多个标签。

1. 选择**创建端点**。

在端点可供使用时，**状态**列中的值将变为**可用**。

### 步骤 3：配置 WorkSpaces 目录以使用 VPC 终端节点
<a name="configure-directory-vpc-endpoint"></a>

您需要将 WorkSpaces 目录配置为使用您为流媒体创建的 VPC 终端节点。

1. 在与 VPC 终端节点相同的 AWS 区域中打开[WorkSpaces 控制台](https://console.aws.amazon.com/workspaces/v2/home)。

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

1. 选择您要使用的目录。

1. 转至 **VPC 端点**部分，然后选择**编辑**。

1. 在**编辑 VPC 端点**对话框的**流式传输端点**下，选择您创建的 VPC 端点。请注意，每个目录只能选择 1 个 VPC 终端节点。

1. 或者，您可以启用 “**允许拥有 PCo IP 的用户从互联网 WorkSpaces 进行流式传输”**。
**注意**  
启用后，您的用户就可以 WorkSpaces 通过公共互联网从他们 PCo的 IP 进行流式传输。否则，由 WorkSpaces 于 PCo IP 不支持用于流式传输的 VPC 终端节点，因此目录中的 PCo IP WorkSpaces 将变得无法访问。

1. 选择**保存**。

新的流式传输会话的流量都将路由通过此 VPC 端点。但是，当前流式传输会话的流量将继续通过先前指定的端点进行路由。

**注意**  
指定了 VPC 终端节点后，拥有 DCV 的用户 WorkSpaces 无法使用公共互联网进行直播。

## 了解 VPC 终端节点 DNS 名称
<a name="vpc-endpoint-dns-names"></a>

创建用于 WorkSpaces 流式传输的接口 VPC 终端节点后， AWS 会自动为该终端节点分配两个 DNS 名称，供 WorkSpaces 客户端用来连接：

**唯一可公开解析的 DNS 名称**

一个全球唯一的、可公开解析的 DNS 名称，格式为：

```
vpce-<endpoint-id>-<random-string>.prod.highlander.<region>.vpce.amazonaws.com
```

每个 VPC 终端节点的此 DNS 名称都是唯一的。虽然它可以公开解析（任何人都可以查询），但它会从您的 VPC 返回私有 IP 地址，这些地址只能从您的 VPC 或连接的网络中访问（通过 VPN 或 AWS Direct Connect）。

**通用私有 DNS 名称**

共享私有 DNS 名称，格式为：

```
privatelink.prod.<region>.highlander.aws.a2z.com
```

此 DNS 名称在同一区域的所有 VPC 终端节点之间共享，并且只能在 VPC 终端节点所在的 VPC 内使用该 VPC 中的私有 DNS 解析器进行解析。保留此 DNS 名称是为了向后兼容现有部署。

WorkSpaces 默认情况下，客户端会自动使用唯一的可公开解析的 DNS 名称，如果需要，还会自动回退到通用 DNS 名称。现有客户无需采取任何行动。

要查找您的 VPC 终端节点的唯一可公开解析的 DNS 名称，请执行以下操作：

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

1. 在导航窗格中，选择端点。

1. 选择您的 WorkSpaces 接口 VPC 终端节点（服务名称：com.amazonaws。 *Region*.highlander）。

1. 在 “详细信息” 选项卡中，找到 DNS 名称部分。

1. 唯一可公开解析的 DNS 名称列为区域 DNS 名称。

## 网络要求
<a name="vpc-endpoint-network-requirements"></a>

确保您的防火墙或代理允许访问：

```
*.prod.highlander.<region>.vpce.amazonaws.com
privatelink.prod.<region>.highlander.aws.a2z.com
```

`<region>`替换为您 AWS 所在的地区（例如，`us-east-1`，`eu-west-1`）。

DCV 流媒体的端口要求相同。

如果您使用代理进行 WorkSpaces 客户端连接，则必须允许通过代理使用 VPC 终端节点 DNS 名称。要成功解析 DNS 名称，请使用您的 VPC 内的私有 DNS 服务器；公有 DNS 服务器将解析 DNS 名称，但无法从您的 VPC 外部访问返回的私有 IP 地址。