AWS Cost Optimization 是一个面向 AWS 的 FinOps 成本优化技能,目标是在不牺牲可靠性与性能的前提下,通过实际可执行的控制手段降低 AWS 支出。
一、用途 该技能适用于以下场景:月度 AWS 账单意外飙升或超出预算阈值;准备与工程团队、财务团队进行成本评审;在负载测试后对 EC2、RDS、EKS 或 Lambda 工作负载进行规格调整;在 Savings Plans、预留实例(Reserved Instances)与按需定价之间做选择;设置自动预算告警与异常检测;清理未使用资源(未挂载的 EBS、空闲负载均衡器、旧快照);优化跨区域与跨可用区的数据传输成本。
二、前提条件 使用该技能需要:已安装并配置 AWS CLI v2(aws configure);具备 IAM 权限,包括 ce:、budgets:、ec2:Describe*、cloudwatch:PutMetricAlarm、s3:PutLifecycleConfiguration;在 AWS 账单控制台启用 Cost Explorer(需约 24 小时填充数据);在账单控制台激活成本分配标签。
三、成本评审工作流 技能给出的评审流程为:为每个资源按团队、服务、环境和成本中心打标签;启用 Cost Explorer 并激活成本与用量报告(CUR)输出到 S3;按服务、账户和标签识别主要支出驱动项;依据 CloudWatch 指标对利用率不足的计算与存储进行规格调整;对稳定基线用量应用承诺折扣(Savings Plans 或 RI);设置预算、异常告警并构建 KPI 仪表盘;按月评审并迭代。
四、主要能力
- Cost Explorer 命令行查询:获取按服务分组的最近 30 天成本与用量、未来 30 天成本预测、按标签分组的成本、EC2 规格调整建议、Savings Plans 购买建议、Savings Plans 与预留实例利用率等。
- 预算与告警:创建月度成本预算并在 80% 和 100% 阈值发送邮件通知;列出所有预算;启用全服务成本异常检测监控;创建异常订阅(影响超过 $50 时告警);创建 CloudWatch 计费告警(估算费用超过 $4000 时告警,需注意计费指标仅在 us-east-1 区域)。
- 查找并清理未使用资源:列出未挂载的 EBS 卷、超过 90 天的旧快照、未关联的弹性 IP、空闲负载均衡器,以及查看 RDS 实例利用率。
- S3 生命周期成本优化:应用分层生命周期策略,例如 30 天转 STANDARD_IA、90 天转 GLACIER、365 天转 DEEP_ARCHIVE,并处理非当前版本与未完成的分段上传。
- Terraform 示例:提供预算与 CloudWatch 计费告警的 IaC 配置示例。
- 非生产环境定时关机:通过 EventBridge + Lambda 停止标记为 Environment=dev 的实例,或将 dev ECS 服务夜间缩容到零。
五、使用方式 用户可通过 AWS CLI 执行技能中列出的命令,或在 Terraform 中引用其预算与告警示例。所有命令与配置示例均按原文保留,使用时需替换示例中的账户 ID、时间范围、邮箱地址与资源 ARN 等占位信息。
六、故障排查 技能列出了常见问题及原因与修复方式:Cost Explorer 返回空数据(CE 未启用或不足 24 小时);预算告警未触发(SNS 订阅未确认);规格调整无建议(用量数据不足,需等待 14 天);Savings Plans 利用率低(购买过多或工作负载变化);未挂载 EBS 未显示(查询了错误区域);计费告警从未触发(计费指标仅在 us-east-1);CUR 数据在 S3 中缺失(报告未配置或桶策略错误);基于标签的成本分配为空(标签未激活)。
七、相关技能 包括 aws-ec2(EC2 运维、规格与 Spot 实例)、aws-s3(S3 存储类别与生命周期控制)、aws-rds(RDS 实例规格与预留实例)、aws-lambda(Lambda 定价与并发调优)、terraform-aws(在 IaC 中固化成本护栏)。
八、限制 资料未提供该技能支持的 AWS 区域范围、具体定价、执行权限边界或自动化程度等更多信息,暂未提供。