1.
概述:新加坡机房(ap-southeast-1)定价构成
请先理解成本构成:计算(EC2/Containers/Lambda)、存储(S3/EBS/EFS)、数据库(RDS/Aurora)、网络(出/入流量、负载均衡、NAT)、管理与支持(CloudWatch、Support)。新加坡区域通常与其他亚太区价格相近但有细微差异,务必以控制台或定价 API 获取实时价格。
2.
第一步:开启账单与成本可视化基础设置
操作步骤:1) 在管理账号启用 AWS Organizations 并开启 Consolidated Billing;2) 在 Billing 控制台启用 Cost Explorer 与 Cost and Usage Report(CUR);3) 在 CUR 设置将报告存到 S3,启用按小时/资源细分并选择 Parquet/CSV 格式;4) 在 IAM 中为分析帐号开通只读权限(organizations、ce、cur、s3、athena)。
3.
第二步:打标签与成本归因(关键)
操作步骤:1) 定义统一成本标签策略(例:team, project, env, owner);2) 在资源创建模板(CloudFormation/Terraform)内强制标签;3) 在 Billing -> Cost allocation tags 中激活这些标签;4) 使用 Cost Explorer 按标签过滤并导出按月成本。
4.
第三步:量化当前成本与耗费热点
操作步骤:1) 在 Cost Explorer 选择 ap-southeast-1,按服务和标签细分过去 3-6 个月费用;2) 导出 CUR 到 S3 后,用 Athena 建表并运行 SQL 查询识别高耗费实例类型、未被使用资源(未挂载 EBS、闲置 RDS)及流量热点;示例 Athena 查询:SELECT product, usage_type, sum(unblended_cost) FROM cur_table WHERE line_item_usage_start_date BETWEEN '2026-01-01' AND '2026-03-31' GROUP BY product, usage_type ORDER BY sum DESC LIMIT 50;3) 标注最耗费的 10 项。
5.
第四步:计算与实例层面的优化策略
操作步骤:1) 运行 Compute Optimizer(在控制台启用)并获取实例/ASG/volume 的尺寸建议;2) 对于可中断负载切换到 Spot:使用 EC2 Spot 与 Capacity-optimized 策略或 Spot Fleets;3) 对稳定长期负载购买 Savings Plans(Compute 或 EC2 Instance)或 Reserved Instances:导出过去 12 个月用量并用 AWS Pricing Calculator 预测节省收益;4) 对于短期或测试环境,采用按需并使用自动关停脚本(例如 AWS Instance Scheduler 或 Lambda+EventBridge)。
6.
第五步:存储层成本优化(S3/EBS/EFS)
操作步骤:1) S3:启用 S3 Inventory 与 Intelligent-Tiering,设置生命周期规则将 30/60/90 天没访问对象转到 S3 IA 或 Glacier;2) EBS:将 gp2 升级为 gp3 并下调 IOPS/吞吐到匹配需求,删除未挂载卷并启用快照生命周期策略;3) EFS:启用 Lifecycle Transition 将冷数据转到 EFS Infrequent Access;4) 对大量小文件考虑合并或压缩以减少请求成本。
7.
第六步:数据库与缓存的成本技术
操作步骤:1) RDS:使用性能洞察(Performance Insights)找出 CPU/IO 利用率低的实例并降级或改用 Aurora Serverless;2) 对读密集型使用只读副本,并评估 Aurora 或 RDS 的 reserved pricing;3) 对缓存使用 ElastiCache,选择合适节点规格并启用自动备份/快照保留策略减少生命周期;4) 考虑用 Amazon RDS Proxy 降低连接数,从而减少横向扩容成本。
8.
第七步:网络与流量费用优化
操作步骤:1) 分析 CUR 中的 DataTransfer-Out 记录,定位到哪个服务/子网产生流量;2) 使用 VPC endpoints(Gateway/NLB)将 S3/ DynamoDB 流量留在 AWS 网络内;3) 合理设计跨可用区流量,减少不必要的跨可用区数据复制;4) 对外暴露服务使用 CloudFront,尽量缓存静态内容减少 LB/EC2 带宽。
9.
第八步:使用自动化与脚本减少人工失误
操作步骤:1) 编写 Terraform/CloudFormation 模板,强制执行标准化规格与标签;2) 使用 AWS CLI 与脚本定期检查未使用资源:示例命令 aws ec2 describe-volumes --filters Name=status,Values=available;3) 使用 Lambda + EventBridge 自动关停非工作时间的开发环境;4) 将所有变更纳入 CI/CD 并做审批。
10.
第九步:采购 RI / Savings Plans 的实操流程
操作步骤:1) 在 Cost Explorer 中查看 12 个月使用趋势并导出按实例族/区域的小时使用量;2) 选择购买 Savings Plans(更灵活)或 RI(针对固定实例族);3) 在控制台选择合适的承诺期限(1 年或 3 年),支付选项(全额、部分、按月),对比不同选项的净现值;4) 购买后在 CUR 中监控实际利用率,并在必要时调整弹性负载到被承诺的实例族以提升利用率。
11.
第十步:监控、告警与治理
操作步骤:1) 在 CloudWatch 设定关键资源(成本阈值、预算超支、低利用率)告警并连接 SNS 通知;2) 使用 AWS Budgets 设置成本和使用量阈值,配置邮件或 Lambda 自动响应(例如暂停新实例创建);3) 启用 Trusted Advisor 的成本优化检查并定期审查报告。
12.
第十一步:使用 CUR+Athena 做深度成本分析实例
操作步骤:1) 在 S3 存放 CUR 后,在 Athena 建表,字段映射到 CUR 列;2) 常用查询:按资源、按标签、按时段、按流量细分;3) 写自动化报告(Lambda 定时触发 Athena 查询并把 CSV 发到 Slack/Mail),示例 Athena 查询见第4段;4) 使用 QuickSight 做仪表盘展示关键 KPIs(每日成本、Top10 服务、预算差异)。
13.
第十二步:在新加坡区域的特殊注意点与实用技巧
操作步骤:1) 检查 ap-southeast-1 特定服务可用性(部分新服务先在 us-east-1 推出);2) 对于法规或延迟敏感业务优先选择本地区,量化成本差异后决定是否跨区部署;3) 对于 EKS/ECS,使用 Fargate 或自管理节点的成本对比并启用混合策略;4) 定期在定价页面或 pricing API 查询新加坡区最新单价。
14.
问:在新加坡机房最容易忽视导致费用高的项目是什么?
答:常见是未删除的快照/未挂载 EBS、未释放的弹性 IP、长期未下线的开发环境以及频繁的跨可用区/跨区数据传输。解决方法:启用快照生命周期、自动释放弹性 IP 的自动化脚本、对开发环境使用自动关停。
15.
问:购买 Savings Plans 与 Reserved Instances 在新加坡区域的选择建议是什么?
答:如果负载在计算类型上具有可预测性且会稳定运行,首选 Savings Plans(Compute Savings Plans 更灵活覆盖不同实例族);若工作负载长期固定在某个实例族且对节省最大化有要求,可选 Convertible/Standard RI。购买前用 Cost Explorer 导出过去 12 个月用量并做模拟对比。
16.
问:我如何用命令行快速找出新加坡区域的高成本 EC2 实例?
答:可按步骤操作:1) 确保已启用 CUR 并将报告放 S3;2) 在 Athena 建表并运行类似 SELECT resource_id, sum(unblended_cost) FROM cur_table WHERE line_item_region='ap-southeast-1' AND product='AmazonEC2' GROUP BY resource_id ORDER BY sum DESC LIMIT 50;3) 或使用 AWS CLI 调用 Cost Explorer:aws ce get-cost-and-usage --time-period Start=2026-03-01,End=2026-04-01 --granularity MONTHLY --filter file://filter.json --group-by Type=TAG,Key=env ,根据输出定位高成本资源。
来源:新加坡aws机房定价模型解析与成本优化技巧