You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否限制AWS EC2实例带宽?如何控出站速率至64Kbps以下?

解决AWS EC2实例出站带宽限速至64Kbps的问题

因为AWS EC2的网络基于虚拟化架构,实例内的ethtool(针对物理网卡)和常规tc工具无法直接控制底层出站带宽,以下是几种可行方案:

1. 应用层直接限速(最简单高效)

针对FTP传输工具本身配置速率限制,无需修改系统或云服务设置:

  • 使用lftp客户端:连接FTP服务器后执行 set net:limit-rate 64k,后续传输会自动限制在64Kbps以内
  • 使用wget下载FTP资源:wget --limit-rate=64k ftp://example.com/file
  • 使用curl下载:curl --limit-rate 64k ftp://example.com/file -o local-file

2. AWS VPC流量控制(云层面全局限速)

通过AWS官方的流量控制功能在VPC层面限制EC2实例的出站带宽,适用于需要全局限制所有出站流量的场景:

  • 登录AWS控制台,进入VPC服务,找到流量控制选项
  • 创建流量控制组,设置目标速率为64 Kbps,选择合适的突发速率(如默认值即可)
  • 将流量控制组关联到目标EC2实例的弹性网络接口或所在子网,生效后该实例的所有出站流量会被限制在设定速率内

3. 基于cgroup的实例内进程级限速

如果需要在实例内针对特定进程(如FTP客户端)限速,可尝试cgroup网络限制(部分EC2实例类型支持):

  1. 创建cgroup目录:mkdir -p /sys/fs/cgroup/net_cls/ftp-limit
  2. 设置速率限制(64Kbps = 65536字节/秒):echo 65536 > /sys/fs/cgroup/net_cls/ftp-limit/net.prio.rate.limit
  3. 找到FTP客户端的进程ID($PID),将其加入cgroup:echo $PID > /sys/fs/cgroup/net_cls/ftp-limit/cgroup.procs

为什么常规tc/ethtool无效?

EC2实例使用的弹性网络适配器(ENA)是虚拟化网卡,实例内的tc操作仅作用于实例内部的虚拟网络栈,实际流量由AWS底层网络转发,因此无法生效;ethtool是为物理网卡设计的工具,不支持虚拟化网络接口的速率设置。

内容的提问来源于stack exchange,提问作者Jang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 10:45:42