2026年云数据出口(Egress)费用优化实战指南:AWS/Azure/GCP三大平台省钱全攻略

数据出口费用通常占云账单的 6%–12%,可大多数团队连"我的 Egress 花在哪里"都答不上来。本指南拆解 2026 年 AWS/Azure/GCP 出口真实价格、NAT Gateway 等隐藏成本,并给出 10 种可立即落地的优化策略。

说实话,云数据出口(Data Egress / 数据传出)这笔钱,是公有云账单里最容易被忽视、也最难追踪的成本之一。我之前帮一家做视频处理的客户做 FinOps 复盘,光是这一项就占了月账单的 9% 左右——而他们的工程团队,居然之前从来没有专门看过这个数字。

CloudZero 2025 年的分析也印证了这一点:数据传输费通常占云账单的 6%–12%,但绝大多数 FinOps 团队连"我的 Egress 花在哪里"都说不上来。Cloudflare 甚至直接公开喊话,说三大云厂商把带宽成本溢价到了真实成本的 80 倍。听着夸张,算完账单你就懂了。

那么,这份指南基于 2026 年最新的价格数据,系统性地拆解 AWS、Azure、GCP 三大公有云的出口收费机制、那些藏得很深的"隐性出口费"陷阱,并给出 10 种可以立刻落地的优化策略——包括 EU 数据法案下的迁移豁免、CloudFront/R2/Wasabi 零出口费替代方案、Direct Connect 私连优化等等。

一、什么是云数据出口费用?

简单说,数据出口(Egress)就是指数据从云提供商的网络流出所产生的带宽费用。与之相反的入口(Ingress)流量,在三大公有云上几乎都是完全免费的——这并不是巧合,而是经典的"免费进、付费出"商业模式:把客户的数据吸引进来很容易,搬出去就得让你掏一笔不算小的钱。

常见的计费场景大致有这么几类:

  • 面向公网的下载:终端用户访问 S3/Blob/Cloud Storage 中的图片、视频、API 响应
  • 跨区域(Cross-Region)传输:比如 us-east-1 → eu-west-1 的灾备复制
  • 跨可用区(Cross-AZ)传输:同一 Region 内不同 AZ 之间的微服务互相调用
  • 跨云迁移:把数据从 AWS 搬到 GCP,或者干脆回迁本地数据中心
  • VPC 出口:经由 NAT Gateway 访问外部 API、包管理仓库(这条特别容易被忽略)

二、2026 年三大云出口价格对比

2.1 公网出口阶梯价(US East 区域)

提供商首阶梯价大流量价(50TB+)免费额度/月
AWS$0.09/GB(前 10 TB)$0.05/GB(150TB+)100 GB
Azure$0.087/GB(前 5 TB)$0.04/GB(50TB+)100 GB
GCP$0.12/GB(前 1 TB)$0.08/GB(10TB+)100 GB
Cloudflare R2$0.00/GB$0.00/GB无限
Wasabi$0.00/GB$0.00/GB无限
Backblaze B2$0.01/GB$0.01/GB3× 存储量免费

关键结论:AWS 在 2025 年底把所有 Region 的免费传出额度从 1 GB 提升到 100 GB/月,跟 Azure、GCP 拉齐了。听起来挺友好,但对真实生产负载来说,这点额度通常几个小时就被吃干净——所以别拿它当优化手段。

2.2 一个 10 TB/月 SaaS 应用的真实成本

# 以 10 TB/月 公网出口为例(US East)
AWS:           $912 / 月  ($10,944 / 年)
Azure:         $868 / 月  ($10,416 / 年)
GCP:           $1,221 / 月($14,652 / 年)
Backblaze B2:  $102 / 月  ($1,224 / 年)
Cloudflare R2: $0 / 月    ($0 / 年)

同一份"把数据交付给自己的用户"的需求,跑在 GCP 上一年要多花 $13,000+;而切换到 R2,则能省下差不多 $11,000。一行架构决策的成本差距,比很多团队的年度团建预算还大。

2.3 跨区域复制(Cross-Region Replication)

跨区域流量是出口费用里的"定时炸弹"——AWS 与 Azure 跨 Region 传输的单价是 $0.02/GB,GCP 大陆内大约 $0.02/GB,洲际更贵。

