

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

# 创建由... 提供支持的服务 AWS PrivateLink
<a name="create-endpoint-service"></a>

您可以创建自己的由提供支持的服务 AWS PrivateLink，称为*终端节点服务*。您是服务提供商，而创建与您的服务之间的连接的 AWS 主体是服务使用者。

端点服务需要网络负载均衡器或网关负载均衡器。负载均衡器接收来自服务使用者的请求并将请求路由到您的服务。在这种情况下，您将使用网络负载均衡器创建端点服务。有关使用网关负载均衡器创建端点服务的更多信息，请参阅 [访问虚拟设备](vpce-gateway-load-balancer.md)。

**Topics**
+ [注意事项](#considerations-endpoint-services)
+ [先决条件](#prerequisites-endpoint-services)
+ [创建端点服务](#create-endpoint-service-nlb)
+ [使端点服务可供服务使用者使用](#share-endpoint-service)
+ [作为服务使用者连接到端点服务](#connect-to-endpoint-service)

## 注意事项
<a name="considerations-endpoint-services"></a>
+ 端点服务在您创建端点服务的区域可用。如果您启用[跨区域访问](privatelink-share-your-services.md#endpoint-service-cross-region)，或者相关区域使用 VPC 对等连接或传输网关，则使用者可以从其他区域访问您的服务。
+ 当服务使用者检索有关端点服务的信息时，他们只能看到与服务提供商共有的可用区。当服务提供商与服务使用者处于不同的账户中时，`us-east-1a` 等可用区名称可能会映射到每个 AWS 账户中不同的实际可用区。您可以使用 AZ IDs 来始终如一地识别服务的可用区。有关更多信息，请参阅 [A *mazon EC2 用户指南 IDs*中的可用区](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#az-ids)。
+ 当服务使用者通过接口端点将流量发送至服务时，向应用程序提供的源 IP 地址是负载均衡器节点的私有 IP 地址而不是服务使用者的 IP 地址。如果您在负载均衡器上启用代理协议，则可以从代理协议标头中获取服务使用者的地址和接口端点的地址。 IDs 有关更多信息，请参阅 *Network Load Balancer 用户指南* 中的[代理协议](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#proxy-protocol)。
+ 一个网络负载均衡器只能与一个端点服务关联，但一个端点服务可与多个网络负载均衡器关联。
+ 如果一个端点服务与多个网络负载均衡器相关联，则每个端点网络接口都与一个负载均衡器相关联。当来自端点网络接口的第一个连接启动时，我们会随机选择端点网络接口所在的同一可用区中的一个网络负载均衡器。来自此端点网络接口的所有后续连接请求都使用所选的负载均衡器。我们建议您为端点服务的所有负载均衡器使用相同的侦听器和目标组配置，这样无论选择哪个负载均衡器，使用者都可以成功使用端点服务。
+ 您的 AWS PrivateLink 资源有配额。有关更多信息，请参阅 [AWS PrivateLink 配额](vpc-limits-endpoints.md)。

## 先决条件
<a name="prerequisites-endpoint-services"></a>
+ 在每个提供服务的可用区中，为端点服务创建具有至少一个子网的 VPC。
+ 要使服务使用者能够为您的终端节点服务创建 IPv6 接口 VPC 终端节点，VPC 和子网必须具有关联的 IPv6 CIDR 块。
+ 在 VPC 中创建网络负载均衡器。为每个可用区选择一个子网，在该子网中，服务应可供服务使用者使用。为实现低延迟和容错能力，建议您在该区域的至少两个可用区中提供服务。
+ 如果您的网络负载均衡器有安全组，则它必须允许来自客户端 IP 地址的入站流量。或者，您可以关闭对通过流量的入站安全组规则的评估 AWS PrivateLink。有关更多信息，请参阅*网络负载均衡器用户指南*中的[安全组](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)。
+ 要使您的终端节点服务能够接受 IPv6 请求，其网络负载均衡器必须使用双堆栈 IP 地址类型。目标不需要支持流 IPv6 量。有关更多信息，请参阅*网络负载均衡器用户指南*中的 [IP 地址类型](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#ip-address-type)。

  如果您处理代理协议版本 2 标头中的源 IP 地址，请确认您可以处理 IPv6 地址。
+ 在每个提供服务的可用区中启动实例，并将其注册到负载均衡器目标组。如果您未在所有已启用的可用区中启动实例，则可启用跨区域负载均衡，以支持使用分区 DNS 主机名访问服务的服务使用者。启用跨区域负载均衡后，可能收取区域数据传输费用。有关更多信息，请参阅*网络负载均衡器用户指南*中的[跨区域负载均衡](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/network-load-balancers.html#cross-zone-load-balancing)。

## 创建端点服务
<a name="create-endpoint-service-nlb"></a>

按照以下步骤，使用网络负载均衡器创建端点服务。

**使用控制台创建端点服务**

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

1. 在导航窗格中，选择 **Endpoint services**（端点服务）。

1. 选择 **Create endpoint service**（创建端点服务）。

1. 对于 **Load balancer type**（负载均衡器类型），选择 **Network**（网络）。

1. 对于 **Available load balancers（可用负载均衡器）**，选择要与端点服务关联的 Network Load Balancer。要查看为所选负载均衡器启用的可用区，请参阅**所选负载均衡器的详细信息**、**包括的可用区**。您的端点服务将在这些可用区中可用。

1. （可选）要使您的端点服务在托管区域以外的区域中可用，请从**服务区域**中选择这些区域。有关更多信息，请参阅 [跨区域访问](privatelink-share-your-services.md#endpoint-service-cross-region)。

1. 在 **Require acceptance for endpoint**（需要接受以使用端点）选项中，选择 **Acceptance required**（需要接受）以要求手动接受对端点服务的连接请求。否则将自动接受这些请求。

1. 对于 **Enable private DNS name**（启用私有 DNS 名称），选择 **Associate a private DNS name with the service**（将私有 DNS 名称与服务关联）以关联服务使用者可用于访问您服务的私有 DNS 名称，然后输入私有 DNS 名称。否则，服务使用者可以使用提供的终端节点专用的 DNS 名称。 AWS服务提供商必须先验证服务使用者拥有该域，然后服务使用者才能使用私有 DNS 名称。有关更多信息，请参阅 [管理 DNS 名称](manage-dns-names.md)。

1. 对于 **Supported IP address types**（支持的 IP 地址类型），执行以下任一操作：
   + 选择 **IPv4**-启用终端节点服务以接受 IPv4 请求。
   + 选择 **IPv6**-启用终端节点服务以接受 IPv6 请求。
   + 选择**IPv4**和 **IPv6**-使终端节点服务能够同时接受 IPv4 和 IPv6 请求。

1. （可选）若要添加标签，请选择 **Add new tag**（添加新标签），然后输入该标签的键和值。

1. 选择 **Create**（创建）。

**使用命令行创建端点服务**
+ [create-vpc-endpoint-service-配置](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint-service-configuration.html) ()AWS CLI
+ [New-EC2VpcEndpointServiceConfiguration](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpointServiceConfiguration.html)（适用于 Windows 的工具 PowerShell）

## 使端点服务可供服务使用者使用
<a name="share-endpoint-service"></a>

AWS 委托人可以通过创建接口 VPC 终端节点私密连接到您的终端节点服务。服务提供商必须执行以下操作才能向服务使用者提供服务。
+ 添加权限以允许每个服务使用者连接到您的端点服务。有关更多信息，请参阅 [管理权限](configure-endpoint-service.md#add-remove-permissions)。
+ 为服务使用者提供您的服务名称和支持的可用区，以便他们能够创建接口端点以连接到您的服务。有关更多信息，请参阅 [作为服务使用者连接到端点服务](#connect-to-endpoint-service)。
+ 接受服务使用者的端点连接请求。有关更多信息，请参阅 [接受或拒绝连接请求](configure-endpoint-service.md#accept-reject-connection-requests)。

## 作为服务使用者连接到端点服务
<a name="connect-to-endpoint-service"></a>

服务使用者可通过以下步骤创建接口端点以连接到端点服务。

**使用控制台创建接口端点**

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

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

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

1. 对于**类型**，选择**使用 NLBs 和的终端节点服务 GWLBs**。

1. 对于**服务名称**，请输入服务的名称（例如 `com.amazonaws.vpce.us-east-1.vpce-svc-0e123abc123198abc`），然后选择**验证服务**。

1. （可选）要连接到端点区域以外的区域中可用的端点服务，请选择**服务区域**、**启用跨区域端点**，然后选择区域。有关更多信息，请参阅 [跨区域访问](privatelink-share-your-services.md#endpoint-service-cross-region)。

1. 对于 **VPC**，选择您将从中访问端点服务的 VPC。

1. 对于**子网**，选择要在其中创建端点网络接口的子网。

1. 对于 **IP address type**（IP 地址类型），可从以下选项中进行选择：
   + **IPv4**— 为端点网络接口分配 IPv4 地址。仅当所有选定的子网都有 IPv4 地址范围并且终端节点服务接受 IPv4 请求时，才支持此选项。
   + **IPv6**— 为端点网络接口分配 IPv6 地址。仅当所有选定的子网仅为子网并且终端节点服务接受 IPv6 请求时， IPv6才支持此选项。
   + **Dualstack** — 将 IPv4 和 IPv6 地址分配给端点网络接口。仅当所有选定的子网同时具有 IPv4 和 IPv6 地址范围并且终端节点服务同时接受 IPv4 和 IPv6 请求时，才支持此选项。

1. 对于 **DNS record IP type**（DNS 记录 IP 类型），可从以下选项中进行选择：
   + **IPv4**— 为私有、区域和区域 DNS 名称创建 A 记录。IP 地址类型必须是**IPv4**或 **Dual** stack。
   + **IPv6**— 为私有、区域和区域 DNS 名称创建 AAAA 记录。IP 地址类型必须是**IPv6**或 **Dual** stack。
   + **Dualstack**（双堆栈）– 为私有、区域和分区 DNS 名称创建 A 和 AAAA 记录。IP 地址类型必须为 **Dualstack**（双堆栈）。
   + **Service defined**（已定义服务）– 为私有、区域和分区 DNS 名称创建 A 记录，为区域和分区 DNS 名称创建 AAAA 记录。IP 地址类型必须为 **Dualstack**（双堆栈）。

1. 对于 **Security group（安全组）**，选择要与端点网络接口关联的安全组。

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

**使用命令行创建接口端点**
+ [create-vpc-endpoint](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-vpc-endpoint.html) (AWS CLI)
+ [New-EC2VpcEndpoint](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2VpcEndpoint.html)（适用于 Windows 的工具 PowerShell）