云带宽省钱终极攻略:2026年如何省下80%的数据传输费

引言

“服务器不贵,带宽太贵了。“这句话几乎是每个自托管玩家的心声。

许多人在选 VPS 时只关注 CPU 和内存的价格,却忽略了带宽成本——这往往是云账单中最容易被忽视的"隐形杀手”。一台 $5/月的 VPS,如果流量超了,月底账单可能轻松飙到 $50+。

本文将系统性地拆解云带宽的收费逻辑,并分享7个经过实战验证的省钱技巧,帮你省下至少80%的数据传输费用

一、云带宽为什么这么贵?

1.1 带宽的"三重收费”

与传统物理服务器不同,云厂商对带宽的收费通常分三部分:

收费项目典型价格说明
出站流量(Egress)$0.05~$0.23/GB从服务器流出到互联网的数据
入站流量(Ingress)通常免费从互联网流入服务器的数据
固定带宽费$3~$200/月按带宽上限计费

核心问题:出站流量(Egress)是成本大头。如果您的应用提供大量图片、视频或 API 数据,出站流量会急剧上升。

1.2 各大厂商出站流量价格对比

云厂商出站流量价格($/GB)免费额度/月
AWS(前100GB)$0.09100GB(首年)
AWS(100GB-1TB)$0.085
Azure$0.08715GB 免费
谷歌云$0.085~$0.12100GB/月(f1-micro)
阿里云(国内)¥0.80/GB
腾讯云(国内)¥0.80/GB
DigitalOcean$0.01/GB(超出后)1TB~5TB(含在套餐内)
Vultr$0.01/GB(超出后)1TB~4TB(含在套餐内)
Hetzner€0.007/GB10TB~20TB(含在套餐内)

💡 关键发现:Hetzner 的超出流量仅 €0.007/GB,是 AWS 的 1/12!这也是为什么海外自托管社区强烈推荐 Hetzner 的原因之一。

二、7个带宽省钱实战技巧

技巧1:使用 CDN 缓存静态内容(省钱效果:★★★★★)

CDN(内容分发网络)是最有效的带宽省钱工具。原理很简单:边缘节点缓存静态资源后,用户请求直接从边缘返回,不再回源站消耗出站流量。

推荐方案:Cloudflare 免费计划

  • 完全免费,全球 330+ 节点
  • 自动缓存 CSS、JS、图片、字体
  • 开启后源站出站流量减少 60%~90%

配置方法(Nginx + Cloudflare):

# 在 Nginx 中设置缓存控制头
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
    expires 365d;
    add_header Cache-Control "public, immutable";
    add_header CDN-Cache-Status $upstream_cache_status;
}

然后在 Cloudflare Dashboard 中启用 “Caching → Cache Level: Standard” 即可。

技巧2:选择带宽友好的云厂商(省钱效果:★★★★)

同样是 10TB 出站流量,不同厂商的成本天差地别:

# AWS: 100GB $0.09 + 900GB × $0.085 = $85.65
# Hetzner: 10TB 内免费,超出后 €0.007/GB
# DigitalOcean: 大多套餐含 2-4TB 流量

推荐优先级

  1. Hetzner — 10TB 免费流量,超额仅 €0.007/GB
  2. DigitalOcean $12/月以上方案 — 含 2-4TB 流量
  3. BuyVM — €0.005/GB 超额流量,卢森堡节点速度快

技巧3:对象存储全部搬上 Cloudflare R2(省钱效果:★★★☆)

Cloudflare R2 的杀手锏是零出站流量费(Zero Egress Fees):

特性AWS S3Cloudflare R2
存储(1TB)$23/月$15/月
出站流量(1TB)$90$0
A 类操作(10万次)$0.05$0.45
B 类操作(100万次)$0.004$0.0036
# 使用 rclone 将 S3 数据迁移到 R2
rclone copy s3:my-bucket r2:my-bucket \
    --progress \
    --multi-thread-streams 8

技巧4:开启 Gzip/Brotli 压缩(省钱效果:★★★)

压缩可以减少 70% 的传输数据量。几乎所有 Web 服务器都支持:

# Nginx Brotli 压缩配置
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript \
            application/xml application/xml+rss text/javascript image/svg+xml;

# gzip 作为 fallback
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript;

技巧5:图片自动压缩 + WebP/AVIF 格式转换(省钱效果:★★★★)

图片通常是带宽消耗的第一名。使用图片压缩工具能显著减少传输量:

# 安装 sharp 或 imagemin 批量处理现有图片
npm install -g sharp-cli

# 批量转换 PNG 为 WebP(体积减少 60%+)
sharp -i ./images/*.png -o ./webp/ --format webp --quality 80

或者使用 Nginx 的 ngx_http_image_filter_module 动态缩放:

location /images/ {
    image_filter resize 800 600;
    image_filter_jpeg_quality 80;
}

技巧6:使用反向代理共享带宽池(省钱效果:★★★☆)

如果您有多个服务部署在同一台 VPS 上,使用反向代理统一入口,可以减少 TLS 握手和重复的连接开销:

# Docker Compose 示例:使用 Nginx Proxy Manager
version: '3'
services:
  nginx:
    image: jc21/nginx-proxy-manager:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

通过统一的反向代理,您还可以方便地在全局配置 CDN 和缓存规则。

技巧7:架构迁移——把数据库放到与 App 同一区域(省钱效果:★★☆)

跨区域流量收费很高。确保您的数据库和应用程序在同一个数据中心

# 错误做法:DB 和 App 跨区域
# App: 新加坡 | DB: 美西 → 跨区域流量费

# 正确做法:同区域部署
# App: 新加坡 | DB: 新加坡 → 内网通信免费

AWS 跨区域数据传输费高达 $0.02~$0.09/GB,而同区域 AZ 间通信仅 $0.01/GB

三、实际省钱案例

案例:一个日活 5000 的图片分享站

优化前(仅使用 AWS EC2):

项目费用
EC2 (t3.medium)$30.14/月
出站流量(1.5TB)$135/月
S3 存储(500GB)$12.50/月
S3 出站流量$45/月
总计$222.64/月

优化后(Hetzner + CDN + R2 + 图片压缩):

项目费用
Hetzner CX42 (4核/8GB)€8.85/月
Cloudflare CDN(免费)$0/月
出站流量(经CDN后仅200GB)€1.40/月
R2 存储(500GB)$7.50/月
R2 出站流量$0/月
总计~$18/月

节省比例:92%!

四、总结与行动清单

优先级行动预计节省
🔴 高启用 CDN(Cloudflare 免费计划)60%~90%
🔴 高图片压缩 + WebP 转换40%~70%
🟡 中迁移到 Hetzner / BuyVM50%~80%
🟡 中将对象存储迁移到 R250%~100%
🟢 低启用 Brotli/Gzip 压缩20%~40%
🟢 低同区域部署减少跨区流量30%~50%

记住一个原则:数据出站前,先用 CDN 挡一道;数据落地前,先压缩再传输。

如果您还没有尝试 Cloudflare 免费 CDN 或 R2,今天就是最佳时机——前者免费省钱,后者能帮你省下所有的出站流量费。

下期预告:我们将对比各大云厂商的预留实例和 Spot 实例,教你如何再省 60%~80% 的计算费用。