$ aws savingsplans create-savings-plan
如果你觉得 Reserved Instance 太死板(锁定 1-3 年),Spot 又太冒险(随时中断),那么 Savings Plans 可能就是你要的"中间道路"。AWS 2019 年推出的 Savings Plans 比 RI 更灵活,但折扣依然诱人。
Savings Plans 三种类型
1. Compute Savings Plans(计算 Savings Plans)
最灵活的选项:
- 适用范围:EC2(任何 instance family)、Lambda、ECS Fargate
- 折扣力度:1 年 40-54%,3 年 60-72%
- 灵活性:可以在任何 instance family 之间切换
2. EC2 Instance Savings Plans(EC2 实例 Savings Plans)
专注于 EC2:
- 适用范围:仅 EC2,但可以是同一 family 的任何大小
- 折扣力度:1 年 42-56%,3 年 62-72%
- 灵活性:只能在同一 instance family 内切换大小
3. SageMaker Savings Plans
机器学习专用:
- 适用范围:SageMaker 训练和推理
- 折扣力度:1 年 40-64%
Savings Plans vs Reserved Instances 对比
| 对比维度 | Savings Plans | Standard RI | Convertible RI |
|---|---|---|---|
| 灵活性 | 高(Compute) | 低 | 中 |
| 覆盖范围 | 跨 instance family(Compute) | 固定类型+AZ | 可转换 |
| 折扣 | 42-72% | 36-78% | 31-66% |
| 付款选项 | 全预付/无预付 | 三种选项 | 全预付/无预付 |
| 账户共享 | 仅区域内 | 可转让 | 不可转让 |
何时选 Savings Plans vs RI?
选择 Savings Plans 的场景
- 你的实例类型可能在未来变化(如从 M5 迁移到 M6)
- 你使用 Lambda 或 Fargate 作为计算平台
- 你不确定未来 3 年的架构
- 你想保持更高的灵活性
选择 RI 的场景
- 你的工作负载 100% 稳定,实例类型不会变
- 你需要 AZ 级别的容量保证
- 你想转卖 RI 收回成本
- 你能接受更低的灵活性换取更高折扣
如何购买 Savings Plans
# 查看可用的 Savings Plans aws savingsplans describe-savings-plan-offerings \ --filters region=us-east-1
# 创建 Compute Savings Plans aws savingsplans create-savings-plan \ --savings-plan-offering-id spoxxxxx
Savings Plans 使用技巧
1. 先 Right-Sizing,再买 Plans
Savings Plans 的折扣是基于承诺金额,不是基于你当前的使用量。所以:
- 确保买了正确大小的计划
- 买多了会浪费,买少了要用 On-Demand 补
2. 覆盖率计算
# 查看当前 Savings Plans 覆盖率 aws savingsplans describe-savings-plan-rates \ --savings-plan-id sp-xxxxx
建议覆盖率:
- 稳定基线:70-80% via Savings Plans
- 波动部分:On-Demand + Spot
3. 混合使用策略
最佳实践是用多种工具组合:
- Savings Plans 覆盖稳定基线(70%)
- Spot 处理批处理和容错任务(20%)
- On-Demand 处理突发和验证(10%)
Savings Plans 计费机制
Savings Plans 工作流程:
- 你承诺支付每小时 $X
- 你的实际使用自动从 Savings Plans 扣除
- 如果使用量低于承诺,剩余容量浪费
- 如果使用量超过承诺,超出部分按 On-Demand 计费
案例分析
假设你的 Web 应用平均使用 m5.xlarge 20 台,每台 $0.192/h:
- 纯 On-Demand:$92.16/h x 24 x 30 = $66,355/月
- 70% Compute SP 覆盖:$0.088/h x 20 x 0.7 x 24 x 30 = $8,909/月
- 30% On-Demand:$0.192/h x 20 x 0.3 x 24 x 30 = $19,907/月
- 总计节省:约 $37,539/月(约 57%)
最佳实践
- Compute Savings Plans 是大多数用户的最佳选择
- 先 Right-Sizing,再买 Plans
- 覆盖率设为 70-80%,留弹性缓冲
- 配合 Spot 处理峰值和非关键负载
- 定期审查覆盖率和实际使用量
- 不要只买 Savings Plans,忽略 Spot 优化
Savings Plans 是云成本优化的"灵活盾牌"——既保持了灵活性,又锁定了相当不错的折扣!