AWS EC2 实例是否需要多个 ENI?

5 networking virtualization amazon-ec2 amazon-web-services amazon-vpc

AWS 允许您将多个弹性网络接口 (ENI) 连接到 EC2 实例。除了“使其看起来像本地服务器”之外,是否存在实际需要多个 ENI 的情况?

我已经考虑过在本地环境中执行此操作的原因,但这些似乎都不适用于 AWS:

  • 链路聚合
  • 链路冗余
  • 独立的管理界面
  • 在线 IDS/IPS
  • 内联防火墙

AWS 隐含的路由器始终“位于”每个 ENI 和其他所有设备之间,因此不可能在线放置另一个实例(例如运行嗅探器)。

亚马逊自己的文档甚至没有明确说明为什么您需要在一个实例上使用多个 ENI。它只是说多个接口“当你想要实现以下目的时很有用:”

创建管理网络。
在 VPC 中使用网络和安全设备。
创建在不同子网上具有工作负载/角色的双宿主实例。
创建低预算、高可用性的解决方案。

但它并没有解释为什么这些用例需要甚至需要 ENI。(很明显,不同子网上的双宿主实例需要多个 ENI,但这并不能解释为什么您首先需要双宿主实例)。

我能想到的唯一用例是运行容器(即 Docker)的实例,并且您希望将各个容器映射到不同子网中的主机 IP 地址。

多个 ENI(如果有)的用例是什么?

Nat*_*ath 2

用例是需要一个“外部/互联网”接口和一个“内部/私有”接口的软件,或者当这样做时使软件/操作系统更容易配置,这是很多防火墙/代理设备。我个人将它们与 Cisco CSR 和 netscaler 市场 AMI 一起使用,因为您最终得到的配置看起来就像我习惯在 aws 之外看到的配置。(我最终还添加了第二个内部接口,在我们的一台设备上执行此操作)调试时的网络服务器,因为这意味着在此内部接口上进行数据包捕获时,我可以看到它与其下游依赖项(DB、LDAP)之间的流量,而无需过滤出进出互联网的流量,这简化了捕获过程并为我提供了来自操作系统的更有意义的 SNMP 指标。