如何在启用 NAT 的子网中使用 AWS VPC 终端节点?

Ani*_*aje 3 architecture amazon-web-services amazon-vpc

我使用的 AWS Lambda 函数很少,它们位于私有子网中,
这些私有子网为函数需要访问的服务配置了 VPC 端点,
当前设置不使用 NAT 网关,因此来自函数的所有流量正在通过 VPC 端点。

我现在有一个用例,我们需要使用 NAT 网关,
但是启用 NAT 是否意味着 Functions 将不再使用 VPC 端点进行外部服务访问,而是使用 NAT?

Mar*_*cin 5

我认为这如下工作。为了:

网关端点(S3、DynamoDB)

当您创建它们时,它们的路由会自动添加到我们的路由表中。文档

如果您的路由表中存在指向 Internet 网关的所有 Internet 流量 (0.0.0.0/0) 的现有路由,则端点路由优先处理所有发往该服务的流量,因为该服务的 IP 地址范围是比 0.0.0.0/0 更具体。所有其他 Internet 流量都流向您的 Internet 网关,包括目的地为其他区域中的服务的流量。

接口 VPC 终端节点

它们通过修改服务的 DNS 中的 IP 地址来工作。IP 地址将是端点接口的私有地址。文档

托管区域包含服务的默认 DNS 名称(例如,ec2.us-east-1.amazonaws.com)的记录集,该名称解析为您的 VPC 中终端节点网络接口的私有 IP 地址。这使您能够使用其默认 DNS 主机名而不是特定于端点的 DNS 主机名向服务发出请求。

要使用私有 DNS,您必须将以下 VPC 属性设置为 true:enableDnsHostnames 和 enableDnsSupport。

结论

所以在这两种情况下,优先考虑的是接口,而不是互联网。我建议检查提供的链接。他们有更多的信息和例子来仔细检查我的结论。