For the majority of AWS customer EC2 costs make up the largest part of their monthly spending - sometimes as high as 70 - 75%. That’s why it makes sense to carefully examine how your EC2 instances are being used and look for ways to optimize your AWS EC2 costs.
In this article, I outline three of the most common methods I see customers use to help them reduce their monthly EC2 costs.
The first thing you should do is make sure you require all the EC2 infrastructure running in your AWS account. Quite often I find clients who have deployed infrastructure for development or project work and not removed them afterwards. Check your account to see if you have instances that are no longer required. When you find them, snapshot them (create an AMI as a backup), and then terminate the instance. Doing this may dramatically lower your monthly bill.
After removing EC2 instances that are no longer required you should investigate if you’re using the most appropriate instances types for the workloads your running.
One of the most common mistakes I see AWS customers make is the over-provisioning of EC2 resources. In many cases, a high percentage of EC2 resources are highly underutilized - sub 5% CPU utilization is quite common.
I should point out here that while monitoring CPU utilization is an easy place to start you should use Key Performance Indicators (KPI) that better reflect your business objectives.
If you have AWS Business support (or greater), you can use Trusted Advisor to see if there are EC2 instances that are underutilized and could be resized. If you don’t have business level support, then CloudWatch is your friend. Regularly, monitor your EC2 instances to ensure that they are being used. If you need something more than CloudWatch, consider deploying a SaaS solution like Datadog to get deeper insight into how your EC2 instances are actually being used. Once you identify an underutilized EC2 instance select a more appropriate instance size or decommission it.
Stop paying for computing resources that you are not using!
Once you’re happy with the sizing of your EC2 instances, you can now consider purchasing Reserved Instances to further reduce your monthly spending. I typically recommend that customers look first for instances that are highly utilized (I’m not talking about CPU or memory) - meaning that they are running for a large portion of the month.
Depending on your willingness to make a commitment you can make 1 or 3 year reservations and also decide if you want to pay nothing upfront, some or all of the costs. Depending on the type of commitment you make your savings can be substantial.
AWS currently offers five instance types (General Purpose, Compute Optimized, Memory Optimized, GPU, and Storage Optimized). Choosing the right instance type for your workloads won’t relate directly to your EC2 spending, but selecting the wrong type may limit your ability to right-size and ultimately purchased Reserved Instances. Make sure that you understand your workloads, for example, are they CPU or Memory dependent and make sure you select the right instance.
Like what you read? Why not subscribe to the weekly Orbit newsletter and get content before everyone else?