# 灾备场景:500 TB/月 跨美国区域复制
AWS  (us-east-1 ↔ us-west-2):  500,000 × $0.02 = $10,000 / 月 = $120,000 / 年
GCP  (us-central1 ↔ us-east1): 500,000 × $0.01 = $5,000 / 月  = $60,000 / 年
差异:仅"选择哪家做灾备"一个架构决策,每年差距 $60,000+

三、最容易踩坑的 7 类隐藏出口费

3.1 NAT Gateway 数据处理费

除了正常的 Egress 单价,NAT Gateway 还要再额外收 $0.045/GB 的数据处理费。一条 SQL 镜像下载、一个微服务通过 NAT 调第三方 API,都可能让你以接近双倍的价格付费(而你看账单的时候,可能压根没意识到)。

# 修复方案:为常用 AWS 服务启用 VPC Endpoint(Gateway 类型免费)
aws ec2 create-vpc-endpoint \
    --vpc-id vpc-0abc123 \
    --service-name com.amazonaws.us-east-1.s3 \
    --route-table-ids rtb-0xyz789

# 验证:流量应转为 VPC 内部,不再经过 NAT
aws ec2 describe-vpc-endpoints --filters Name=vpc-id,Values=vpc-0abc123

3.2 跨可用区调用(Cross-AZ)

同一 Region 内、不同 AZ 之间的流量,按 $0.01/GB 双向计费(出 + 入都算)。一个微服务架构如果没做 AZ 亲和(zone-aware routing),所有调用都可能"随机跨 AZ"——账单可以无声膨胀 30%。

3.3 公网 IP 与 IPv4 地址费

从 2024 年起,AWS 对所有 公网 IPv4 地址都开始按 $0.005/小时(约 $3.6/月/地址)收钱,不管你用没用它。一个有 200 个公网 IP 的环境每个月白白浪费 $720

3.4 跨账户 / 跨组织传输

把数据从主账户的 S3 传到子账户的 EC2,即使两个账户在同一 Region,也算出口。Organizations 模式下的中央日志收集,是经典的踩坑场景。

3.5 S3 跨区域复制(CRR)

开启 CRR 之后,每个对象的复制都按标准 Egress 计费。10 TB/月 us-east-1 → eu-west-1 的复制大概 $900/月——并且这种东西最容易"开了就忘"。

3.6 监控与日志的回传

把 CloudWatch Logs 通过 Subscription Filter 推到外部 SIEM(Splunk/Datadog)这类操作会产生大量出口流量;建议先在 Region 内聚合,再以压缩批次发出。

3.7 容器镜像拉取

从 Docker Hub / GitHub Container Registry 拉镜像走 NAT,每次 Pod 启动都在烧钱。改成 ECR/ACR/GAR 这类 Region 内私有镜像源,能直接把这条线消掉。

四、10 种实战出口费用优化策略

4.1 把面向公网的流量挪到 CDN 后面

S3 → 用户 直接出口大约 $0.09/GB;S3 → CloudFront → 用户 实测可降到 $0.02–$0.05/GB,而且 S3 → CloudFront 那一段流量是完全免费的。一般能省下 40%–60% 的对外流量费——属于"动几行 Terraform 就回本"的那种改造。

# Terraform:把 S3 桶套上 CloudFront
resource "aws_cloudfront_distribution" "site" {
  origin {
    domain_name = aws_s3_bucket.assets.bucket_regional_domain_name
    origin_id   = "s3-assets"
    s3_origin_config {
      origin_access_identity = aws_cloudfront_origin_access_identity.oai.cloudfront_access_identity_path
    }
  }

  enabled             = true
  default_root_object = "index.html"

  default_cache_behavior {
    target_origin_id       = "s3-assets"
    viewer_protocol_policy = "redirect-to-https"
    allowed_methods        = ["GET", "HEAD"]
    cached_methods         = ["GET", "HEAD"]
    compress               = true   # 自动 gzip/br,可再降 20%-40% 流量
    min_ttl                = 0
    default_ttl            = 86400
    max_ttl                = 31536000
    forwarded_values {
      query_string = false
      cookies { forward = "none" }
    }
  }

  price_class = "PriceClass_100"  # 仅北美/欧洲,进一步降单价
  restrictions { geo_restriction { restriction_type = "none" } }
  viewer_certificate { cloudfront_default_certificate = true }
}

4.2 启用 VPC Gateway Endpoint(S3 / DynamoDB)

