Amazon EC2 实例网络带宽
实例带宽规格适用于实例的入站和出站流量。例如,假设实例指定了高达 10 Gbps 的带宽,这意味着该实例将同时具有高达 10 Gbps 的入站流量带宽和高达 10 Gbps 的出站流量带宽。EC2 实例可用的网络带宽取决于多个因素,如下所示。
多流流量
若实例有 32 个或更多 vCPU,多流流量的带宽限制为通过互联网网关或本地网关的流量的 50%,或者限制为 5 Gbps(以较大者为准)。若实例有不到 32 个 vCPU,则带宽限制为 5 Gbps。
单流流量
如果实例不在同一个集群置放群组中,单流流量的带宽限制为 5 Gbps。要减少延迟并增加单流带宽,请尝试以下任一操作:
-
使用集群置放群组,使同一置放群组内的实例具有高达 10 Gbps 的带宽。
-
在任意两个端点之间设置多条路径,以通过多路径 TCP(MPTCP)实现更高带宽。
-
为同一可用区内符合条件的实例配置 ENA Express,以便在这些实例之间实现高达 25 Gbps 的带宽。
注意
单流被视作唯一的 5 元组 TCP 或 UDP 流。对于位于 IP 标头之后的其他协议(例如 GRE
或 IPsec
),使用源 IP、目标 IP 和下一个协议的 3 元组来定义流。
可用实例带宽
实例的可用网络带宽取决于其拥有的 vCPU 数量。例如,m5.8xlarge
实例有 32 个 vCPU 和 10 Gbps 的网络带宽,m5.16xlarge
实例有 64 个 vCPU 和 20 Gbps 的网络带宽。但是,如果实例超过实例级别的网络限额(例如每秒数据包或跟踪的连接数),则实例可能无法实现此带宽。流量可以利用多少可用带宽取决于 vCPU 的数量和目的地。例如,m5.16xlarge
实例具有 64 个 vCPU,因此到该区域中另一个实例的流量可以利用完整的可用带宽 (20 Gbps)。但是,通过互联网网关或本地网关的流量只能利用 50% 的可用带宽 (10 Gbps)。
通常,有 16 个或更少 vCPU 的实例(大小为 4xlarge
或更小)被记录为具有“高达”的指定带宽;例如,“高达 10 Gbps”。这些实例具备基准带宽。为满足其他需求,可以使用网络 I/O 积分机制,以突增超出其基准带宽。实例可以在有限时间内使用突增带宽,通常为 5 到 60 分钟,具体取决于实例的大小。
实例在启动时接收最大数量的网络 I/O 积分。如果实例耗尽了其网络 I/O 积分,则返回至其基准带宽。正在运行的实例只要使用少于其基准带宽的网络带宽,就会获得网络 I/O 积分。已停止的实例不会获得网络 I/O 积分。即使实例有可用积分,实例突增也已尽了最大努力,因为突增带宽是一个共享资源。
入站和出站流量都有单独的网络 I/O 积分桶。
基本和爆发网络性能
《Amazon EC2 实例类型指南》介绍了每种实例类型的网络性能,以及可以使用突增带宽的实例可用的基准网络带宽。有关更多信息,请参阅下列内容:
或者,您可以使用命令行工具来获取此信息。Amazon EC2 控制台不显示实例类型的基准网络带宽。
监控实例带宽
您可以使用 CloudWatch 指标监控实例网络带宽以及发送和接收的数据包。您可以使用弹性网络适配器 (ENA) 驱动程序提供的网络性能指标来监控流量何时超过 Amazon EC2 在实例级别定义的网络限额。
您可以配置 Amazon EC2 是使用 1 分钟还是 5 分钟时段将实例的指标数据发送到 CloudWatch。网络性能指标可能会显示超出限额并丢弃数据包,而 CloudWatch 实例指标不会显示。当实例对网络资源的需求出现短暂峰值(称为微爆发),但 CloudWatch 指标的精细程度不足以反映这些微秒峰值时,就会发生这种情况。