Amazon PrivateLink 概念 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon PrivateLink 概念

您可以使用 Amazon VPC 定义虚拟私有云(VPC),这是一个逻辑隔离虚拟网络。您可以允许 VPC 中的客户端连接到该 VPC 外部的目的地。例如,向 VPC 添加互联网网关以允许访问互联网,或添加 VPN 连接以允许访问您的本地网络。或者,使用 Amazon PrivateLink 允许 VPC 中的客户端使用私有 IP 地址连接到其他 VPC 中的服务和资源,正如这些服务和资源直接托管在您的 VPC 中一样。

以下是开始使用 Amazon PrivateLink 时需要理解的重要概念。

架构图

下列示意图大致地概述了 Amazon PrivateLink 的工作原理。使用者创建 VPC 端点以连接到由提供商托管的端点服务和资源。

服务使用者创建接口 VPC 端点以连接到由提供商托管的端点服务和资源。

提供商

了解与提供商相关的概念。

服务提供商

服务的所有者为服务提供商。服务提供商包括 Amazon、Amazon 合作伙伴及其他 Amazon Web Services 账户。服务提供商可以使用 Amazon 资源(例如 EC2 实例)或使用本地服务器托管其服务。

资源提供商

资源(例如数据库或 Amazon EC2 实例)的所有者是资源提供商。资源提供商包括 Amazon 服务、Amazon 合作伙伴和其他 Amazon 账户。资源提供商可以将其资源托管在 VPC 中或本地。

端点服务

服务提供商创建了端点服务,以使其服务在区域中可用。在创建端点服务时,服务提供商必须指定负载均衡器。负载均衡器接收来自服务使用者的请求并将请求路由到您的服务。

默认情况下,您的端点服务对服务使用者不可用。您必须添加允许特定 Amazon 主体连接到您的端点服务的权限。

服务名称

每个端点服务都由服务名称标识。在创建 VPC 端点时,服务使用者必须指定服务名称。服务使用者可以查询 Amazon Web Services 服务 的服务名称。服务提供商必须与服务使用者共享其服务名称。

服务状态

以下是端点服务可能具有的状态:

  • 待处理 - 正在创建端点服务。

  • 可用 - 端点服务可用。

  • 失败 - 无法创建端点服务。

  • 正在删除 - 服务提供商删除了端点服务,删除正在进行中。

  • 已删除 - 端点服务已删除。

资源配置

资源提供商创建资源配置以共享资源。资源配置是一个逻辑对象,它代表单个资源(例如数据库)或一组资源。资源可以是 IP 地址、域名目标或 Amazon Relational Database Service(Amazon RDS)数据库。

与其他账户共享时,资源提供商必须通过 Amazon Resource Access Manager(Amazon RAM)资源共享来共享资源,以允许其他账户中的特定 Amazon 主体通过资源 VPC 端点连接到资源。

资源配置可以与服务网络相关联,服务网络主体通过服务网络 VPC 端点连接到该服务网络。

资源网关

资源网关是进入共享资源的 VPC 的入口点。提供商创建资源网关以共享 VPC 中的资源。

服务或资源使用者

服务或资源的用户为服务使用者。使用者可以从自己的 VPC 或本地访问端点服务和资源。

VPC 端点

使用者可以创建 VPC 端点以将其 VPC 连接到端点服务或资源。在创建 VPC 端点时,使用者必须指定端点服务、资源或服务网络。VPC 端点有多种类型。您可以创建需要的 VPC 端点类型。

  • Interface - 创建一个接口端点以将 TCP 或 UDP 流量发送到端点服务。发往端点服务的流量使用 DNS 进行解析。

  • GatewayLoadBalancer - 创建网关负载均衡器端点以将流量发送到使用私有 IP 地址的虚拟设备实例集。您使用路由表将流量从您的 VPC 路由到网关负载均衡器端点。网关负载均衡器将流量分配到虚拟设备,并且可以根据需求进行扩展。

  • Resource - 创建资源端点以访问与您共享且位于其他 VPC 中的资源。资源端点可让您私有且安全地访问资源,例如数据库、Amazon EC2 实例、应用程序端点、域名目标或 IP 地址,这些资源可能位于其他 VPC 的私有子网或本地环境中。资源端点不需要负载均衡器,可让您直接访问资源。

  • Service network - 创建 service-network 端点以访问您创建或与您共享的服务网络。您可以使用单个服务网络端点私有且安全地访问与服务网络关联的多个资源和服务。

