凌晨两点,你的监控告警响了。不是服务宕机,是AWS账单突破了阈值。你扫了一眼明细:计算费用正常,存储费用正常,但"数据传输"那一栏的数字让你怀疑是不是小数点错了位置。

这不是故障。这是2026年多区域架构的默认代价。

打开网易新闻 查看精彩图片

账单黑洞:没人认领的第四类成本

多区域架构已成严肃SaaS的标配。灾备、延迟、数据主权——理由充分。但成本藏在"数据传输"和"跨区域流量"的条目下,零关注度。没有工程师像对计算或存储那样,对数据传输负有明确责任。

一家月支出20万美元的AWS多区域SaaS,仅数据传输就占3万到5万美元。大头是:有状态系统的可用区(AZ)之间复制、跨区域数据库只读副本、本该留在区域内的服务间调用。

计算团队优化计算。存储团队优化存储。数据传输账单持续增长,因为它卡在团队之间的缝隙里。

FinOps基金会将FinOps定义为"通过协调工程、财务和产品进行持续成本决策,为可变云支出带来财务问责的工程实践"。应用到数据传输,有四个杠杆:复制拓扑、服务部署位置、可观测性路由、端点覆盖。本文按典型影响顺序逐一拆解。

为什么这笔账单看不见

没有单一团队拥有数据传输。计算归运行服务的团队。存储归选择存储桶的团队。数据传输是上千个独立决策的结果:服务部署在哪、如何通信、复制策略是什么。没有单一所有者,优化就停滞。

账单有机增长。为合规增加一个区域,数据传输增加10%-20%。增加第三个微服务调用现有两个,跨越AZ边界。为新功能添加可观测性,每天向中心区域发送200GB。每个决策局部合理。聚合起来,成了没人能解释的条目。

当团队有指定的"平台"或"基础设施"所有者负责数据传输时,这种模式有效。但当数据传输被视为架构决策的涌现属性时,就会失效——因为等账单大到需要调查时,驱动它的架构选择早已根深蒂固。

云厂商的四层定价陷阱

AWS、GCP、Azure都采用四层模型。最小范围(单一AZ)内移动免费或接近免费。每向外一步——跨AZ、跨区域、跨公网——成本增加一个数量级。

同样的10TB月流量:AZ内0美元,跨AZ往返200美元,跨区域单向200美元,到公网900美元。服务部署位置和流量路径的架构决策,在相同字节上造成100倍成本差距。

有状态系统的跨AZ和跨区域复制是最大浪费类别。同步复制的多AZ Postgres或MySQL,每次写入的传输成本翻倍。全球服务的跨区域只读副本再次翻倍。

1TB写入工作负载在同步多AZ Postgres上,每月支付20美元跨AZ复制费用。添加跨区域只读副本再增加200美元。如果该副本是同步的,主区域再付200美元。一个1TB的写入变成了每月420美元的传输账单,而数据库本身可能只花150美元。

服务间调用是第二大类别。微服务架构默认服务可以互相调用。多区域部署下,这些调用跨越AZ和区域边界,而调用者不知情。

一个服务在us-east-1a,另一个在us-east-1b,每次往返调用产生0.02美元/GB成本。看起来很小。但每天1000万次调用,每次10KB,就是每月6万美元的跨AZ账单。如果调用跨越区域,成本再翻5倍。

FinOps的四个杠杆

复制拓扑是最大杠杆。有状态系统的默认配置——多AZ同步复制加跨区域只读副本——是成本灾难。每个决策都需重新审视:同步还是异步?副本是读取还是故障转移?数据是否必须实时一致?

异步复制将跨区域成本从每次写入的200美元降至批量传输的20美元。读取副本改为缓存层,成本从200美元降至50美元。最终一致性模型消除同步复制的跨AZ流量。

服务部署位置是第二大杠杆。服务部署的默认位置——最接近开发团队——在多区域架构下失效。服务应部署在数据所在位置,而非人员所在位置。

将调用模式从"服务A调用服务B"反转为"服务B向服务A推送",可将跨区域流量转为区域内批量传输。将聚合查询从"中央服务查询所有区域"改为"各区域预计算,中央合并结果",成本从线性增长变为对数增长。

可观测性路由是隐藏杠杆。日志、指标、追踪的默认配置——全部发送到中央区域——在多区域部署下产生巨额账单。200GB/天的日志流量跨两个区域,每月传输成本1.2万美元。

区域化可观测性栈——每个区域独立收集,仅聚合摘要跨区——将成本降至每月1200美元。采样和过滤在源头进行,而非传输后。追踪采用尾采样,仅保留异常请求的完整链路。

端点覆盖是最后杠杆。API网关和CDN的默认配置——单一全局端点——将所有流量路由到最近区域,然后跨区回调用源。这制造了本可避免的跨区域流量。

区域端点让客户端直连目标区域。智能DNS基于数据位置而非地理位置路由。边缘计算将计算推向数据,而非数据拉向计算。

组织陷阱:为什么知道却做不到

这些杠杆不复杂。复杂的是让组织使用它们。

数据传输成本没有单一所有者。平台团队认为是应用团队的服务调用决策。应用团队认为是平台团队的网络配置。财务团队看到账单时,工程团队已无法追溯原始决策。

FinOps实践要求三个条件:成本可见性(谁产生了什么)、成本可归因性(哪个决策驱动了成本)、成本可行动性(谁能改变决策)。数据传输在三项上都失败。

AWS Cost Explorer将数据传输归类为"EC2-其他"或"数据传输-区域间",无法映射到服务或团队。CloudWatch流量日志显示字节数,但不显示是哪个API调用产生的。架构图显示服务连接,但不显示调用频率或数据量。

归因需要手动工作:将VPC流日志与服务名称映射,将API调用与成本关联,将复制配置与流量模式匹配。大多数团队在第一步就放弃。

即使归因完成,行动性仍受限。改变复制拓扑需要数据库团队。改变服务部署需要平台团队。改变可观测性路由需要SRE团队。协调成本超过节省。

2026年的新默认

多区域架构的成本模型正在改变。AWS在2025年将跨区域传输价格下调40%,但仍比AZ内传输贵20倍。GCP推出"区域承诺"折扣,承诺90%流量留在区域内可获30%折扣。Azure将AZ内传输设为免费,但跨区域仍收费。

这些变化没有解决核心问题:成本是架构决策的涌现属性,而架构决策由不关心传输成本的团队做出。

领先公司正在建立新默认。平台团队拥有"数据传输预算",与应用团队的服务级别目标(SLO)绑定。超出预算的传输被阻止或收费。架构评审包含"传输影响评估",与延迟和可用性并列。成本异常检测专门针对传输模式,在账单生成前触发告警。

这些实践尚未标准化。FinOps基金会的2025年调查显示,仅12%的多区域SaaS有专门的数据传输优化计划。88%的公司仍在支付那笔没人认领的账单。

你的账单里藏着什么

回到凌晨两点的告警。你终于定位了问题:新功能的可观测性配置,每天向错误区域发送400GB日志。修复很简单——改个端点配置。但过去三个月的账单,已经付了。

更深层的问题是:为什么这个配置错误能进入生产?为什么没人审查传输路径?为什么告警在账单阈值而非流量异常时触发?

数据传输优化不是技术问题。是组织设计问题。是默认设置问题。是谁拥有什么的问题。

在你的组织里,如果有人现在问"我们的数据传输成本是多少,谁在优化它",能得到清晰答案吗?还是也会指向那个没人认领的缝隙?