1. FinOps与AWS成本治理全景

在云上,成本不是一个财务月末才出现的数字,而是由每一次架构决策、每一次实例选型、每一次自动扩缩容动作持续“生成”的结果。FinOps(Cloud Financial Management)正是为这种动态成本而生的运营框架:它把工程、财务、业务三方拉到同一张桌子上,用数据驱动的方式让云支出与业务价值对齐。理解 FinOps,不能只把它当成“省钱”,而要把它看成一套持续运转的治理机制——谁在花、花在哪、为什么花、值不值得花。

FinOps 的三条核心原则

FinOps 基金会将其原则提炼为若干条,落到 AWS 场景中,最关键的可以归纳为三条。

  • 协作:成本责任不能只压在财务或某个“云成本专员”身上。研发团队要对自己创建的资源负责,财务要提供预算与核算口径,业务方要说明价值预期。AWS 的标签(Tag)、成本分配标签(Cost Allocation Tag)和账户结构,就是协作的落地载体。
  • 责任归属:每一笔可归因的成本都应有明确的 Owner。例如通过 CostCenter、Project、Environment 三类标签,把 EC2、RDS、S3 的账单拆分到具体团队。没有归属,优化就无从谈起。
  • 价值驱动:不是所有成本都要压到最低。生产环境的冗余是为可用性付费,开发环境的闲置才是浪费。FinOps 追求的是“单位业务价值的成本最优”,而不是绝对金额最小。

这三条原则决定了后续所有治理动作的边界:先能看见,再能归属,最后才能优化。

AWS 计费模型:成本从哪里来

AWS 的计费模型可以概括为“按需计量、多维计价、折扣叠加”。理解它,才能读懂 Cost Explorer 里的曲线。

以最常见的几类资源为例:EC2 按实例规格与运行时长计费,On-Demand 单价最高,Savings Plans 和 Reserved Instances 通过承诺用量换取折扣;S3 按存储容量、请求次数和数据传输量分别计费;RDS 则同时计费实例、存储和备份。网络出口(Data Transfer Out)常常是被忽视的成本项,跨 AZ 流量、NAT Gateway 处理费都属于此类。

此外,AWS 账单还包含几个容易混淆的概念:Blended Cost(混合成本,按账户内平均折扣计算)与 Unblended Cost(未混合成本,按实际费率计算);Amortized Cost(摊销成本,把预付费用摊到使用周期)。做成本分析时,通常以 Unblended 或 Amortized 为准,避免折扣被平均后失真。

教学示例:假设某团队运行 3 台 m5.large(On-Demand 约 0.096 USD/小时),每月约 720 小时,则 EC2 基础成本约为 3 × 0.096 × 720 ≈ 207 USD。若购买 1 年期 Compute Savings Plan 覆盖 70% 用量,按示例折扣 30% 估算,可节省约 43 USD/月。以上为教学假设,非实际报价。

成本与容量治理的关系

成本治理和容量治理是一枚硬币的两面。容量不足会导致性能下降甚至故障,容量过剩则直接转化为账单浪费。FinOps 的视角下,容量治理要回答三个问题:当前利用率是多少?业务增长后需要多少?用哪种采购方式(On-Demand、Spot、Savings Plans)承接?

例如,一台 EC2 的 CPU 平均利用率长期低于 10%,可能是规格过大;若峰值利用率接近 100% 且伴随排队,则可能是容量不足。前者对应 Rightsizing(合理调整规格),后者对应扩容或引入 Auto Scaling。两者都需要以 CloudWatch 指标为依据,而不是凭感觉。

FinOps 治理闭环:从账单到决策 数据来源 AWS 账单 / CUR Cost & Usage Report Cost Explorer 按服务/标签/账户 CloudWatch 指标 CPU / 内存 / 网络 标签与账户结构 CostCenter / Project 治理动作 成本可见性:标签覆盖率检查 目标:标签覆盖率 ≥ 90% 归属与分摊:按团队出账 共享成本按用量比例分摊 优化:Rightsizing / 采购策略 SP / RI / Spot / 自动扩缩 预算与告警:AWS Budgets 阈值触发 SNS 通知 复盘:月度成本评审会 偏差 > 10% 需说明原因 业务结果 单位成本下降 每万次请求成本 容量匹配业务 峰值不崩、闲时不浪费 预算可预测 偏差可控、提前预警 持续反馈:优化结果回流到数据来源,进入下一轮治理

上图展示了 FinOps 在 AWS 上的治理闭环:左侧是数据来源,中间是治理动作,右侧是业务结果,底部虚线表示持续反馈。它强调一个事实——成本治理不是一次性项目,而是“看见 → 归属 → 优化 → 复盘 → 再看见”的循环。

课程实战项目介绍

本课程将围绕一个贯穿始终的实战项目展开:“某电商平台的 AWS 成本与容量治理”。项目背景设定如下(教学假设):

  • 业务形态:一个中等规模电商平台,包含 Web 前端、订单服务、商品服务、MySQL 数据库和对象存储。
  • AWS 资源:约 40 台 EC2(混合 On-Demand 与 Savings Plans)、2 个 RDS MySQL 实例、若干 S3 桶、1 个 NAT Gateway、ELB 与 CloudFront。
  • 月度账单:约 12,000 USD,其中 EC2 占 55%,RDS 占 20%,S3 与数据传输占 15%,其余为监控、日志等服务。
  • 初始问题:标签覆盖率仅 60%,开发环境夜间闲置,部分实例 CPU 利用率长期低于 8%,缺少预算告警。

课程将按阶段推进:先建立成本可见性(补齐标签、启用 CUR、配置 Cost Explorer 视图),再做归属与分摊(按团队和项目出账),接着执行优化(Rightsizing、Savings Plans 覆盖分析、S3 生命周期策略、开发环境定时关机),最后建立预算告警与月度评审机制。每个阶段都会给出具体的 AWS 操作路径、示例参数和判断依据。

本课程的目标不是让你记住某个按钮在哪,而是让你具备三种能力:

  1. 能读懂 AWS 账单与 Cost Explorer,定位成本异常来源;
  2. 能基于 CloudWatch 指标做出容量与采购决策;
  3. 能设计一套可持续运行的 FinOps 治理流程,并推动团队执行。

接下来的章节会逐步展开这些能力。你现在只需要建立一个认知:在 AWS 上,成本是架构的函数,容量是业务的映射,而 FinOps 是把两者对齐的运营方法。