Gateway 类型 Endpoint 完全免费,可以消除 S3 / DynamoDB 经由 NAT Gateway 的全部数据处理费。坦白说,这是几乎所有 AWS 用户都该立刻去做的一项改动,零成本零风险。

4.3 利用 Direct Connect / ExpressRoute / Cloud Interconnect

对于大于 10 GB/月的稳定专线流量,专线价格通常是 $0.02–$0.03/GB,比公网出口低 60% 以上,延迟还更低。混合云架构基本上必选。

4.4 启用压缩与协议优化

对 JSON/HTML/JS 启用 Brotli / gzip 压缩,平均流量能下降 20%–40%。HTTP/2、HTTP/3(QUIC)的多路复用还能减少重复 header 的体积。

# Nginx:启用 Brotli + gzip 双压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;
gzip_min_length 1024;

brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml;

4.5 应用层缓存与边缘计算

用 Redis/Memcached 缓存热点查询,配合 Cloudflare Workers / Lambda@Edge 在边缘直接返回响应,尽量避免回源。这套组合能减少 30%–50% 的源站出口。

4.6 切换到零出口费对象存储

对外提供下载的存量数据(用户上传、备份、ML 数据集),可以考虑迁到 Cloudflare R2 或 Wasabi。R2 提供 S3 兼容 API,迁移的代码改动一般就是替换一下 endpoint:

# Python boto3 切换到 R2 仅需改 endpoint_url
import boto3

r2 = boto3.client(
    's3',
    endpoint_url='https://<account-id>.r2.cloudflarestorage.com',
    aws_access_key_id='YOUR_R2_KEY',
    aws_secret_access_key='YOUR_R2_SECRET',
    region_name='auto',
)

# 接下来的 API 与 S3 完全一致
r2.put_object(Bucket='assets', Key='hello.txt', Body=b'hi')

4.7 利用 EU 数据法案下的迁移免费政策

响应欧盟《数据法案》(Data Act),AWS、Azure、GCP 在 2024 年都宣布对"完整搬出云"的客户免除出口费。如果你正在评估跨云迁移、或者部分回迁本地,一定要先去申请这项豁免——单次能省下几千到几百万美元不等。

注意一点:这个豁免只适用于"完全终止使用某项服务"的迁移,常规业务出口不在范围内。要走 AWS Support 工单单独申请(其他云类似)。

4.8 区域亲和(Same-AZ Routing)

用 EKS Topology Aware Routing、Istio LocalityLBSetting、ALB 的 zonal shift 等机制,让微服务优先去调用同一 AZ 里的副本。一个标准三 AZ 集群跑下来,能减少 约 67% 的跨 AZ 流量。

# Kubernetes Service:启用 Topology Aware Routing
apiVersion: v1
kind: Service
metadata:
  name: payment-svc
  annotations:
    service.kubernetes.io/topology-mode: Auto   # 1.27+ 推荐
spec:
  selector:
    app: payment
  ports:
    - port: 80

4.9 用 GCP 的"同区域 GCS → GCE 免费"特性

GCP 有一个不太常被提及的优势:同 Region 内 Cloud Storage → Compute Engine 完全免费。对于 ML 训练、批量分析这类要从对象存储读大量数据到计算节点的场景,这一条等于直接抹掉了一笔常态化的开销。AWS 上同样路径(S3 → EC2 in same Region)虽然不收公网出口费,但 NAT/PrivateLink 的路径还是可能收数据处理费——所以 PoC 阶段值得拿 GCP 跟 AWS 对比一下。

4.10 持续监控:建立 Egress 可观测性

用 AWS Cost Explorer 按 UsageType 维度过滤包含 DataTransfer-Out-BytesNatGateway-Bytes 的项目,再按 Tag 拆分到团队/服务层级。我个人的习惯是每周让 Cron 自动出一份"Top 10 Egress 服务"报告丢到 Slack——人盯着不靠谱,但每周一封邮件你总会瞄两眼。

# AWS CLI:拉取过去 30 天的数据传出成本,按服务拆分
aws ce get-cost-and-usage \
  --time-period Start=2026-04-01,End=2026-05-01 \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --filter '{"Dimensions": {"Key": "USAGE_TYPE_GROUP", "Values": ["EC2: Data Transfer - Internet (Out)"]}}' \
  --group-by Type=DIMENSION,Key=SERVICE

