Several weeks ago, I was working on a consulting engagement for a client that utilizes AWS RDS environments for their MySQL needs.
During investigation, I noticed that their very large production database instances were not utilizing a very important cost-saving features that AWS offers: Reserved instances.
What are AWS Reserved Instances?
Simply put, Reserved Instances allow you to reserve capacity of AWS services such as EC2 and RDS at a lower ‘per-hour’ cost than the typical OnDemand pricing.
In general, you can choose among several options for Reserved Instances:
- no money upfront for a commitment of a 1-year term
- partial 1- or 3-year upfront
- entire 1- or 3- year cost upfront
Each option offers a discount of typical ‘OnDemand’ pricing, with the 3-year entire upfront being the best if you are willing to commit for that long.
How much can I save?
As mentioned, Reserved Instances savings vary depending on the service and upfront option you choose. Let’s check the cost savings of a 1-year Reserved Instance for the largest Memory Optimized MySQL RDS Instance Class available: db.r3.8xlarge.
The db.r3.8xlarge instance offers 32 vCPUs (compares to 104 EC2 compute units), 244 GB of RAM with 10Gbps network performance.
And here is our cost savings:
You can see that even without putting money upfront, we still get a ~36% savings from running OnDemand instances! Full upfront costs for a 1-year period gives a 46% reduction in expenses.
Begin saving now
Reserved Instances do not require a restart or rebuild of your running instances. You reserve instance capacity for a specific region, and AWS billing applies any Reserved Instance savings before calculating OnDemand pricing.
There are some caveats to keep in mind when purchasing Reserved Instances:
- Reserved Instances apply for running EC2 or RDS instances in the region you purchased of a specific instance class.
- Consolidating billing across multiple accounts can complicate the calculation of savings of Reserved Instances. How that works is beyond the scope of this post, but you can see the AWS documentation for more information on blended rates.
With those caveats in mind, you can end up saving hundreds of thousands of dollars off your AWS spend by properly utilizing Reserved Instances, even if you don’t end up paying upfront for the capacity. And you can begin saving immediately without changing your existing environment.