AWS EC2/RDS RI(预留实例) 付费优化
AWS EC2 预留实例(Reserved Instance, 下文统一简称 RI) 简单来说就是虚拟机包年,一次性缴纳一年的费用折扣非常诱人,比按需启动(也就是按小时计费) 便宜非常多,但如何知道该买多少个 RI 呢? 尤其公司开始增长,数据开发人员经常会按需启动一些计算集群的情况下,如何优化购买策略达到节省开支的目的?
基于使用历史优化 RI 购买的方案:根据一段时间的使用历史,后续去购买 RI
AWS 现状
- 每个实例按小时计费,不足一小时按照一小时计费 (注意是每个实例,比如
t2.micro
类型实例在一个小时内启动两个(启动一个,terminate
后再启动一个,再terminate
要算两个小时) - 每个启动的 EC2 实例都有唯一的一个ID:
instance id
- 虚拟机启动'慢',基本上启动一个节点要1分钟+
- 所有的 EC2 信息可以通过 API 很容易拿到
- RI 针对的是对应的
AvailabilityZone
的相应类型,比如在cn-north-1a
购买的t2.micro RI
对cn-north-1b
的t2.micro
实例没有用
EC2按需定价:https://aws.amazon.com/cn/ec2/pricing/on-demand/
官方账单
可以在账户中设置导出账单,指定一个S3 bucket
,每个月会以 csv 文件的方式导出详细账单。也可以在(账单控制台自行下载。但AWS账单一个月才出一次,不能等到on demand
付费了一个月才想起买RI 很不划算
购买 RI
以可用区ap-southeast-1
为例:
统计需要的EC2和RDS规格及数量
(1)EC2规格及数量
- m5.large * 12
- m5.xlarge * 3
(2)提供的类别
- 可转换:如
m5.large
可以转为t2.large
- 标准:不可转换
(3)付款选项
- No Upfront: 无费用预付
- Partial Upfront: 预付部分费用
- All Upfront: 预付全费
价格相差不大,选择No Upfront
即可
可用区
千万别搞错
AvailabilityZone
(可用区)购买的RI可用区与现有EC2可用区不一致将导致不能自动关联,购买后不能取消,只能挂在市场上出售
由于 RI 是针对某个AvailabilityZone
的某个类型的节点,因此尽量使用少类型的 EC2 节点有时可以节省成本。比如A系统需要c3.4xlarge
类型节点10台,B 系统需要20台 c3.2xlarge
,如果有可能,是不是可以都用一个类型的节点,购买同样的 RI,等到系统 resize了还可以空余 RI 给其他系统。针对AvailabilityZone
,如果不需要高可用,尽量在同一个AvailabilityZone
,比如计算密集型的系统
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/25/aws-ec2-rds-ri-reserved-instance-payment-optimization/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论