在亚马逊云服务(Amazon Web Services, AWS)中,使用 EC2 实例的公网 IP 所产生的流量费用主要涉及以下几个方面:
一、公网 IP 的类型
AWS 中有两种公网 IP 类型:
- 自动分配的公网 IPv4 地址(Public IPv4 Address)
- 弹性 IP(Elastic IP)
注意:IPv6 地址默认是免费的,且出入站流量按数据传输费计费,但无地址持有费。
二、费用构成
1. 公网 IP 的持有费用(Idle Elastic IP Charges)
- 如果你为 EC2 实例分配了 弹性 IP(Elastic IP),但该 IP 没有绑定到正在运行的实例上(即“闲置”),会产生费用。
- 费用标准(以全球多数区域为例):
- 每个未绑定的弹性 IP:约 $0.005/小时(即约 $3.6/月)
- 不收费的情况:
- 每个账户每个区域的第一个弹性 IP,如果绑定到一个运行中的 EC2 实例,则免费。
- 停止的实例上的弹性 IP 如果未重新映射,可能会被收费。
✅ 建议:不用的弹性 IP 及时释放,避免产生额外费用。
2. 数据传输费用(Data Transfer Costs)
这是最主要的流量费用部分。AWS 按实际出站(Outbound)和入站(Inbound)数据量计费,但通常 入站流量免费,出站流量收费。
出站流量(从 AWS 到互联网)收费标准示例(以 us-east-1 区域为例):
| 数据量范围 | 费率(美元/GB) |
|---|---|
| 第 10 TB/月 | $0.09 |
| 10–50 TB | $0.085 |
| 50–150 TB | $0.07 |
| 超过 150 TB | $0.05 |
📌 示例:如果你每月从 EC2 实例向公网发送 500 GB 数据,费用约为:
500 GB × $0.09 = $45
入站流量(从互联网到 AWS):
- 全部免费(无论多少)
其他常见出站场景及费用:
- 跨区域复制(如从 us-east-1 到 ap-northeast-1):约 $0.02–$0.20/GB,取决于源和目标区域
- 通过 NAT 网关:除了数据传输费,还有 NAT 网关每小时 $0.045 + 每 GB $0.045 的处理费
- 访问 Internet via Internet Gateway:只收取出站流量费
三、公网 IP vs 弹性 IP 的区别对费用的影响
| 项目 | 自动公网 IP | 弹性 IP |
|---|---|---|
| 是否可保留实例停止后 | 否(停止后可能变更) | 是 |
| 绑定到运行实例是否收费 | 免费 | 免费(每个区域一个) |
| 未绑定时是否收费 | 否 | 是($0.005/小时) |
| 可用于多个实例切换 | 否 | 是 |
⚠️ 建议:生产环境使用弹性 IP,并确保始终绑定到运行中的资源。
四、如何降低公网流量费用?
- 使用 CDN(如 Amazon CloudFront):将内容缓存到边缘节点,减少直接从 EC2 出站的流量。
- 压缩数据:减少传输的数据量。
- 启用 Transfer Acceleration(S3)或 Global Accelerator(EC2):优化路径,但注意可能增加成本。
- 监控流量使用情况:使用 CloudWatch 或 AWS Cost Explorer 分析流量趋势。
五、查看费用的方法
- 登录 AWS 控制台 → Cost Explorer
- 查看 “Data Transfer” 相关费用项
- 使用 AWS Pricing Calculator 预估流量成本
总结
| 项目 | 是否收费 | 说明 |
|---|---|---|
| 公网 IP 持有(绑定运行实例) | ❌ 免费 | 包括自动公网 IP 和一个弹性 IP |
| 闲置弹性 IP | ✅ 收费 | $0.005/小时 |
| 入站流量(Internet → EC2) | ❌ 免费 | 所有区域基本都免费 |
| 出站流量(EC2 → Internet) | ✅ 收费 | 按阶梯计价,约 $0.09/GB 起 |
| 跨区域流量 | ✅ 收费 | 更高,需查具体区域定价 |
📌 建议:定期检查未使用的弹性 IP,并使用 AWS 官方定价工具精确估算你的流量成本。
🔗 参考链接:
- AWS EC2 定价页面
- AWS 数据传输费用说明
如有具体区域或使用场景,可以提供更精确的费用估算。
云小栈