还有另一种类型的 VPC 端点 Gateway ,它会创建一个网关端点来向 AmazonS3 或 DynamoDB 发送流量。与其他类型的 VPC 端点不同,网关端点不使用 Amazon PrivateLink。有关更多信息,请参阅 网关端点

端点网络接口

端点网络接口是一个请求者管理的网络接口,其用作发往端点服务、资源或服务网络的流量的入口点。对于您在创建 VPC 端点时指定的每个子网,我们将在子网中创建一个端点网络接口。

如果 VPC 端点支持 IPv4,则其端点网络接口具有 IPv4 地址。如果 VPC 端点支持 IPv6,则其端点网络接口具有 IPv6 地址。无法从互联网访问端点网络接口的 IPv6 地址。当您使用 IPv6 地址描述端点网络接口时,请注意已启用 denyAllIgwTraffic

端点策略

VPC 端点策略是一种 IAM 资源策略,您可以将其附加到接口端点。此策略确定哪些主体可以使用 VPC 端点访问端点服务。默认 VPC 端点策略允许所有主体通过 VPC 端点对所有资源执行所有操作。

端点状态

创建接口 VPC 端点时,端点服务会收到连接请求。服务提供商可以接受或拒绝请求。如果服务提供商接受请求,则服务使用者进入“可用”状态后即可使用 VPC 端点。

以下是 VPC 端点可能具有的状态:

  • 待处理接受 - 连接请求待处理。如果手动接受请求,则此为初始状态。

  • 待处理 - 服务提供商接受了连接请求。如果自动接受请求,则此为初始状态。如果服务使用者修改 VPC 端点,则 VPC 端点将返回此状态。

  • 可用 - VPC 端点可供使用。

  • 已拒绝 – 服务提供商拒绝了连接请求。服务提供商也可以在连接可用后拒绝连接。

  • 已过期 - 连接请求已过期。

  • 失败 - VPC 端点不可用。

  • 正在删除 - 服务提供商删除了 VPC 端点,删除正在进行中。

  • 已删除 - VPC 端点已删除。

Amazon PrivateLink API 使用混合大小写返回可能的状态。

来自您的 VPC 的流量使用 VPC 端点和端点服务或资源之间的连接发送到端点服务或资源。VPC 端点和端点服务或资源之间的流量保留在 Amazon 网络内,无需遍历公有互联网。

服务提供商可添加权限,以便服务使用者可以访问端点服务。服务使用者可启动连接,而服务提供商可接受或拒绝连接请求。资源所有者或服务网络所有者通过 Amazon Resource Access Manager 与使用者共享资源配置或服务网络,以便使用者可访问资源或服务网络。

通过接口 VPC 端点,使用者可以使用端点策略来控制哪些 IAM 主体可以使用 VPC 端点访问端点服务或资源。

私有托管区

托管区是 DNS 记录的容器,用于定义如何路由域或子域的流量。对于公有托管区,记录指定如何在互联网上路由流量。对于私有托管区,记录指定如何在 VPC 中路由流量。

您可以配置 Amazon Route 53 以将域流量路由到 VPC 端点。有关更多信息,请参阅 Routing traffic to a VPC endpoint using your domain name(使用域名将流量路由到 VPC 端点)。

您可以使用 Route 53 配置水平分割 DNS,在这种情况下,您可以为公有网站和由 Amazon PrivateLink 提供支持的端点服务使用相同的域名。来自使用者 VPC 的公有主机名 DNS 请求将解析到端点网络接口的私有 IP 地址,但来自 VPC 外部的请求会继续解析到公有端点。有关更多信息,请参阅用于路由流量和为 Amazon PrivateLink 部署启用失效转移的 DNS 机制