云服务器带宽账单翻倍,九成以上是三个原因:出方向流量失控、CDN 回源走了公网而不是内网、被刷流量或盗链。要控住成本,先分清"固定带宽"和"按流量"两种计费口径,再把出流量压到最小:静态资源上 CDN、开启压缩、限制单 IP 速率、对异常流量设告警。
两种计费口径的本质区别
固定带宽(按带宽计费)
你买的是带宽上限,比如 5 Mbps,价格按带宽和时长计。无论这个月实际跑了 1 GB 还是 1 TB,费用不变;超过 5 Mbps 的部分会被限速或丢包。特点是可预测、不怕突发流量,但为峰值预留的容量在闲时会浪费。
按流量计费(按使用量)
你买的是流量额度,价格按实际传输的字节数计。闲时几乎不产生费用,适合访问集中在少数时段的业务。缺点同样明显:没有天然上限,被刷或被爬时账单会随流量线性上涨。
关键事实:绝大多数云厂商只对出方向流量计费,入方向(下载到服务器、用户上传)免费。所以"带宽成本"实际等于"服务器向外发了多少数据"。把这句话记住,优化方向就清楚了。
计费口径换算
1 Mbps 的理想吞吐是 1,000,000 bit/s ≈ 125 KB/s,换算成月流量约 320 GB(125 KB/s × 86400 × 30)。实际因协议开销会略低,工程估算常按 300 GB/Mbps/月 取整。
| 带宽 | 理论月出流量 | 可承载的页面量(单页 500 KB) | 典型用途 |
|---|---|---|---|
| 1 Mbps | 约 320 GB | 约 64 万次访问 | 个人站、企业展示 |
| 3 Mbps | 约 960 GB | 约 190 万次访问 | 中型企业站 |
| 5 Mbps | 约 1.6 TB | 约 320 万次访问 | 带图片的内容站 |
| 10 Mbps | 约 3.2 TB | 约 640 万次访问 | 小型电商、API 服务 |
| 100 Mbps | 约 32 TB | 约 6400 万次访问 | 下载站、媒体分发 |
注意这是在带宽被打满的理想情况下。真实业务里带宽利用率往往只有 20%–40%,所以"5 Mbps 够不够"要看峰值并发而不是总量。具体价格各厂商差异较大,务必以官方定价页为准。
三种进阶计费方式
- 峰值带宽(5 分钟峰值):按计费周期内的最高 5 分钟带宽值结算。适合有明显波峰的业务,但如果每天只有一次尖峰,这一天就按尖峰收费。
- 95 计费(95th percentile):把整月的带宽采样点排序,去掉最高的 5%,取剩下最大的那个值计费。适合波动大但需要大带宽的场景,通常搭配大带宽规格使用。
- 增强型 95 / 日峰值月平均:先按天取峰值,再对当月取平均。比 95 计费更平滑,也更容易预测,具体是否提供取决于厂商。
选哪种取决于流量曲线形状。曲线平稳时固定带宽最省;曲线陡峭且有多次尖峰时 95 计费更优;访问稀疏时按流量最省。
账单翻倍的五个真实原因
1. CDN 回源走了公网
CDN 加速后,用户请求打到边缘节点,边缘节点回源取数据。如果回源地址填的是公网 IP 且未配置回源流量优惠,回源流量会计入云服务器出流量。正确做法是让 CDN 通过内网回源,或使用对象存储作为源站并开通回源流量包。
2. 被恶意刷流量或盗链
静态资源被别的站点直接引用(盗链)、或接口被脚本高频调用,出流量会在几小时内暴涨。防护手段是分层叠加的:
- Nginx 限速:limit_req 限制请求速率,limit_conn 限制单 IP 并发连接。
- 防盗链:校验 Referer,热链资源只允许本站域名引用。
- 对象存储签名 URL:私有读 + 临时签名,链接无法被长期盗用。
- CDN 侧频次控制与 IP 黑名单:在边缘就把恶意请求拦掉,避免回源。
3. 未开启压缩与缓存
一个未压缩的 HTML 加 JS/CSS 往往超过 1 MB,开启 gzip/brotli 后常能降到 200–300 KB,出流量直接降低六到八成。静态资源设置长期缓存头,让浏览器不再重复下载,也是同样的效果。
4. 备份、同步、日志外传占用公网
把数据库备份传到对象存储、把日志推到日志服务、部署时从境外镜像站拉包,这些都在消耗出流量。把备份与日志通道改成内网或走同地域内网端点,成本能立刻降下来。
5. 忘记释放的临时实例与公网 IP
测试环境用完不关机、EIP 闲置仍绑定、按量实例忘记释放,这类"幽灵资源"每月都能吃掉固定比例的账单。用标签(Tag)把资源按项目归属,并设定期巡检。
可落地的限速与防护配置
在 Nginx 里加下面几段即可获得基础防护,注意先把 limit_req_zone 放在 http 块,其余放在 server 或 location 块。
# 每秒 10 个请求,突发 20,超出直接拒绝
limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;
server {
limit_req zone=req_per_ip burst=20 nodelay;
limit_conn conn_per_ip 20;
# 防盗链:只允许本站与空 Referer
location ~* .(jpg|jpeg|png|gif|mp4|zip)$ {
valid_referers none blocked server_names *.ydbee.cn;
if ($invalid_referer) { return 403; }
expires 30d;
}
# 压缩
gzip on;
gzip_comp_level 5;
gzip_types text/css application/javascript application/json image/svg+xml;
}
限速阈值要按真实业务调,设得太严会挡住正常用户(尤其是 NAT 后的大量用户共用出口 IP)。建议先只记录不拒绝,观察一周日志再收紧。
监控告警:在账单爆炸前收到通知
成本事故的共同点是"发现太晚"。至少配置三条告警:出带宽连续 10 分钟超过历史 95 分位的 1.5 倍、单 IP 请求数突增、当月流量消耗超过预算的 60% 与 85%。云监控的带宽指标通常有 1–5 分钟延迟,配合应用层访问日志统计更准确。
- 带宽类:出网带宽、出网流量、连接数
- 应用类:QPS、4xx/5xx 比例、单 IP Top N
- 账单类:预算告警、按量实例数变化、EIP 数量变化
成本侧的完整方法可参考云计算成本优化实战,配置侧的取舍见云服务器选购指南。
成本估算对照表
| 业务形态 | 推荐计费 | 关键动作 | 风险点 |
|---|---|---|---|
| 企业官网 | 固定 3–5 Mbps + CDN | 静态资源全量上 CDN,开 gzip | CDN 回源走公网 |
| 内容/资讯站 | 固定带宽 + CDN 流量包 | 图片压缩、WebP、缓存头 | 图片被盗链 |
| 下载/文件分发 | 对象存储 + CDN 按流量 | 不用云服务器直接对外发文件 | 单文件过大导致流量失控 |
| API 服务 | 按流量或小固定带宽 | 限流、鉴权、返回体精简 | 接口被刷 |
| 视频/直播 | 专用媒体分发计费 | 转码多码率、切片分发 | 直连回源产生巨额出流量 |
| 内部系统 | 内网 + 小公网带宽 | 走 VPN 或专线 | 误开公网访问 |
常见问题
云服务器入流量真的免费吗?
绝大多数厂商对公网入方向流量不计费,即用户上传、你下载数据到服务器都不产生流量费。但要注意部分产品(如跨地域的内网互通、NAT 网关、负载均衡)有独立的计费规则,需按具体产品文档确认。
固定带宽和按流量哪个更省钱?
用上个月的 95 峰值带宽和月出流量分别试算一次即可判断。流量平稳、峰值持续时间长的选固定带宽;访问稀疏、波峰波谷悬殊的选按流量。两者也可组合:主站固定带宽,对象存储按流量。
网站被人刷流量,账单暴涨能追回吗?
通常不能。计费基于实际产生的流量,厂商一般不为第三方攻击导致的流量免单。可行做法是立即限速、拉黑来源 IP、接入 CDN 与 WAF,并在事后与商务沟通是否有流量包或减免空间,但不要把它当成常规手段。
用了 CDN 之后带宽账单为什么没降?
常见原因是回源未走内网、缓存命中率过低(缓存规则配置错误或资源带随机参数)、以及只对部分资源做了加速。先用 CDN 的命中率报表和回源流量指标定位,命中率低于 80% 时优化缓存规则收益最大。
延伸阅读
- 云服务器选购指南:CPU、内存、带宽与计费方式怎么选
- 云计算成本优化(FinOps)实战
- 对象存储怎么选:OSS、S3 与自建 MinIO
- 服务器监控告警怎么搭:从指标采集到告警收敛:带宽突刺要及时发现,否则月底账单会给你惊喜。
- Nginx 性能调优清单:worker、连接数与缓存怎么设:带宽够了但响应还是慢,瓶颈往往在 worker 与缓冲区配置。
- DNS 与 CDN 加速:把首字节时间压下来的正确顺序:按流量计费时,边缘缓存命中率直接决定回源流量。