在 AWS(Amazon Web Services)中,带宽通常指的是网络吞吐量(Network Throughput),即实例或服务之间传输数据的速度。AWS 提供的带宽取决于多个因素,包括使用的 资源类型、实例类型、区域、VPC 配置以及是否跨可用区通信等。
一、AWS 带宽计算和影响因素
1. EC2 实例带宽
AWS EC2 实例的网络带宽与其实例类型(Instance Type)有关:
- 每种实例类型都有一个最大网络带宽限制(单位:Gbps)
- 带宽可以是“基准带宽”或“增强网络性能”(ENA 支持)
示例:
| 实例类型 | 网络带宽(最大) |
|---|---|
| t3.micro | 最高可达数 Gbps(共享) |
| m5.large | 最高可达 10 Gbps |
| m5n.large | 最高可达 25 Gbps |
| m5zn.large | 最高可达 50 Gbps |
| c5n.18xlarge | 最高可达 100 Gbps |
📌 参考官方文档:EC2 实例类型
你可以使用以下方式查看某个实例的具体网络带宽:
- 查看 AWS 官方文档 – Instance Network Performance
- 使用 AWS CLI 查询(需安装 SSM Agent 并配置权限):
curl http://169.254.169.254/latest/meta-data/
2. Elastic Load Balancer (ELB) 带宽
- Classic Load Balancer 和 Application Load Balancer 的带宽由负载均衡器自动扩展决定。
- 通常不受限于单个连接带宽,而是受 流量吞吐量和请求数量 影响。
3. S3 带宽
- S3 支持高吞吐访问,默认每个前缀的吞吐量为每秒 5500 GET 请求或 5500 PUT 请求
- 大文件上传时可利用分段上传实现高速并行传输
- 如果使用 S3 Transfer Acceleration,可以通过 CloudFront 边缘节点上传下载
4. RDS 带宽
- RDS 的带宽主要受限于所选的实例类型
- 同样遵循 EC2 的网络性能表
5. 跨可用区(AZ)带宽
- 跨 AZ 的流量会经过内网传输,但带宽有限
- 一般情况下,跨 AZ 的带宽比同 AZ 内低 10%-30%
6. 公网带宽
- EC2 实例与公网之间的带宽也受限于实例类型
- 如果你希望控制公网出口带宽,可以使用:
- Elastic IP + Internet Gateway
- NAT Gateway / NAT Instance
- AWS Global Accelerator
二、如何测量 AWS 带宽?
方法一:使用 iperf3 测试内部网络带宽
# 安装 iperf3
sudo apt install iperf3
# 在一台服务器上启动 server 模式
iperf3 -s
# 在另一台服务器上运行 client 测试带宽
iperf3 -c <server-ip>
注意:测试应在同一 VPC、同一子网或不同 AZ 中进行,以验证实际网络性能。
方法二:使用 CloudWatch 监控网络指标
AWS CloudWatch 提供以下 EC2 网络指标(单位:Bytes):
NetworkInNetworkOutNetworkPacketsInNetworkPacketsOut
可以转换为 Mbps 或 Gbps:
Mbps = (NetworkOut * 8) / (60 * 1024 * 1024)
三、带宽优化建议
| 场景 | 建议 |
|---|---|
| 提升 EC2 网络性能 | 使用支持 ENA(Elastic Network Adapter)的实例类型 |
| 公网访问 | 使用 AWS Global Accelerator 或 CloudFront |
| 提高 S3 下载速度 | 使用 S3 Transfer Acceleration 或多线程下载 |
| 跨区域复制数据 | 使用 AWS Direct Connect 或 Snowball Edge |
| 数据库同步 | 使用 DMS 或 RDS Read Replicas |
四、总结
| 类型 | 带宽来源 | 是否可控 |
|---|---|---|
| EC2 内部通信 | 实例类型决定 | ✅ 可通过升级实例提升 |
| 公网出站 | 实例类型限制 | ❌ 不可单独设置,除非用 NAT GW |
| S3 访问 | S3 吞吐能力 + 客户端并发 | ✅ 可通过多线程提升 |
| ELB | 自动扩展 | ✅ 可调整目标组和监听规则 |
| 跨 AZ | 内网路由 | ❌ 不可调 |
如果你能提供更具体的场景(比如你在用什么服务、想测哪个部分的带宽),我可以给你更详细的计算方法和建议!
CLOUD技术博