1. 先做成本全景盘点(发现浪费)
步骤:1) 登录AWS控制台,打开“Cost Explorer”(成本探索)并选择新加坡(ap-southeast-1)区域;2) 在Cost Explorer设置时间范围为过去6-12个月,按服务(EC2、RDS、S3、Data Transfer)和标签分组;3) 使用“Cost & Usage Report”导出CSV,加载到Excel或QuickSight做趋势分析。小分段:a. 标记出现异常波动的服务;b. 列出未使用或低利用率实例ID和闲置EBS卷。
2. 实例右尺(Right-sizing)——实际步骤
步骤:1) 在EC2控制台启用“EC2 Instance Recommendations”(实例建议);2) 查看每个实例的CPU、内存和网络利用率(CloudWatch指标);3) 对低于20%平均CPU且没有内存瓶颈的实例,考虑降配或合并;4) 降配流程(控制台或CLI):停止实例 -> 创建AMI(可选) -> 修改实例类型 -> 启动并监测。小分段:提供CLI命令示例:aws ec2 stop-instances --instance-ids i-xxxx;aws ec2 modify-instance-attribute --instance-id i-xxxx --instance-type "{\"Value\":\"t3.medium\"}\";aws ec2 start-instances --instance-ids i-xxxx。
3. 利用预留实例/省钱计划(Savings Plans)降低长期成本
步骤:1) 在Cost Explorer使用“Reservation/RI utilization 和 coverage”报表,评估可承诺的占比;2) 如果稳定负载>30%-40%,优先购买Compute Savings Plan(比按量省);3) 购买流程:打开Billing -> Savings Plans -> Create Savings Plan -> 选择1年或3年、全预付款或部分;4) 购买前用Cost Explorer模拟节省比例。小分段:a. 对于数据库使用Reserved DB Instances;b. 购买后持续监控覆盖率。
4. 使用Spot实例与自动扩缩容(Auto Scaling)节省计算成本
步骤:1) 把非关键或可中断任务(批处理、CI/CD、容器事件)改用Spot实例;2) 在EC2控制台创建Spot Fleet或在Auto Scaling组中配置混合实例策略(On-Demand + Spot);3) 设置替换策略和健康检查,使用Lifecycle hooks平滑迁移。小分段:注意Spot会被中断,需实现任务可重试与检查点。
5. 存储优化:EBS、S3 和快照管理
步骤:1) 列出所有未挂载的EBS卷并删除(aws ec2 describe-volumes + filter);2) 对于久未变更的数据,启用S3生命周期,转入S3-Infrequent Access或Glacier(控制台 -> S3 -> 管理 -> 生命周期规则);3) EBS快照采用生命周期策略:保留最近N份,删除旧快照(使用Data Lifecycle Manager);4) 对于数据库备份使用增量快照或备份到更低成本介质。小分段:示例CLI:aws ec2 delete-volume --volume-id vol-xxxx。
6. 网络与流量成本控制(减少出站流量)
步骤:1) 使用CloudFront缓存静态内容,减少跨区域出站费用;2) 在VPC内使用接口端点(Interface/ Gateway Endpoint)来避免通过公网访问S3或DynamoDB;3) 压缩HTTP响应、合并请求、在应用层使用CDN。小分段:配置CloudFront时选择最近的边缘节点并启用缓存策略,控制台->CloudFront->Create Distribution。
7. 自动化关停/开机与调度,降低闲置成本
步骤:1) 为非工作时间的开发/测试实例设置自动关机:可用AWS Instance Scheduler或简单Lambda+CloudWatch Events;2) 示例Lambda流程:CloudWatch Event每天21:00触发 -> Lambda调用aws ec2 stop-instances;早上8:00触发start;3) 对于短期任务考虑使用Fargate或Lambda按用量计费替代长期实例。小分段:注意保留关键数据和测试脚本的恢复机制。
8. 成本监控告警与标签化治理
步骤:1) 强制启用资源标签策略(环境、项目、owner)并在IAM策略中要求;2) 在Billing中激活Cost Allocation Tags并等待数据生效;3) 在Budgets设置阈值告警(按项目或标签),超出自动通知或触发自动化脚本关停非关键资源。小分段:报警示例:预算阈值80%发送邮件,90%触发Slack通知并暂停新资源创建。
9. 运维最佳实务与审计(持续优化)
步骤:1) 定期(每月)运行Cost Explorer和Trusted Advisor检查节省建议;2) 对云架构进行权衡评审,将长周期成本(储存、数据库、带宽)纳入决策;3) 建立每季度的“账单回顾会”,把省钱成果纳入KPI。小分段:在Trusted Advisor中启用“Cost Optimization”检查并逐项跟踪整改。
10. 问:在新加坡(ap-southeast-1)区域购买Savings Plan有何注意点?
答:购买前用Cost Explorer按区域筛选过去12个月的Compute支出,确认新加坡为主要消费区;选择覆盖类型(EC2/Compute Savings Plan)和时长(1或3年),优先选择能覆盖跨实例族与跨可用区的Savings Plan;购买后持续监控覆盖率,必要时新增。
11. 问:如何安全删除不再使用的EBS卷与快照?
答:先在控制台或CLI确认卷状态为available且未挂载,备份必要数据后执行aws ec2 delete-volume --volume-id vol-xxx;快照使用aws ec2 delete-snapshot --snapshot-id snap-xxx或通过Data Lifecycle Manager设自动清理,确保IAM权限受限以避免误删。
12. 问:有哪些自动化策略能最快见效降低运维费用?
答:优先级建议:1) 启用自动关停开发/测试实例;2) 采用Spot替代非关键工作负载并设置Auto Scaling;3) 购买合适的Savings Plan/RI;4) 清理未使用资源(EBS、Elastic IP);这些措施结合可在1-2个月内显著下降账单。
来源:成本控制技巧教你降低亚马逊新加坡云服务器的长期运维费用