通过访问 VPC 资源 AWS PrivateLink - Amazon Virtual Private Cloud

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

通过访问 VPC 资源 AWS PrivateLink

您可以使用资源 VPC 端点(资源端点)私有访问其他 VPC 中的 VPC 资源。资源终端节点允许您私密安全地访问 VPC 资源,例如数据库、Amazon EC2 实例、应用程序终端节点、域名目标或 IP 地址,这些地址可能位于其他 VPC 的私有子网或本地环境中。如果没有资源终端节点,则必须向 VPC 添加互联网网关,或者使用 AWS PrivateLink 接口终端节点和 Network Load Balancer 访问资源。资源端点不需要负载均衡器,因此您可以直接访问 VPC 资源。VPC 资源由资源配置代表。资源配置与资源网关关联。

定价

当您使用资源端点访问资源时,按照预置资源 VPC 端点的每一小时计费。此外,还会按照访问资源时处理的数据 GB 数计费。有关更多信息,请参阅AWS PrivateLink 定价。当您使用资源配置和资源网关启用对资源的访问时,将按照资源网关处理的 GB 数据计费。有关更多信息,请参阅Amazon VPC Lattice 定价

概览

您可以访问账户中的资源或来自另一个账户与您共享的资源。要访问资源,您可以创建资源 VPC 端点,该端点使用网络接口在 VPC 中的子网与资源之间建立连接。使用 DNS 将发往资源的流量解析为资源端点网络接口的私有 IP 地址。然后,使用 VPC 端点和资源之间的连接,通过资源网关将流量发送到资源。

下图显示了使用者账户中的资源终端节点,该资源由另一个账户拥有并通过以下方式共享 AWS RAM:

使用者 VPC 中的资源端点访问其他 VPC 中的资源。

注意事项

  • 支持 TCP 流量。不支持 UDP 流量。

  • 必须从包含资源端点的 VPC 启动网络连接,而不是从拥有资源的 VPC 启动。资源的 VPC 无法启动与端点 VPC 的网络连接。

  • 唯一支持的基于 ARN 的资源是 Amazon RDS 资源。

  • VPC 端点和资源网关必须至少有一个可用区重叠。

DNS 主机名

使用 AWS PrivateLink,您可以使用私有终端节点向资源发送流量。当您创建资源 VPC 端点时,我们将创建您可用于与 VPC 和本地资源通信的区域 DNS 名称(称为默认 DNS 名称)。我们建议您使用 DNS 而不是终端节点 IPs 来连接您的资源。资源 VPC 端点的默认 DNS 名称的语法如下:

endpoint_id.rcfgId.randomHash.vpc-lattice-rsc.region.on.aws

在为使用的特定资源配置创建资源 VPC 终端节点时 ARNs,您可以启用私有 DNS。使用私有 DNS,您可以使用 AWS 服务为资源配置的 DNS 名称继续向资源发出请求,同时通过资源 VPC 终端节点利用私有连接。有关更多信息,请参阅 DNS 解析

以下describe-vpc-endpoint-associations命令显示资源终端节点的 DNS 条目。

aws ec2 describe-vpc-endpoint-associations --vpc-endpoint-id vpce-123456789abcdefgh --query 'VpcEndpointAssociations[*].*'

以下是启用私有 DNS 名称的 Amazon RDS 数据库的资源端点输出示例。第一个 DNS 名称是默认 DNS 名称。第二个 DNS 名称来自隐藏的私有托管区,该区域可将对公有端点的请求解析为端点网络接口的私有 IP 地址。

[ [ "vpce-rsc-asc-abcd1234abcd", "vpce-123456789abcdefgh", "Accessible", { "DnsName": "vpce-1234567890abcdefg-snra-1234567890abcdefg.rcfg-abcdefgh123456789.4232ccc.vpc-lattice-rsc.us-east-1.on.aws", "HostedZoneId": "ABCDEFGH123456789000" }, { "DnsName": "database-5-test.cluster-ro-example.us-east-1.rds.amazonaws.com", "HostedZoneId": "A1B2CD3E4F5G6H8I91234" }, "arn:aws:vpc-lattice:us-east-1:111122223333:resourceconfiguration/rcfg-1234567890abcdefg", "arn:aws:vpc-lattice:us-east-1:111122223333:resourceconfiguration/rcfg-1234567890xyz" ] ]

DNS 解析

我们为您的资源 VPC 端点创建的 DNS 记录是公有的。因此,这些 DNS 名称可公开解析。但是,来自 VPC 外部的 DNS 请求仍会返回资源端点网络接口的私有 IP 地址。只要您可以通过 VPN 或 Direct Connect 访问资源端点所在的 VPC,就可以使用这些 DNS 名称从本地访问资源。

私有 DNS

如果您为所使用的特定资源配置启用了资源 VPC 终端节点的私有 DNS ARNs,并且您的 VPC 同时启用了 DNS 主机名和 DNS 解析,则我们会使用自定义 DNS 名称为资源配置创建隐藏的托 AWS管私有托管区域。托管区包含资源的默认 DNS 名称的记录集,用于解析为您 VPC 中的资源端点网络接口的私有 IP 地址。

Amazon 为您的 VPC 提供 DNS 服务器,称为 Route 53 Resolver。Route 53 Resolver 自动解析私有托管区域中的本地 VPC 域名和记录。但是,您不能从 VPC 外部使用 Route 53 Resolver。如果要从本地网络访问您的 VPC 端点,则可以使用自定义 DNS 名称或 Route 53 Resolver 端点和解析器规则。有关更多信息,请参阅AWS Transit Gateway 与 AWS PrivateLink 和集成 Amazon Route 53 Resolver

子网和可用区

您可以配置 VPC 端点,每个可用区中有一个子网。我们将在您的子网中为 VPC 端点创建一个端点网络接口。我们将根据 VPC 端点的 IP 地址类型,为其子网中的每个端点网络接口分配 IP 地址。在生产环境中,为提高可用性和弹性,我们建议为每个 VPC 端点配置至少两个可用区。

IP 地址类型

资源端点可以支持 IPv4 IPv6、或双栈地址。支持的端点 IPv6 可以使用 AAAA 记录响应 DNS 查询。资源端点的 IP 地址类型必须与资源端点的子网兼容,如下所述:

  • IPv4— 为您的端点网络接口分配 IPv4 地址。仅当所有选定的子网都有 IPv4 地址范围时,才支持此选项。

  • IPv6— 为您的端点网络接口分配 IPv6 地址。仅当所有选定的子网仅为子网时, IPv6 才支持此选项。

  • Dualstack — 将 IPv4 和 IPv6 地址分配给您的端点网络接口。仅当所有选定的子网同时具有 IPv4 和 IPv6 地址范围时,才支持此选项。

如果资源 VPC 终端节点支持 IPv4,则终端节点网络接口具有 IPv4地址。如果资源 VPC 终端节点支持 IPv6,则终端节点网络接口具有 IPv6地址。无法通过互联网访问端点网络接口 IPv6 的地址。如果您使用 IPv6 地址描述端点网络接口,请注意该接口已启denyAllIgwTraffic用。