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

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

Amazon Web Services 通过以下方式访问 Amazon PrivateLink

您 Amazon Web Service 使用终端节点访问。默认的服务端点是公有接口,因此您必须向 VPC 添加互联网网关,这样流量才能从 VPC 流向 Amazon Web Service。如果此配置不符合您的网络安全要求,则可以使用将您的 VPC 连接 Amazon PrivateLink 到, Amazon Web Services 就像它们在您的 VPC 中一样,无需使用互联网网关。

您可以 Amazon PrivateLink 使用 VPC 终端节点私密访问与之集成的内容。 Amazon Web Services 您无需使用互联网网关即可构建和管理应用程序堆栈的所有层。

定价

您需要按在每个可用区配置接口 VPC 终端节点的每小时计费。您还需要按处理的 GB 数据付费。有关更多信息,请参阅Amazon PrivateLink 定价

概述

您可以 Amazon Web Services 通过他们的公共服务端点进行访问,也可以 Amazon Web Services 使用连接到支持的终端节点 Amazon PrivateLink。本概述比较了这些方法。

通过公有服务端点进行访问

下图显示了实例如何 Amazon Web Services 通过公共服务终端节点进行访问。 Amazon Web Service 从公有子网中的实例到的流量将路由到 VPC 的 Internet 网关,然后路由到 Amazon Web Service。从私有子网中的实例流向 Amazon Web Service 的流量路由到 NAT 网关,然后路由到 VPC 的互联网网关,然后再路由到 Amazon Web Service。当这些流量通过互联网网关时,它不会离开网络。 Amazon

流向的流量通过互联网网关 Amazon Web Service 离开您的 VPC,但仍留在 Amazon 网络中。
通过 Connect Amazon PrivateLink

下图显示了实例是如何 Amazon Web Services 通过访问 Amazon PrivateLink的。首先,创建接口 VPC 终端节点,用于在您的 VPC 中的子网和 Amazon Web Service 正在使用的网络接口之间建立连接。发往的流量使用 DNS 解析到终端节点网络接口的私有 IP 地址,然后使用 VPC 终端节点与之间的连接发送到终端节点网络接口的私有 IP 地址 Amazon Web Service。 Amazon Web Service Amazon Web Service

来自子网的流量使用接口 VPC 终端节点连接到 Amazon Web Service。

Amazon Web Services 自动接受连接请求。服务无法通过 VPC 端点发起对资源的请求。

DNS 主机名

大多数都 Amazon Web Services 提供公共区域终端节点,其语法如下。

protocol://service_code.region_code.amazonaws.com

例如,us-east-2 CloudWatch 中亚马逊的公共终端节点如下所示。

https://monitoring.us-east-2.amazonaws.com

使用 Amazon PrivateLink,您可以使用私有终端节点向服务发送流量。当您创建接口 VPC 终端节点时,我们会创建区域和区域 DNS 名称,您可以使用这些名称 Amazon Web Service 从您的 VPC 与进行通信。

接口 VPC 端点的区域 DNS 名称的语法如下:

endpoint_id.service_id.region.vpce.amazonaws.com

分区 DNS 名称的语法如下:

endpoint_id-az_name.service_id.region.vpce.amazonaws.com

在为创建接口 VPC 终端节点时 Amazon Web Service,可以启用私有 DNS。借助私有 DNS,您可以继续使用其公共端点的 DNS 名称向服务发出请求,同时通过接口 VPC 端点利用私有连接。有关更多信息,请参阅 DNS 解析

以下 describe-vpc-endpoints 命令显示接口端点的 DNS 条目。

aws ec2 describe-vpc-endpoints --vpc-endpoint-id vpce-099deb00b40f00e22 --query VpcEndpoints[*].DnsEntries

以下是启用私 CloudWatch 有 DNS 名称的 Amazon 接口终端节点的输出示例。第一个条目是私有区域端点。接下来的三个条目是私有分区端点。最后一个条目来自隐藏的私有托管区,该区域可将对公有端点的请求解析为端点网络接口的私有 IP 地址。