五、决策树:什么时候用什么策略

  • 对外公开静态资源(图片/视频/JS/CSS)→ CDN(CloudFront/Cloud CDN/Azure CDN)
  • 面向终端用户的大文件下载(安装包、ML 模型)→ Cloudflare R2 / Wasabi
  • VPC 内访问 S3/DynamoDB → VPC Gateway Endpoint(必做,免费)
  • 本地数据中心 ↔ 云之间稳定 >10GB/月 → Direct Connect / ExpressRoute
  • 跨 AZ 微服务调用 → Topology Aware Routing + Service Mesh
  • 跨 Region 灾备 → 重新评估 RPO;选 GCP 的洲内复制通常更划算
  • 整体迁出某云 → 申请 EU Data Act 出口费豁免

六、可立即执行的检查清单

  1. 在 AWS Cost Explorer 按 USAGE_TYPE_GROUP = "Data Transfer" 过滤本月账单,识别 Top 5 来源
  2. 检查所有 VPC 是否启用了 S3 / DynamoDB Gateway Endpoint(无成本,立即生效)
  3. 对所有面向公网的 S3/Blob 桶接入 CDN,并启用 Brotli/gzip
  4. 审计 NAT Gateway 流量来源——容器镜像拉取、第三方 API 调用是不是可以走私有路径
  5. 检查 S3 Cross-Region Replication 是不是还有"开了就忘"的桶
  6. 清理未使用的 Elastic IP、公网 IPv4 地址
  7. 对超过 5 TB/月的对外流量,评估迁到 R2/Wasabi 的可行性
  8. 每个季度复查跨 AZ / 跨 Region 流量趋势;预算偏差超过 20% 直接触发告警

七、常见问题 FAQ

Q1:数据上传(Ingress)会收费吗?

AWS、Azure、GCP 三大公有云的入口流量全部免费。但要注意:上传到 S3 之后再"读出来"做处理(比如 Athena 查询、Glue ETL)是会按出口、或者服务自身的数据处理费收的。免费只针对"网络入口"这一阶段,别误解了。

Q2:CloudFront 的流量也算 S3 出口费吗?

不算。S3 → CloudFront 之间的传输是完全免费的。你只需要支付 CloudFront 出向终端用户的那一段流量费——价格通常比 S3 直接出公网便宜 40%–60%。这是降低 S3 出口费最划算的单步操作,没有之一。

Q3:什么是 EU 数据法案的"出口费豁免"?我能用吗?

欧盟 2024 年正式实施的《Data Act》要求云厂商不得用出口费来阻碍客户切换提供商。AWS、Azure、GCP 据此对完全终止使用其服务、把数据搬到另一家云或本地的客户提供出口费豁免。这个政策面向全球客户(不只是欧盟),但仅适用于"彻底搬走"的场景,常规业务出口不在范围内。需要通过云厂商工单或客户经理申请。

Q4:跨 AZ 流量到底是不是出口?

从计费视角看,同 Region 跨 AZ 的流量按 $0.01/GB 双向计费(一来一回,总共 $0.02/GB)。它在账单上一般归到 RegionalDataTransfer 而不是 Egress,但实际效果是一样的——所以高吞吐微服务一定要做 AZ 亲和。

Q5:Cloudflare R2 是不是真的"零出口费"?背后的代价是什么?

R2 对所有公网出口确实是 $0/GB。它通过收较高的 Class A 写操作($4.5/百万次)和存储费($0.015/GB·月)来补这个口子。对读多写少、对外分发为主的负载(媒体、SaaS 资源、ML 数据集分发)非常划算;但对写入极频繁的场景(比如日志聚合),反而可能比 S3 还贵。建议先拿真实月度访问模式做一次 TCO 测算再决定迁不迁。

结语

云出口费用是一项"看不见才致命"的成本——它没有醒目的预算告警、也没有显式的资源标签,但每个月都在持续蚕食你的云账单。

2026 年的好消息是:CDN 价格更低了、零出口费替代方案趋于成熟、监管层面的迁移豁免也终于落地。先拿本指南的检查清单做一次出口费体检,把那些"低垂的果实"(VPC Endpoint、CDN、压缩、AZ 亲和)摘完,往往就能把出口费砍掉一半以上。剩下那一半,就是真正考验架构功力的部分了。

关于作者 Editorial Team

Our team of expert writers and editors.