

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

# WorkSpaces 应用程序接口 VPC 终端节点
<a name="interface-vpc-endpoints"></a>

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

接口终端节点由一项技术提供支持 AWSPrivateLink，该技术允许您使用私有 IP 地址将流式传输流量保持在您指定的 VPC 内。当您将 VPC 与Direct Connect或AWS Virtual Private Network隧道一起使用时，您可以将流式传输流量保留在您的网络中。

以下主题提供有关 WorkSpaces 应用程序接口端点的信息。

**Topics**
+ [教程：从接口 VPC 端点创建和流式传输](creating-streaming-from-interface-vpc-endpoints.md)
+ [通过接口 VPC 终端节点访问 WorkSpaces 应用程序 API 操作和 CLI 命令](access-api-cli-through-interface-vpc-endpoint.md)

# 教程：从接口 VPC 端点创建和流式传输
<a name="creating-streaming-from-interface-vpc-endpoints"></a>

您可以使用亚马逊 Web Services 账户中的接口 VPC 终端节点，将您的亚马逊 VPC 和 WorkSpaces 应用程序之间的所有网络流量限制到亚马逊网络。创建此端点后，将 WorkSpaces 应用程序堆栈或映像生成器配置为使用它。

**先决条件**

在为 WorkSpaces 应用程序设置接口 VPC 终端节点之前，请注意以下先决条件：
+ 需要互联网连接才能对用户进行身份验证并交付 WorkSpaces 应用程序运行所需的 Web 资产。流式接口端点用于维护 VPC 内的流式传输流量。流式传输流量包括像素、USB、用户输入、音频、剪贴板、文件上传和下载以及打印机流量。要允许此流量，您必须允许[允许的域](allowed-domains.md)中列出的域。创建 VPC 终端节点后，必须允许 WorkSpaces 应用程序用户身份验证域。但是，对于流媒体网关，您可以将访问权限限制为 < vpc-endpoint-id >.streaming.appstream。 <aws-region>.vpce.amazonaws.com。不要求允许列出到 \$1.amazonappstream.com。VPC 端点完全限定域名取代了这种依赖关系。
+ 用户设备所连接的网络必须能够将流量路由到接口端点。
+ 与接口端点关联的安全组必须允许从用户连接的 IP 地址范围对端口 443 (TCP) 和端口1400-1499 (TCP) 进行入站访问。
+ 子网的网络访问控制列表必须允许从短暂网络端口 1024-65535 (TCP) 到用户连接的 IP 地址范围的出站流量。
+ 您的中必须有一个 IAM 权限策略AWS 账户，该策略提供执行 `ec2:DescribeVpcEndpoints` API 操作的权限。默认情况下，此权限是在附加到该 AmazonAppStreamServiceAccess 角色的 IAM 策略中定义的。如果您拥有所需的权限，则在您开始使用某个AWS区域的 WorkSpaces 应用程序服务时，该服务角色将由应用程序自动创建，并附加所需的 IAM 策略。 WorkSpaces 有关更多信息，请参阅 [亚马逊 WorkSpaces 应用程序的身份和访问管理](controlling-access.md)。

**创建接口端点**

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

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

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

1. 对于**服务类别**，请确保选择了**AWS服务**。

1. 对于**服务名称**，选择 **com.amazonaws.***<AWS 区域>***.appstream.streaming**。

1. 指定以下信息。完成后，选择 **Create Endpoint**。
   + 对于 **VPC**，选择要在其中创建接口端点的 VPC。您可以选择不同于具有 WorkSpaces 应用程序资源的 VPC 的 VPC。
   + 对于**子网**，选择要在其中创建端点网络接口的子网（可用区）。我们建议您在至少两个可用区中选择子网。
   + 对于 **IP 地址类型**，请选择 IPV6 或 IPV4。
   + 确保 **Enable Private DNS Name (启用私有 DNS 名称)** 复选框处于选中状态。
**注意**  
如果您的用户使用网络代理访问流式实例，请禁用与私有端点相关联的域和 DNS 名称上的任何代理缓存。应允许通过代理使用 VPC 端点 DNS 名称。
   + 对于 **Security group (安全组)**，选择要与端点网络接口关联的安全组。
**注意**  
该安全组必须从用户连接的 IP 地址范围提供对端口的入站访问。

在创建接口端点时，控制台中端点的状态显示为 **Pending (待定)**。在创建端点之后，状态将变为 **Available (可用)**。

 要更新堆栈以使用您为流式传输会话创建的接口端点，请执行以下步骤。

**更新堆栈以使用新接口端点**

