本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS PrivateLink 概念
您可以使用 Amazon VPC 定义虚拟私有云(VPC),这是一个逻辑隔离虚拟网络。您可以允许 VPC 中的客户端连接到该 VPC 之外的目的地。例如,向 VPC 添加互联网网关以允许访问互联网,或添加 VPN 连接以允许访问您的本地网络。或者,使用 AWS PrivateLink 允许您的 VPC 中的客户端 VPCs 使用私有 IP 地址连接到其他 VPC 中的服务和资源,就好像这些服务和资源直接托管在您的 VPC 中一样。
以下是开始使用 AWS PrivateLink时需要理解的重要概念。
架构图
下图简要概述了 AWS PrivateLink 工作原理。消费者创建 VPC 终端节点以连接到提供商托管的终端节点服务和资源。
![服务使用者创建 VPC 终端节点以连接到提供商托管的终端节点服务和资源。](images/privatelink-concepts.png)
提供商
了解与提供商相关的概念。
服务提供商
服务的所有者为服务提供商。服务提供商包括 AWS、 AWS 合作伙伴和其他 AWS 账户。服务提供商可以使用 AWS 资源(例如 EC2 实例)或使用本地服务器托管其服务。
资源提供者
资源(例如数据库或 Amazon EC2 实例)的所有者是资源提供者。资源提供者包括 AWS 服务、 AWS 合作伙伴和其他 AWS 账户。资源提供者可以将其资源托管在本地 VPCs 或本地。
端点服务
服务提供商创建了端点服务,以使其服务在区域中可用。在创建端点服务时,服务提供商必须指定负载均衡器。负载均衡器接收来自服务使用者的请求并将请求路由到您的服务。
默认情况下,您的端点服务对服务使用者不可用。您必须添加允许特定 AWS 委托人连接到您的终端节点服务的权限。
服务名称
每个端点服务都由服务名称标识。在创建 VPC 端点时,服务使用者必须指定服务名称。服务使用者可以查询的服务名称 AWS 服务。服务提供商必须与服务使用者共享其服务名称。
服务状态
以下是端点服务可能具有的状态:
-
Pending
- 正在创建端点服务。 -
Available
- 端点服务可用。 -
Failed
- 无法创建端点服务。 -
Deleting
- 服务提供商删除了端点服务,删除正在进行中。 -
Deleted
- 端点服务已删除。
资源配置
资源提供者创建资源配置以共享资源。资源配置是一个逻辑对象,它表示单个资源(例如数据库)或一组资源。资源可以是 IP 地址、域名目标或亚马逊关系数据库服务 (Amazon RDS) 数据库。
与其他账户共享时,资源提供者必须通过 AWS Resource Access Manager(AWS RAM) 资源共享共享资源,以允许其他账户中的特定 AWS 委托人通过资源 VPC 终端节点连接到资源。
资源配置可以与服务网络相关联,服务网络委托人通过服务网络 VPC 终端节点连接到该服务网络。
资源网关
资源网关是进入共享资源的 VPC 的入口点。提供者创建资源网关以共享 VPC 中的资源。
服务或资源使用者
服务或资源的用户是消费者。消费者可以从自己 VPCs 或从本地访问终端节点服务和资源。
VPC 端点
使用者创建 VPC 终端节点以将其的 VPC 连接到终端节点服务或资源。在创建 VPC 终端节点时,使用者必须指定终端节点服务、资源或服务网络。VPC 端点有多种类型。您必须创建所需的 VPC 终端节点类型。
-
Interface
-创建接口端点以将 TCP 或 UDP 流量发送到终端节点服务。发往端点服务的流量使用 DNS 进行解析。 -
GatewayLoadBalancer
- 创建网关负载均衡器端点以将流量发送到使用私有 IP 地址的虚拟设备实例集。您使用路由表将流量从您的 VPC 路由到网关负载均衡器端点。网关负载均衡器将流量分配到虚拟设备,并且可以根据需求进行扩展。 -
Resource
-创建资源终端节点以访问与您共享且位于其他 VPC 中的资源。资源终端节点允许您私密安全地访问资源,例如数据库、Amazon EC2 实例、应用程序终端节点、域名目标或 IP 地址,这些资源可能位于其他 VPC 的私有子网或本地环境中。资源端点不需要负载均衡器,可让您直接访问资源。 -
Service network
-创建服务网络端点以访问您创建或与您共享的服务网络。您可以使用单个服务网络端点私密安全地访问与服务网络关联的多个资源和服务。
还有另一种类型的 VPC 端点 Gateway
,它会创建一个网关端点来向 AmazonS3 或 DynamoDB 发送流量。与其他类型的 VPC 终端节点不同 AWS PrivateLink,网关终端节点不使用。有关更多信息,请参阅 网关端点。
端点网络接口
端点网络接口是请求者管理的网络接口,可作为发往终端节点服务、资源或服务网络的流量的入口点。对于您在创建 VPC 端点时指定的每个子网,我们将在子网中创建一个端点网络接口。
如果 VPC 终端节点支持 IPv4,则其终端节点网络接口具有 IPv4地址。如果 VPC 终端节点支持 IPv6,则其终端节点网络接口具有IPv6 地址。无法通过互联网访问端点网络接口 IPv6 的地址。使用地址描述端点网络接口时,请注意该 IPv6 地址已启denyAllIgwTraffic
用。
端点策略
VPC 端点策略是一种 IAM 资源策略,您可以将其附加到接口端点。此策略确定哪些主体可以使用 VPC 端点访问端点服务。默认 VPC 端点策略允许所有主体通过 VPC 端点对所有资源执行所有操作。
端点状态
当您创建接口 VPC 终端节点时,终端节点服务会收到连接请求。服务提供商可以接受或拒绝请求。如果服务提供商接受请求,则服务使用者进入 Available
状态后即可使用 VPC 端点。
以下是 VPC 端点可能具有的状态:
-
PendingAcceptance
- 连接请求待处理。如果手动接受请求,则此为初始状态。 -
Pending
- 服务提供商接受了连接请求。如果自动接受请求,则此为初始状态。如果服务使用者修改 VPC 端点,则 VPC 端点将返回此状态。 -
Available
- VPC 端点可供使用。 -
Rejected
- 服务提供商拒绝了连接请求。服务提供商也可以在连接可用后拒绝连接。 -
Expired
- 连接请求已过期。 -
Failed
- VPC 端点不可用。 -
Deleting
- 服务提供商删除了 VPC 端点,删除正在进行中。 -
Deleted
- VPC 端点已删除。
AWS PrivateLink 连接
通过 VPC 终端节点与终端节点服务或资源之间的连接,将来自 VPC 的流量发送到终端节点服务或资源。VPC 终端节点与终端节点服务或资源之间的流量保留在 AWS 网络内,无需通过公共 Internet。
服务提供商可添加权限,以便服务使用者可以访问端点服务。服务使用者可启动连接,而服务提供商可接受或拒绝连接请求。资源所有者或服务网络所有者通过与消费者共享资源配置或服务网络, AWS Resource Access Manager 以便使用者可以访问资源或服务网络。
使用接口 VPC 终端节点,使用者可以使用终端节点策略来控制哪些 IAM 委托人可以使用 VPC 终端节点访问终端节点服务或资源。
私有托管区
托管区是 DNS 记录的容器,用于定义如何路由域或子域的流量。对于公有托管区,记录指定如何在互联网上路由流量。对于私有托管区域,记录会指定如何在您的中路由流量 VPCs。
您可以配置 Amazon Route 53 以将域流量路由到 VPC 端点。有关更多信息,请参阅 Routing traffic to a VPC endpoint using your domain name(使用域名将流量路由到 VPC 端点)。
您可以使用 Route 53 配置水平分割 DNS,其中公共网站和由提供支持的终端节点服务使用相同的域名。 AWS PrivateLink来自使用者 VPC 的公有主机名 DNS 请求将解析到端点网络接口的私有 IP 地址,但来自 VPC 外部的请求会继续解析到公有端点。有关更多信息,请参阅用于路由流量和为 AWS PrivateLink
部署启用失效转移的 DNS 机制