AWS 成本优化:节省 30-50% 的云基础设施费用
平均组织将 32% 的云支出浪费在闲置或过度配置的资源上。 对于每月在 AWS 上花费 5,000 美元的公司来说,每年浪费 19,200 美元。云成本优化并不是偷工减料,而是只为实际使用的内容付费。
本指南涵盖了 AWS 成本降低策略的全部内容,从本月节省资金的快速成功到随着时间的推移增加节省的架构更改。
要点
- 通过将实例类型与实际资源使用情况相匹配,仅调整大小即可节省 20-40%
- 预留实例和节省计划为可预测的工作负载提供 30-60% 的折扣
- Spot 实例可将容错工作负载的计算成本降低 60-90%
- 存储生命周期策略可防止 S3 成本无限增长
成本优化框架
优先顺序
按此顺序进行优化,以最小的努力获得最大的投资回报率:
- 消除浪费(立即,无风险)
- 合适大小的实例(1-2 周,低风险)
- 使用定价模型(预留、现货、储蓄计划)
- 优化架构(数月,需要工程)
步骤 1:消除浪费
查找未使用的资源
# Find unattached EBS volumes (you are paying for storage with no use)
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[*].{ID:VolumeId,Size:Size,Type:VolumeType}' \
--output table
# Find unused Elastic IPs
aws ec2 describe-addresses \
--query 'Addresses[?AssociationId==null].{IP:PublicIp,AllocationId:AllocationId}' \
--output table
# Find idle load balancers (no targets)
aws elbv2 describe-target-groups \
--query 'TargetGroups[*].{ARN:TargetGroupArn,Name:TargetGroupName}' \
--output table
# Find stopped instances still consuming EBS
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=stopped \
--query 'Reservations[*].Instances[*].{ID:InstanceId,Type:InstanceType,StopTime:StateTransitionReason}' \
--output table
常见废物来源
| 废物来源 | 典型每月费用 | 修复 |
|---|---|---|
| 独立的 EBS 卷 | 每卷 10-100 美元 | 删除或快照并删除 |
| 使用 EBS 停止实例 | 每个实例 20-200 美元 | 终止或创建 AMI |
| 未使用的弹性 IP | 每个 3.60 美元 | 发布 |
| 旧快照 | 0.05 美元/GB | 生命周期政策 |
| 超大 NAT 网关 | 每个网关 32 美元以上 | 整合、使用 VPC 端点 |
| 空闲的RDS实例 | $50-500+ | 停止或终止开发实例 |
第 2 步:调整大小
分析实际使用情况
# Get average CPU utilization over the last 14 days
aws cloudwatch get-metric-statistics \
--namespace AWS/EC2 \
--metric-name CPUUtilization \
--dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
--start-time $(date -u -d '14 days ago' +%Y-%m-%dT%H:%M:%S) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%S) \
--period 3600 \
--statistics Average Maximum \
--output json
正确调整决策矩阵
| 平均 CPU | 峰值CPU | 行动 |
|---|---|---|
| <10% | <30% | 缩小 2 个步骤(例如,从大到中) |
| 10-30% | <60% | 缩小 1 步(例如,从大到大) |
| 30-60% | <80% | 目前尺寸合适 |
| >60% | >80% | 考虑扩大规模或自动缩放 |
实例类型优化
| 当前实例 | 尺寸合适 | 每月储蓄 |
|---|---|---|
| m5.xlarge(140 美元) | m5.large (70 美元) | 70 美元 (50%) |
| r5.2xlarge(365 美元) | r6g.xlarge (146 美元) | 219 美元 (60%) |
| t3.large ($60) | t3.medium (30 美元) | 30 美元 (50%) |
| c5.xlarge(124 美元) | c6g.large ($62) | 62 美元 (50%) |
迁移到 Graviton (ARM) 实例(r6g、c6g、m6g)可额外节省 20% 的成本,并且对大多数工作负载具有相同或更好的性能。
步骤 3:定价模型
预留实例与储蓄计划
| 特色 | 预留实例 | 计算储蓄计划 | EC2 储蓄计划 |
|---|---|---|---|
| 折扣 | 30-60% | 30-54% | 40-60% |
| 灵活性 | 特定实例类型/区域 | 任何实例系列/区域 | 特定实例系列/区域 |
| 承诺 | 1 或 3 年 | 1 或 3 年 | 1 或 3 年 |
| 最适合 | 稳定、可预测的工作负载 | 混合工作负载 | 具体实例家族 |
建议:从计算储蓄计划开始以获得灵活性。承诺您有信心的最低基线使用量。
Spot 实例
Spot 实例提供 60-90% 的折扣,但可以在提前 2 分钟通知的情况下中断。
适合:
- CI/CD 构建运行程序
- 批处理和数据管道
- 开发和暂存环境
- 负载均衡器后面的无状态 Web 服务器(具有按需回退功能)
不适合:
- 数据库
- 单实例应用程序
- 无检查点的有状态工作负载
# Launch template with Spot Instance
Resources:
SpotFleet:
Type: AWS::EC2::SpotFleet
Properties:
SpotFleetRequestConfigData:
AllocationStrategy: lowestPrice
TargetCapacity: 5
LaunchSpecifications:
- InstanceType: t3.large
ImageId: ami-0123456789abcdef0
- InstanceType: t3.xlarge
ImageId: ami-0123456789abcdef0
- InstanceType: m5.large
ImageId: ami-0123456789abcdef0
步骤 4:存储优化
S3 生命周期策略
{
"Rules": [
{
"ID": "ArchiveOldBackups",
"Status": "Enabled",
"Filter": {
"Prefix": "backups/"
},
"Transitions": [
{
"Days": 30,
"StorageClass": "STANDARD_IA"
},
{
"Days": 90,
"StorageClass": "GLACIER"
},
{
"Days": 365,
"StorageClass": "DEEP_ARCHIVE"
}
],
"Expiration": {
"Days": 730
}
}
]
}
S3 存储类定价
| 存储类 | 每 GB 价格/月 | 检索 | 最适合 |
|---|---|---|---|
| 标准 | 0.023 美元 | 即时 | 活跃数据 |
| 标准-IA | 0.0125 美元 | 即时($0.01/GB 检索) | 每月访问 |
| 冰川即时 | 0.004 美元 | 即时($0.03/GB 检索) | 按季度访问 |
| 冰川 | 0.004 美元 | 1-12 小时 | 年度访问 |
| 深度存档 | 0.00099 美元 | 12 小时 | 合规,长期 |
EBS 优化
# Convert gp2 volumes to gp3 (20% cheaper, better performance)
for vol_id in $(aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 --query 'Volumes[*].VolumeId' --output text); do
echo "Converting $vol_id from gp2 to gp3"
aws ec2 modify-volume --volume-id "$vol_id" --volume-type gp3
done
步骤 5:自动缩放
基于计划的扩展
大多数 B2B 应用程序在工作时间之外的流量会减少 70%:
# Scale down at night
aws autoscaling put-scheduled-action \
--auto-scaling-group-name production-asg \
--scheduled-action-name scale-down-night \
--recurrence "0 20 * * 1-5" \
--desired-capacity 2 \
--min-size 1
# Scale up in the morning
aws autoscaling put-scheduled-action \
--auto-scaling-group-name production-asg \
--scheduled-action-name scale-up-morning \
--recurrence "0 7 * * 1-5" \
--desired-capacity 5 \
--min-size 3
开发环境调度
在工作时间之外停止非生产环境:
# Stop dev/staging instances at 7 PM
aws ec2 stop-instances --instance-ids i-dev123 i-staging456
# Start at 8 AM
aws ec2 start-instances --instance-ids i-dev123 i-staging456
每月节省:每天运行开发实例 10 小时而不是 24 小时,可节省 58%。
每月成本审查清单
- 检查 AWS Cost Explorer 是否存在异常
- 检查未使用的资源(卷、IP、快照)
- 验证合适的规模建议(AWS 计算优化器)
- 查看预留实例/储蓄计划覆盖范围
- 检查 S3 存储增长和生命周期策略的有效性
- 查看数据传输费用(通常占总账单的 10-15%)
- 验证自动缩放阈值是否匹配当前流量模式
- 检查失败部署中的孤立资源
常见问题
降低 AWS 成本最快的方法是什么?
删除未使用的资源。大多数 AWS 账户每月都有数百美元的未附加 EBS 卷、未使用的弹性 IP、旧快照和已停止的实例。这需要不到一个小时,并且立即省钱。第二个最快的胜利是将 gp2 EBS 卷转换为 gp3——相同或更好的性能,但成本降低 20%。
我们应该使用 Savings Plans 还是预留实例?
计算大多数企业的储蓄计划。它们提供与预留实例相当的折扣,但具有更大的灵活性 --- 您不会被锁定到特定的实例类型。仅当您确定实例类型 1-3 年时才使用 EC2 预留实例。
我们如何按项目或团队跟踪 AWS 成本?
使用 AWS 资源标签。使用 project、team、environment 和 cost-center 标签标记每个资源。在计费控制台中启用成本分配标签。创建按标签分组的 Cost Explorer 报告,以按项目查看支出。使用标记未标记资源的 AWS Config 规则强制执行标记。
迁移到容器是否更具成本效益?
与每台服务器运行一个应用程序相比,容器将资源利用率提高了 30-50%。 ECS Fargate 和 EKS 简化了容器管理,但增加了按任务定价。对于大多数中小型企业来说,带有 Docker Compose 的 EC2 提供了简单性和成本的最佳平衡。请参阅我们的Docker 部署指南 了解实施细节。
接下来会发生什么
成本优化是一项持续的实践,而不是一次性的项目。安排每月成本审查并将成本监控集成到您的生产警报 设置中。有关完整的基础架构策略,请参阅我们的小型企业 DevOps 指南。
联系 ECOSIRE 获取 AWS 成本优化咨询,或探索我们的 Odoo 支持服务 以获取具有内置成本优化的托管基础设施。
由 ECOSIRE 发布——帮助企业优化云基础设施支出。
作者
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
相关文章
适用于 Web 应用程序的 AWS EC2 部署指南
完整的 AWS EC2 部署指南:实例选择、安全组、Node.js 部署、Nginx 反向代理、SSL、自动扩展、CloudWatch 监控和成本优化。
ERP 云托管:AWS、Azure、Google Cloud
对 2026 年 ERP 托管的 AWS、Azure 和 Google Cloud 进行详细比较。涵盖性能、成本、区域可用性、托管服务和特定于 ERP 的建议。
2026 年云与本地 ERP:权威指南
2026 年云与本地 ERP:总成本分析、安全性比较、可扩展性、合规性以及适合您业务的正确部署模型。