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

问题描述

当我配置AWS Gateway VPC终端节点时,将创建一个指向网关的路由表条目。在这里,可以考虑将Gateway路由到AWS服务(通过专用网络)。

但是,对于AWS Inteface VPC终端节点,所有可见的是具有子网私有IP地址的网络接口。默认情况下,如果安全组和NACL允许该流量,则私有IP可以在子网或整个VPC中发送流量。并且在这种情况下,似乎没有通往网关或路由器的路由表条目以允许VPC外部的流量。

接口如何/将流量路由到哪里,即流量如何离开客户VPC?

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

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

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

解决方法

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

此外,它支持将VPC接口终端节点的AWS服务域名解析为该终端节点的私有IP的功能。只要您的VPC启用了DNS,它将首先检查VPC专用DNS解析器,然后将其解析为专用IP而非公用IP。

这可以通过在您的VPC中添加一个额外的private hosted zone来解决,该区域可以解析您所在地区的服务域,例如ec2.us-east-1.amazonaws.com

enter image description here

从AWS端来看,这只是在您的AWS VPC中创建的ENI,该ENI已连接到一个AWS内部VPC。实际上,也可以为您自己的服务实现此目的,以便与其他组织的VPC共享,这是使用AWS PrivateLink实现的。

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...