This article focuses on reducing the cost for resources that you’re sure you’ll be using for over a year — without upgrading or downgrading the resource type. When you’re so damn sure about the workload and the traffic and you’ve come to a conclusion that there won’t be any upgrade/downgrade of the resource type for at least next one year, it’s the time to make a commitment to AWS and avail that heavy discount.
Reserved Instances & Savings Plan
Simply said — Savings Plan is used to save some dollars on resources in the entire AWS account, whereas Reserved Instances helps you save on individual resources in service level. Though it is a bit tough to understand this, I will try to explain this phenomenon in a few words (so that you won’t get bored).
Reserved Instances
For services like Elastic Compute Cloud — EC2, Amazon RDS, Elasticache, OpenSearch, Redshift there’s something called reserved instances that ‘reserves’ your individual resources for one year or three years. There are a few things to consider when you ‘reserve’ your resources to get more savings.
Reserving an EC2 Instance - Saved around 65.00 USD per month per instance
Following things need to be considered while reserving an EC2 Instance.
- Platform — Linux/UNIX/SUSE/Red Hat/Windows etc…
- Offering Class: Standard — more savings, but you cannot change the committed instance type Convertible — costlier than Standard, but you can switch between the instance type
- Period — One year or Three long years
- Instance Type — Type of instance you want to stick on to
- Payment Option:
All Upfront — One-time fee, need not pay for the rest of the year.
Partial Upfront — A small one-time fee, plus almost half on hourly price.
No Upfront — No upfront fee, but a decent discount on hourly price.
Reserved instance hourly rate for one r5.xlarge server in a standard AWS Region From the snippet below, you can see the price difference of over 60.00 USD when you reserve one r5.xlarge instance for one year with no upfront payment option.
EC2 On-Demand vs Reserved price for one r5.xlarge instance type in a standard AWS Region.
This is how it is calculated
- On-Demand Rate — 0.252/hr (Linux/On-Demand)
0.252 x 24 x 365 / 12 = 183.96 USD
- Reserved Instance Rate —0.159/hr (Linux/1 Year/Standard/No Upfront)
0.159 x 24 x 365 / 12 = 116.07 USD
Reserving an RDS Instance - Saved around 145.00 USD per month per instance
This is applicable to Amazon Aurora, RDS, Oracle and Microsoft SQL Server. When you’re all set to buy a reserved DB Instance, be sure to provide the following information correctly.
- Engine Type — Aurora MySQL/RDS/Oracle/SQL etc…
- Instance Type — self explanatory
- Type of Deployment — Multi/Single AZ
- Term — One year or Three years
- Offering Type:
All Upfront — One-time fee, need not pay for the rest of the year.
Partial Upfront — A small one-time fee, plus almost half on hourly price.
No Upfront — No upfront fee, but a decent discount on hourly price.
- Region — Defaults to the region your AWS Console is in
- Number of DB Instances — self explanatory
RDS On-Demand vs Reserved price for one r5.xlarge instance type in a standard AWS Region.
Reserving Elasticache - Saved around 100.00 USD per month per node
The Elasticache reservation concept is no different from the above examples. However, you need to know the following information prior to purchasing a Reserved Instance.
- Engine – Valkey/REDIS/Memcached
- Instance Type – self explanatory
- Term – One year or Three years
- Offering Type:
All Upfront – One-time fee, need not pay for the rest of the year.
Partial Upfront – A small one-time fee, plus almost half on hourly price.
No Upfront — No upfront fee, but a decent discount on hourly price
- Number of nodes — self explanatory
ElaastiCache On-Demand vs Reserved price for two r5.xlarge instance type in a standard AWS.
Reserving Open Search - Saved around 335.00 USD per month for a cluster with the following spec
- 3x c5.large Master Nodes
- 3x r5.xlarge Data Nodes
- 150GB GP3 Storage — 50GB for each Data Node
When reserving Open Search, if the Instance Type of your Data nodes and Master nodes has a dissimilarity, like the spec above, you would need to purchase the reservation two times — one for Data Nodes and the other for Master Node. However, the intention about reserving the resource is the same — save some dollars.
Open Search On-Demand vs Reserved price for a Cluster with above spec in a standard AWS Region
Reserving Redshift - Saved around 350.00 USD per month for three node ra3.large cluster
When coming to Redshift, you need to keep in mind that not all the instance types are available for reservation. There are currently two instance types — dc2.x and ra3.x of which only ra3.x is available for reservation.
Redshift On-Demand vs Reserved price for a three node ra3.large cluster in a standard AWS Region
I hope things are clear about reserving a resource in EC2, Elasticache, RDS, Redshift and Open Search. There’s something called Savings Plan that works on AWS Account level and could help you save more. Picking Reserved Instances or Savings Plan is up to you to decide.Due to the length of this article, I think I should consider writing about Savings Plan in a separate article.
Build Smarter Data Solutions on AWS
Curious About AWS Best Practices?
Our AWS consulting team brings years of enterprise cloud experience to help you architect, optimize, and secure your cloud infrastructure. Let’s explore the possibilities!