[ [ { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2c.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2a.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "vpce-099deb00b40f00e22-lj2wisx3-us-east-2b.monitoring.us-east-2.vpce.amazonaws.com", "HostedZoneId": "ZC8PG0KIFKBRI" }, { "DnsName": "monitoring.us-east-2.amazonaws.com", "HostedZoneId": "Z06320943MMOWYG6MAVL9" } ] ]

DNS 解析

我们为您的接口 VPC 端点创建的 DNS 记录是公有的。因此,这些 DNS 名称是可公开解析的。但是,来自 VPC 外部的 DNS 请求仍会返回端点网络接口的私有 IP 地址,因此,除非您有权访问 VPC,否则这些 IP 地址不能用于访问端点服务。

私有 DNS

如果您为接口 VPC 终端节点启用私有 DNS,并且您的 VPC 同时启用了 DNS 主机名和 DNS 解析,我们将为您创建一个隐藏的 Amazon托管私有托管区域。托管区包含服务的默认 DNS 名称的记录集,用于解析为您的 VPC 中的端点网络接口的私有 IP 地址。因此,如果您的现有应用程序 Amazon Web Service 使用公共区域终端节点向发送请求,则这些请求现在会通过终端节点网络接口,而无需您对这些应用程序进行任何更改。

我们建议您为的 VPC 终端节点启用私有 DNS 名称 Amazon Web Services。这样可以确保使用公共服务终端节点的请求(例如通过 Amazon SDK 发出的请求)解析到您的 VPC 终端节点。

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

子网和可用区

您可以配置 VPC 端点,每个可用区中有一个子网。我们将在您的子网中为 VPC 端点创建一个端点网络接口。我们将根据 VPC 端点的 IP 地址类型,为其子网中的每个端点网络接口分配 IP 地址。端点网络接口的 IP 地址在其 VPC 端点的生命周期内不会变更。

在生产环境中,为提高可用性和弹性,我们建议采取以下措施:

  • 为每个 VPC 终端节点配置至少两个可用区,并在这些可用区 Amazon Web Service 中部署必须访问的 Amazon 资源。

  • 为 VPC 端点配置私有 DNS 名称。

  • 使用 Amazon Web Service 其区域 DNS 名称(也称为公共终端节点)进行访问。

下图显示了 Amazon CloudWatch 的 VPC 终端节点,其终端节点网络接口位于单个可用区。当 VPC 中任何子网中的任何资源 CloudWatch使用其公有终端节点访问 Amazon 时,我们会将流量解析到终端节点网络接口的 IP 地址。这包括来自其他可用区子网的流量。但是,如果可用区 1 受损,则可用区 2 中的资源将无法访问 Amazon CloudWatch。

为单个可用区 CloudWatch 启用的亚马逊接口 VPC 终端节点。

下图显示了 Amazon 的 VPC 终端节点, CloudWatch 其终端节点网络接口位于两个可用区。当 VPC 中任何子网中的任何资源使用其公有终端节点访问 Amazon CloudWatch 时,我们会选择一个健康的终端节点网络接口,使用轮询算法在它们之间切换。然后,我们会将流量解析到选定端点网络接口的 IP 地址。

适用于多个可用区域的 Amazon CloudWatch 接口 VPC 终端节点。

如果它更适合您的用例,则可以通过使用同一可用区中的端点网络接口,将流量从您的资源发送到 Amazon Web Service 。为此,请使用端点网络接口的私有区域端点或 IP 地址。

一个接口 VPC 终端节点,其流量使用私有区域终端节点。

IP 地址类型

Amazon Web Services 即使他们不通过其公共端点支持 IPv6,也可以通过其私有端点支持 IPv6。支持 IPv6 的端点可以使用 AAAA 记录响应 DNS 查询。

为接口端点启用 IPv6 的要求
  • Amazon Web Service 必须使其服务端点通过 IPv6 可用。有关更多信息,请参阅 查看 IPv6 支持

  • 接口端点的 IP 地址类型必须与接口端点的子网兼容,如下所述:

    • IPv4 – 将 IPv4 地址分配给端点网络接口。仅当所有选定子网都具有 IPv4 地址范围时,才支持此选项。

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

    • Dualstack(双堆栈)– 将 IPv4 和 IPv6 地址分配给端点网络接口。仅当所有选定子网都具有 IPv4 和 IPv6 地址范围时,才支持此选项。

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