如果 EC2 实例位于不同的子网中,网络性能是否存在差异?

Are there differences in networking performance if EC2 instances are in different subnets?

在 AWS VPC 中,EC2 实例在这两种情况下的网络性能(或网络故障风险)是否存在差异?

A​​) 子网 Data 中的 EC2 实例与子网 Apps 中的 EC2 实例通信。两个子网属于同一个可用区。

B) 单个子网中的两个 EC2 实例 Data+apps.

我问是因为即使 Windows route print 显示子网的 On-link 和 VPC 中其他子网的网关路由,我怀疑在后台发生的路由没有真正的区别。

否将实例保留在希望相同区域或可用性区域的不同子网中不会影响 performance.HoweverEC2 实例功能和配置的资源确实发挥作用,因为功能较低的 EC2 可能会引入一些延迟作为回应。

由于网络基础设施在 VPC 中的实际工作方式,当实例位于同一子网上或同一可用区内的不同子网上时,性能或可靠性没有差异。

这是因为网络并不是真正的带有路由器的以太网络。

VPC 中的整个网络基础设施都是虚拟的、软件定义的。

亲自查看此问题的最佳方法是在同一子网中的两台计算机上嗅探数据包。您会发现 ARP 的行为存在显着差异。在 "normal" 网络上,同一子网中的机器也处于同一广播域中。他们通过 "arping" 为彼此发现对方的硬件地址,并带有 "who has/tell" 和 "I have" 消息。这些在 VPC 上明显不同:机器 A 发送请求并获得响应......但是机器 B 从未看到该请求,并且实际上没有生成它似乎已经生成的响应。也明显没有您在 LAN 上会发现的杂散传入 ARP 消息。此第 2 层行为完全由网络基础设施模拟,它实际上使用一种编号方案通过路由网络将节点连接在一起,该编号方案与您的拓扑使用的编号完全不同且无关,但非常有效地模拟以太网网络。

另请参阅 A Day in the Life of a Billion Packets,了解如何在 VPC 网络中发挥神奇作用。