AWS Interface VPC 端点实际上如何将流量路由到区域服务?

How does the AWS Inteface VPC endpoint actually route traffic to regional service?

当我配置 AWS 网关 VPC 端点时,会创建一个指向网关的路由 table 条目。在这里,Gateway 可以被认为执行到 AWS 服务的路由(通过私有网络)。

但是,对于 AWS 接口 VPC 端点,所有可见的都是具有子网私有 IP 地址的网络接口。默认情况下,私有 IP 可以在子网或整个 VPC 内发送流量,前提是安全组和 NACL 允许流量。 &在这种情况下似乎没有路由 table 条目到网关或路由器以允许 VPC 外部的流量。

How / Where is the interface routing the traffic to i.e. How does traffic leave the customer VPC?

当然我知道流量最终通过私有网络到达预期的 AWS 服务,但在这里我试图找出网关或路由器在哪里? AWS 是否隐藏此实现?

我无法理解一个简单的网络接口可以接受流量并将其路由到服务的事实,即自己执行路由?显然,在这种情况下,流量似乎没有流经 VPC 路由器或其他网关设备。

我知道这可能是 AWS 的机密实施,但对他们如何设计此功能有任何想法/想法吗?

它根本不提供路由,默认情况下,VPC 接口端点在创建时将为您在 VPC 中的每个子网创建一个 ENI。它还将为您提供每个可用区的 DNS 名称和您可以在应用程序中使用的全局名称。

此外,它还支持将 VPC 接口端点的 AWS 服务域名解析为端点的私有 IP。只要您的 VPC 启用了 DNS,它就会首先检查 VPC 私有 DNS 解析器,然后将其解析为私有 IP,而不是 public。

这是通过向您的 VPC 添加额外的 private hosted zone 来完成的,该 VPC 解析您所在地区的服务域,例如 ec2.us-east-1.amazonaws.com

从 AWS 方面来看,这只是在您的 AWS VPC 中创建的一个 ENI,它连接到 AWS 内部 VPC 之一。实际上也可以为您自己的服务实现此功能以与其他组织 VPC 共享,这是使用 AWS PrivateLink.

实现的

有关详细信息,请查看 Private DNS for interface endpoints 页面。