1. 在[https://console.aws.amazon.com/appstream2/家](https://console.aws.amazon.com/appstream2/home)中打开 WorkSpaces 应用程序控制台。

   确保在与要使用的接口终端节点相同的AWS区域中打开控制台。

1. 在导航窗格中，选择 **Stacks (堆栈)**，然后选择您想要的堆栈。

1. 选择 **VPC 端点**选项卡，然后选择**编辑**。

1. 在**编辑 VPC 端点**对话框中，对于**流式传输端点**，选择要通过其流式传输流量的端点。

1. 选择**更新**。

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

**注意**  
指定接口端点时，用户无法使用 Internet 端点进行流式传输。

# 通过接口 VPC 终端节点访问 WorkSpaces 应用程序 API 操作和 CLI 命令
<a name="access-api-cli-through-interface-vpc-endpoint"></a>

如果您使用 Amazon Virtual Private Cloud 托管AWS资源，则可以通过虚拟私有云 (VPC) 中的接口 [VPC 终端节点（接口终端节点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)）直接连接到 WorkSpaces 应用程序 API 操作或命令行界面 (CLI) 命令，而不必通过互联网进行连接。接口终端节点由一项技术提供支持 AWSPrivateLink，该技术允许您使用私有 IP 地址将流式传输流量保持在您指定的 VPC 内。当您使用接口终端节点时，您的 VPC 和 WorkSpaces 应用程序之间的通信将在AWS网络内完全安全地进行。

**注意**  
本主题介绍如何通过接口端点访问 WorkSpaces 应用程序 API 操作和 CLI 命令。有关如何创建 WorkSpaces 应用程序接口端点并从中进行流式传输的信息，请参阅[教程：从接口 VPC 端点创建和流式传输](creating-streaming-from-interface-vpc-endpoints.md)。

**先决条件**

要使用接口端点，您必须满足以下先决条件：
+ 与接口端点关联的安全组必须允许从用户连接的 IP 地址范围对端口 443 (TCP) 进行入站访问。
+ 子网的网络访问控制列表必须允许从短暂网络端口 1024-65535 (TCP) 到用户连接的 IP 地址范围的出站流量。

**Topics**
+ [创建用于访问 WorkSpaces 应用程序 API 操作和 CLI 命令的接口端点](access-api-cli-through-interface-vpc-endpoint-create-interface-endpoint.md)
+ [使用接口端点访问 WorkSpaces 应用程序 API 操作和 CLI 命令](how-to-access-api-cli-through-interface-vpc-endpoint.md)

# 创建用于访问 WorkSpaces 应用程序 API 操作和 CLI 命令的接口端点
<a name="access-api-cli-through-interface-vpc-endpoint-create-interface-endpoint"></a>

执行以下步骤来创建接口端点。

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

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

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

1. 对于**服务类别**，请确保选择了**AWS服务**。

1. 对于**服务名称**，选择 **com.amazonaws.***<AWS 区域>***.appstream.api**。

1. 指定以下信息。完成后，选择 **Create Endpoint**。
   + 对于 **VPC**，选择要在其中创建接口端点的 VPC。
   + 对于 **Subnets（子网）**，选择要在其中创建端点网络接口的子网（可用区）。我们建议您在至少两个可用区中选择子网。
   + （可选）您可以选中 **Enable Private DNS Name (启用私有 DNS 名称)** 复选框。
**注意**  
如果您选择此选项，请确保您根据需要配置 VPC 和 DNS 以支持私有 DNS。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[私有 DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-private-dns)。
   + 对于 **Security group（安全组）**，选择要与端点网络接口关联的安全组。
**注意**  
该安全组必须从用户连接的 IP 地址范围提供对端口的入站访问。

在创建接口端点时，控制台中端点的状态显示为 **Pending (待定)**。在创建端点之后，状态将变为 **Available (可用)**。

# 使用接口端点访问 WorkSpaces 应用程序 API 操作和 CLI 命令
<a name="how-to-access-api-cli-through-interface-vpc-endpoint"></a>

在您创建的接口 VPC 终端节点的状态更改为**可用**后，您可以使用该终端节点访问 WorkSpaces 应用程序 API 操作和 CLI 命令。为此，请在使用这些操作和命令时使用接口端点的 DNS 名称指定 `endpoint-url` 参数。DNS 名称是可公开解析的，但它只能成功路由您的 VPC 中的流量。

以下示例显示如何在使用 **describe-fleets** CLI 命令时指定接口端点的 DNS 名称：

```
aws appstream describe-fleets --endpoint-url <vpc-endpoint-id>.api.appstream.<aws-region>.vpce.amazonaws.com
```

以下示例说明在实例化 WorkSpaces 应用程序 Boto3 Python 客户端时如何指定接口终端节点的 DNS 名称：

```
appstream2client = boto3.client('appstream',region_name='<aws-region>',endpoint_url='<vpc-endpoint-id>.api.appstream.<aws-region>.vpce.amazonaws.com'
```

使用 `appstream2client` 对象的后续命令会自动使用您指定的接口端点。

如果在接口端点上启用了专用 DNS 主机名，则无需指定端点 URL。API 和 CLI 默认使用的 WorkSpaces 应用程序 API DNS 主机名将在您的 VPC 中解析。有关私有 DNS 主机名的更多信息，请参阅《Amazon VPC 用户指南》**中的[私有 DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-private-dns)。