amazon-web-services - AWS Inteface VPC 终端节点如何将流量实际路由到区域服务?
问题描述
当我配置 AWS Gateway VPC 终端节点时,会创建一个指向网关的路由表条目。在这里,可以认为网关执行到 AWS 服务的路由(通过私有网络)。
但是,对于 AWS Inteface VPC 终端节点,可见的只是具有子网私有 IP 地址的网络接口。默认情况下,私有 IP 可以在子网或整个 VPC 内发送流量,前提是安全组和 NACL 允许流量。& 在这种情况下,似乎没有通往网关或路由器的路由表条目以允许 VPC 外部的流量。
接口如何/将流量路由到哪里,即流量如何离开客户 VPC?
当然,我知道流量最终会通过私有网络到达预期的 AWS 服务,但在这里我试图找出网关或路由器在哪里?AWS 是否隐藏此实施?
我无法理解一个简单的网络接口可以接受流量并自行将其路由到服务的事实,即自行执行路由?显然,在这种情况下,流量似乎没有流经 VPC 路由器或其他网关设备。
我知道这可能是 AWS 的机密实施,但对他们可能如何设计此功能有任何想法/想法吗?
解决方案
它根本不提供路由,默认情况下,创建 VPC 接口终端节点时将为您在 VPC 中为每个子网创建一个 ENI。它还将为您提供每个可用区的 DNS 名称和您可以在应用程序中使用的全局名称。
此外,它还支持将 VPC 接口终端节点的 AWS 服务域名解析为终端节点的私有 IP。只要您的 VPC 启用了 DNS,它就会首先检查 VPC 私有 DNS 解析器,然后将其解析为私有 IP 而不是公共 IP。
这是通过向您的 VPC 添加一个额外的私有托管区域来完成的,该区域解析您所在区域中的服务域,例如ec2.us-east-1.amazonaws.com
.
在 AWS 方面,这只是在您的 AWS VPC 中创建的一个 ENI,它连接到 AWS 内部 VPC 之一。实际上也可以为您自己的服务实现此功能,以便与其他组织的 VPC 共享,这是使用AWS PrivateLink实现的。
有关更多信息,请查看接口端点的私有 DNS页面。
推荐阅读
- c# - 选择 SQL Server C# 和数组并返回
- javascript - , ,的 HTMLElement 类型
, 和别的 - big-o - 堆的最坏情况 Big-O 运行时
- vue.js - Uncaught (in promise) TypeError: Cannot read property 'catch' of undefined
- r - 无法从 Rstudio 中的 github 下载包
- julia - Plots.jl 绘图上的特定颜色条
- python - Python - 打印报价
- c++ - 无法让 GLFW 与 g++ 链接
- java - JAVA MYsql 登录表单 - 登录功能无法正常工作(Javafx)
- python - DeprecationWarning:此功能已弃用。请参阅:https://pyproj4.github.io/pyproj/stable/gotchas.html#upgrading-to-pyproj-2-from-pyproj-1