AWS使用日志7--使用Data Exports生成cost报告

背景

finance团队每个月需要在AWS上下载billing的csv,但是从11月开始,Download all to CSV这个功能就要下线了,AWS官方推荐使用Data Exports功能生成每个月的csv文件并且保存在S3中

费用

这个功能本身是不要钱的,但是由于需要保存文件到S3中,所以会产生一些间接的费用包括

  • S3的存储和流量费
  • 如果用Athena进行查询的话,Athena需要付费
    其他没什么费用问题

实践与说明

导出类型

AWS现在的账单导出体系有三种类型

类型 名称(英文) 核心目标
1️⃣ Standard data export 现代化、灵活、适合 BI / ETL / 分析系统
2️⃣ Cost and usage dashboard (QuickSight) 一键部署可视化看板
3️⃣ Legacy CUR export 旧版导出方式(即你之前说的 “eCSV 报表”)

总结对比

功能点 Standard Data Export Cost & Usage Dashboard Legacy CUR Export
技术底层 CUR 2.0 (SQL-based) CUR 2.0 + QuickSight Legacy CUR (旧)
可定制列 ✅ 可自选列 / 过滤 ❌ 固定模板 ❌ 固定所有列
输出格式 Parquet / CSV Parquet CSV.gz / Parquet
输出目标 S3 S3 + QuickSight S3
Athena 查询 ✅ 直接支持 ❌ 不支持 ✅ 支持
可视化 自行构建 (BI 工具) ✅ 预制看板 自行构建
成本趋势 ✅ 支持 ✅ 支持 ✅ 支持
推荐程度 ⭐⭐⭐⭐(新架构) ⭐⭐(快速展示) ⭐(兼容旧系统)

表内容设定

⚠️限定Standard data export才有的设定

首先我们会看到四个类型,这是每个类型对应的应用场景

场景 推荐表
成本分析/预算 CUR 2.0
成本优化 Cost Optimization Recommendations
多云/FinOps 标准化 FOCUS 1.0 with AWS columns
ESG/可持续发展报告 Carbon Emissions

这是每一个类型的报告所包含的时间范围

选择 每日文件内容包含的时间范围
CUR 2.0 当月1号到当天(累积数据)
FOCUS 1.0 当月1号到当天(累积数据)
Cost Optimization Recommendations 当天快照
Carbon Emissions 当月或上月累计数据(更新频率低)

文件类型

目标 推荐配置
想下载 CSV 文件查看 Format: CSV + Compression: GZIP
想用 Athena 查询 Format: Parquet(性能更好,费用更低)
想兼容旧脚本或账单系统 选 GZIP(即旧的 eCSV 替代)

⚠️ 文件类型今后不可修改,如果想要改格式就要重新创建一个新的export才行

导出格式

目标 推荐配置
想下载 CSV 文件查看 Format: CSV + Compression: GZIP
想用 Athena 查询 Format: Parquet(性能更好,费用更低)
想兼容旧脚本或账单系统 选 GZIP(即旧的 eCSV 替代)

文件版本控制

这里其实有两个选项,一个是每次都创建新文件,一个是在之前的文件上更新
个人认为不管什么情况,在之前的文档上更新就好啦

选项 实际结果 是否有额外信息 存储成本
Overwrite existing data export file 每天保留最新的完整月度文件 ❌ 没有 💰低
Create new data export file 每天多生成一份几乎重复的文件 ❌ 没有(仅文件名不同) 💰高

🧠 什么时候 Create new data export file 才有意义:

  • 希望保留每日快照,用于追踪计费修正变化
    • AWS 有时会回补或调整前几天的账单(例如退款、Savings Plan 抵扣重算)。
    • 如果你想研究 “AWS 账单每日波动”,那么保留每日报告会有价值。
  • 自动化系统需要检测“新增文件”来触发任务
    • 例如,用 Lambda 检测新对象上传 → 自动执行 Athena 查询 / Glue ETL。
    • 如果你用 Overwrite 模式,新文件 key 不变,S3 事件触发会更麻烦。
  • 多租户或审计需求
    • 某些企业合规场景要求“账单原始版本留存”,不能覆盖旧数据。

目标S3配置

报告查看

当你配置完export之后,需要24小时才能生成第一份报告,会在顶部告知你

24小时后,就可以去对应的S3 Bucket查看到report啦