|
很多人看到 AWS 账单高了,第一反应就是: 要不要买 Savings Plans?
确实,长期稳定跑的 EC2、Fargate、Lambda,如果一直按 On-Demand 价格用,通常是有优化空间的。 但我觉得 Savings Plans 最容易踩的坑,不是“没买”,而是买得太早、买得太满。 项目刚跑起来的时候,用量其实很容易变。 今天是 10 台 EC2,下个月可能扩到 15 台,也可能因为业务调整缩到 6 台;有些项目甚至会从 EC2 换到容器,或者迁一部分到别的服务。 这个时候如果为了追求折扣,一口气把承诺金额买得很高,后面反而会被绑定住。 比较稳妥的做法,通常是先看一段时间真实用量。 我一般会先看几个东西: - 最近 2~3 个月 On-Demand 使用是否稳定
- 有没有明显的业务高峰和低谷
- 哪部分资源是长期 7×24 小时运行
- 哪部分只是临时测试、弹性扩容
- 现有 Savings Plans 的覆盖率和利用率怎么样9 W4 X/ O/ r, S: b( m. \, c
先把“长期不会消失的那部分用量”找出来,再决定承诺多少,会更稳。 举个很简单的例子。 如果一个账号平时计算类消费大概 3000 美元,但真正长期稳定的底盘只有 1800~2000 美元,那我更愿意先覆盖这部分,而不是为了折扣直接把 3000 全部锁进去。 剩下的弹性用量继续按需跑,虽然单价高一点,但灵活性也保留下来了。 AWS 成本优化里,有时候最怕的就是只看“折扣有多大”,不看“这个折扣能不能真的吃满”。 我们平时在帮一些 AWS 账号看账单时,也会遇到这种情况:账面上已经买了不少 Savings Plans,但 Coverage 看起来不错,Utilization 却并不理想,最后实际节省效果没有想象中那么高。 所以我现在更倾向于把顺序反过来: 先看账单结构,再看稳定用量,最后才决定要不要买、买多少。 而不是一看到 AWS 用量上来了,就先把 Savings Plans 当成第一步。 如果账号每个月已经有几千美元甚至更高的稳定消费,这一步其实很值得认真算一下。因为承诺型折扣一旦买下去,后面影响的就不是一天两天,而是整个周期。 做 AWS 出海项目的朋友如果最近也在研究 Savings Plans,可以先把最近几个月的实际用量拉出来看一遍。很多时候,不是“有没有折扣”的问题,而是“折扣买得合不合理”。
! J7 Q7 G3 a3 E# }% w6 c
* h2 Q: S/ i( x6 Z ^6 z; _" L; U; D0 ?2 x. i" @& l9 u5 E& w/ V& q1 f- V1 I
) T, T: x |5 e- `3 X( ?. `; i
3 g. s* s) _# V- R$ a4 V2 S) ^& f: ]5 P+ l
- T( x6 v, |9 d7 R" W- M4 }
$ u3 u. ] t' |
8 r$ e# [' ?& v3 h G. Z/ s0 v' i- V- f" F: a: u8 M' K0 x0 t8 D+ s" b
3 C# `* H3 h: d4 m% S |