本页为”支柱页(Pillar)”,系统汇总 AWS 成本优化核心方法论,并指向各专题深度文章。建议收藏并定期回看,内容将持续更新。
章节结构
- 成本优化方法论与治理框架(含 RACI、流程、数据基线)
- 计费与用量分析(CUR、Athena、维度拆解)
- 折扣与承诺策略(Savings Plans / Reserved Instances)
- 存储成本优化(S3 体系)
- 传输与加速成本(CloudFront 等)
- 监控、预警与自动化(预算、异常检测、执行)
- 组织级落地路线图(30/60/90 天)
- 常见问答(FAQ)
快速导航(Cluster)
- SP 专题合集:按服务覆盖、按账单金额段策略、区域/OS 差异
- RI 专题合集:Standard vs Convertible、交换策略
- S3 优化合集:Intelligent-Tiering 深潜、生命周期最佳实践
- CloudFront 优化:缓存键优化、Origin Shield
1. 成本优化方法论与治理框架
1.1 建立成本责任矩阵(RACI)
成本优化不是某个团队的单独职责,而是需要跨职能协作。基于 AWS51 服务过的 200+ 企业客户经验,以下是经过验证的责任划分:
| 活动 | FinOps 团队 | 工程团队 | 财务 | 管理层 |
|---|---|---|---|---|
| 成本可见性建设 | R/A | C | I | I |
| 预算制定与分配 | R | C | A | I |
| 承诺型折扣采购 | R | C | A | I |
| 资源规格优化 | C | R/A | I | I |
| 异常成本响应 | R | A | I | I |
| 季度成本复盘 | R | C | C | A |
R=执行者 A=负责人 C=咨询者 I=知会者
1.2 数据基线与标签策略
没有准确的成本归属,优化就是空中楼阁。标签(Tags)是实现成本分摊的基础设施:
必选标签(强制执行):
Environment:prod / staging / dev / sandboxProject:项目或产品线标识Owner:责任团队或负责人邮箱CostCenter:财务成本中心编码
推荐标签(按需启用):
Application:应用名称Compliance:合规要求(PCI/HIPAA/SOC2)DataClassification:数据敏感级别
通过 AWS Organizations 的标签策略(Tag Policies)可强制要求特定标签,未打标签的资源将在 Cost Explorer 中归入 “Untagged” 类别,便于追踪治理进度。
1.3 OU 结构设计原则
组织单元(OU)结构直接影响成本汇总与策略下发的效率。推荐采用混合式设计:
Root ├── Security OU(安全审计账户) ├── Infrastructure OU(共享服务:网络、日志、身份) ├── Workloads OU │ ├── Production OU │ ├── Non-Production OU │ └── Sandbox OU └── Suspended OU(待清理账户)
这种结构支持按环境维度聚合成本,同时便于对 Non-Production 环境实施更激进的节省策略(如自动停机、更小实例规格)。
2. 计费分析与数据产品
2.1 CUR 数据架构
Cost and Usage Report(CUR)是 AWS 成本分析的黄金数据源,粒度可达小时级、资源级。AWS51 建议的数据流水线架构:
CUR (S3 Parquet) → Glue Crawler → Athena → QuickSight
↓
自定义 SQL 分析
关键配置项:
- 格式选择 Parquet(相比 CSV 查询性能提升 10x+,存储成本降低 80%)
- 启用资源级 ID(Resource IDs)以支持单资源成本追踪
- 时间粒度选择 Hourly(支持峰谷分析和异常检测)
- 启用 Athena 集成自动创建表结构
2.2 高频分析 SQL 模板
按服务维度的月度成本趋势:
SELECT
line_item_product_code AS service,
DATE_TRUNC('month', line_item_usage_start_date) AS month,
SUM(line_item_unblended_cost) AS cost
FROM cur_database.cur_table
WHERE line_item_line_item_type = 'Usage'
GROUP BY 1, 2
ORDER BY 2 DESC, 3 DESC
识别未被 SP/RI 覆盖的 EC2 支出:
SELECT line_item_resource_id, product_instance_type, SUM(line_item_unblended_cost) AS on_demand_cost FROM cur_database.cur_table WHERE line_item_product_code = 'AmazonEC2' AND line_item_line_item_type = 'Usage' AND savings_plan_savings_plan_a_r_n = '' AND reservation_reservation_a_r_n = '' GROUP BY 1, 2 ORDER BY 3 DESC LIMIT 50
数据传输成本拆解:
SELECT product_from_location, product_to_location, line_item_operation, SUM(line_item_usage_amount) AS gb_transferred, SUM(line_item_unblended_cost) AS cost FROM cur_database.cur_table WHERE line_item_product_code = 'AWSDataTransfer' GROUP BY 1, 2, 3 ORDER BY 5 DESC
2.3 成本异常检测
AWS Cost Anomaly Detection 基于机器学习自动识别异常支出,但默认阈值可能过于敏感。AWS51 推荐配置:
- 按 AWS 服务维度创建监控器(而非单一账户维度)
- 设置最低异常金额阈值:$50/天(过滤噪音告警)
- 告警渠道接入 Slack/企业微信,确保 15 分钟内响应
3. 折扣与承诺策略(SP/RI)
3.1 Savings Plans vs Reserved Instances 选型
| 维度 | Savings Plans | Reserved Instances |
|---|---|---|
| 灵活性 | 高(自动应用于匹配用量) | 低(绑定特定属性) |
| 最大折扣 | ~72%(EC2 Instance SP) | ~72%(Standard 3年全预付) |
| 覆盖范围 | EC2/Fargate/Lambda/SageMaker | 仅 EC2/RDS/ElastiCache 等 |
| 管理复杂度 | 低 | 中-高 |
| 适用场景 | 多变工作负载、混合实例族 | 稳定负载、已知实例类型 |
AWS51 策略建议:
- 基线负载(P50 用量):优先使用 Compute Savings Plans,保留最大灵活性
- 稳定数据库:RDS Reserved Instances 仍是最优选择(SP 不覆盖 RDS)
- 可预测增长:分批次购买,每季度评估覆盖率并增购
3.2 承诺规模测算方法
避免过度承诺导致浪费,也避免承诺不足错失折扣。测算公式:
推荐 SP 承诺金额 = 过去 30 天 P70 On-Demand 等效用量 × 0.85
取 P70 而非平均值是为了覆盖日常波动,乘以 0.85 留出安全边际应对业务下滑。
分层承诺策略(适用于月账单 $10K+ 客户):
- 第一层(60%):3 年无预付 Compute SP — 最大灵活性
- 第二层(25%):1 年全预付 EC2 Instance SP — 更高折扣
- 第三层(15%):保留为 On-Demand — 应对峰值和实验性负载
3.3 RI 交换与到期管理
Convertible RI 支持交换至等值或更高价值的 RI,但操作有门槛:
- 交换后新 RI 总价值 ≥ 原 RI 剩余价值
- 可跨实例族、跨操作系统、跨租户类型交换
- 不可跨区域交换(需先退后买)
AWS51 提供 RI 到期提醒与交换规划服务,确保折扣连续性不中断。
4. 存储成本优化(S3 体系)
4.1 S3 存储类别选择矩阵
| 存储类别 | 访问频率 | 最低存储期 | 检索费用 | 典型场景 |
|---|---|---|---|---|
| S3 Standard | 频繁 | 无 | 无 | 热数据、Web 资源 |
| S3 Intelligent-Tiering | 不可预测 | 无 | 无 | 访问模式未知 |
| S3 Standard-IA | 月级 | 30 天 | $0.01/GB | 备份、日志归档 |
| S3 One Zone-IA | 月级 | 30 天 | $0.01/GB | 可重建数据 |
| S3 Glacier IR | 季度级 | 90 天 | $0.03/GB | 合规归档 |
| S3 Glacier Flexible | 年级 | 90 天 | 分钟-小时 | 长期归档 |
| S3 Glacier Deep Archive | 极少 | 180 天 | 12-48 小时 | 法规留存 |
4.2 生命周期策略模板
以下配置适用于日志类数据:
{
"Rules": [
{
"ID": "LogRetention",
"Status": "Enabled",
"Filter": {"Prefix": "logs/"},
"Transitions": [
{"Days": 30, "StorageClass": "STANDARD_IA"},
{"Days": 90, "StorageClass": "GLACIER_IR"},
{"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
],
"Expiration": {"Days": 2555}
}
]
}
4.3 请求成本优化
S3 按请求计费,高频小文件场景下请求费可能超过存储费。优化手段:
- 对象合并:将小文件打包为 tar/zip,配合 S3 Select 查询
- 列表优化:使用 S3 Inventory 替代 LIST API 扫描
- CloudFront 缓存:静态资源通过 CDN 分发,减少源站请求
5. 传输与加速成本(CloudFront)
5.1 数据传输费用构成
AWS 数据传输是隐性成本大户,计费规则复杂:
- 入站流量:免费(从互联网进入 AWS)
- 同区域传输:跨 AZ $0.01/GB,同 AZ 免费
- 跨区域传输:$0.02/GB(美国区域间)
- 出站到互联网:$0.09/GB 起(阶梯定价)
5.2 CloudFront 成本优化
缓存命中率提升:
- 合理配置 Cache Key(移除不必要的 Query String 和 Header)
- 启用 Origin Shield 减少回源请求
- 设置合适的 TTL(静态资源建议 86400 秒以上)
价格类别选择:
- Price Class 100:仅北美和欧洲边缘节点,成本最低
- Price Class 200:增加亚太、中东节点
- Price Class All:全球所有边缘节点
如果用户主要分布在特定区域,选择匹配的价格类别可节省 20-40% CDN 成本。
6. 监控、预警与自动化
6.1 预算告警配置
AWS Budgets 支持成本和用量双维度预算,推荐配置:
- 月度总预算:设置 80%/100%/120% 三级告警
- 服务级预算:对 Top 5 支出服务单独设置预算
- 账户级预算:每个业务账户独立预算,责任到团队
6.2 自动化执行脚本
非生产环境自动停机(Lambda + EventBridge):
import boto3
def lambda_handler(event, context):
ec2 = boto3.client('ec2')
# 查找带有 AutoStop=true 标签的运行中实例
response = ec2.describe_instances(
Filters=[
{'Name': 'tag:AutoStop', 'Values': ['true']},
{'Name': 'instance-state-name', 'Values': ['running']}
]
)
instance_ids = []
for reservation in response['Reservations']:
for instance in reservation['Instances']:
instance_ids.append(instance['InstanceId'])
if instance_ids:
ec2.stop_instances(InstanceIds=instance_ids)
return f'Stopped {len(instance_ids)} instances'
return 'No instances to stop'
配合 EventBridge 规则在每天 20:00 触发,周一至周五 08:00 启动,可节省非生产环境约 60% EC2 成本。
7. 组织级落地路线图(30/60/90 天)
第一阶段:可见性建设(Day 1-30)
| 周次 | 交付物 | 负责人 |
|---|---|---|
| Week 1 | 启用 CUR 并配置 Athena 集成 | FinOps |
| Week 2 | 完成标签策略设计与强制执行 | FinOps + Infra |
| Week 3 | 搭建 QuickSight 成本看板 | FinOps |
| Week 4 | 完成成本基线报告(服务/团队/环境) | FinOps |
里程碑:100% 资源可归属、成本数据 T+1 可见
第二阶段:快速收益(Day 31-60)
| 周次 | 交付物 | 预期节省 |
|---|---|---|
| Week 5-6 | 清理闲置资源(未挂载 EBS、闲置 EIP、过期快照) | 5-10% |
| Week 7 | 首批 Savings Plans 采购(覆盖 60% 基线) | 15-25% |
| Week 8 | S3 生命周期策略部署 | 10-20%(存储) |
里程碑:实现首个月 15%+ 成本下降
第三阶段:持续优化(Day 61-90)
| 周次 | 交付物 | 预期节省 |
|---|---|---|
| Week 9-10 | Rightsizing 执行(基于 Compute Optimizer 建议) | 10-30%(EC2) |
| Week 11 | 非生产环境自动调度上线 | 40-60%(非生产) |
| Week 12 | 季度复盘会议 + 下季度优化计划 | – |
里程碑:建立持续优化机制,总成本下降 25-40%
8. 常见问答(FAQ)
Q1: Savings Plans 购买后可以退款吗?
不可以。SP 一旦购买即生效且不可取消或退款。因此建议从保守的承诺金额开始,观察 1-2 个计费周期后再逐步增购。AWS51 提供承诺规模评估服务,帮助客户避免过度承诺。
Q2: 如何判断 Savings Plans 覆盖率是否合理?
在 Cost Explorer 的 Savings Plans Utilization 报告中,目标利用率应维持在 95% 以上。如果持续低于 90%,说明承诺过度;如果 On-Demand 支出仍占比超过 30%,则有增购空间。
Q3: 标签未打全怎么快速补救?
使用 AWS Resource Groups Tag Editor 批量补打标签。对于 EC2,可通过 instance-id 前缀、启动时间范围筛选后批量添加。建议同步配置 AWS Config 规则,对未来新建资源强制标签合规。
Q4: 数据传输成本占比过高怎么优化?
首先通过 CUR 分析传输方向(入/出/跨区域/跨 AZ),常见优化手段:
- 跨 AZ 流量:考虑单 AZ 部署非关键服务
- 跨区域流量:评估数据本地化或使用 S3 Transfer Acceleration
- 出站流量:CloudFront 缓存 + 合理 TTL
Q5: AWS51 能提供哪些成本优化服务?
AWS51 作为 AWS 核心分销商,提供:
- 成本诊断报告:基于 CUR 数据的深度分析,识别 Top 10 优化机会
- SP/RI 采购代理:最高可享额外 50% 折扣叠加
- FinOps 咨询:30/60/90 天落地陪跑
- 自动化工具部署:成本看板、异常告警、自动调度
联系 AWS51 技术顾问获取免费成本评估:Telegram @awscloud51
最后更新:2025年12月 | 作者:AWS51 FinOps 团队