Amazon Web Services didn’t become the cloud computing giant they are today with overpriced or disadvantageous services. With their pay-as-you-go pricing that allows for scalability and both small and large companies to utilize their services, it’s also possible that you are accidentally paying for options or utilities that you don’t actually need. If you aren’t an expert (or even if you are), the numerous options available from AWS Elastic Compute Cloud (EC2) can become overwhelming, letting some unnecessary costs slip through the cracks. We’ve compiled a list of these potentially hidden AWS EC2 costs to make sure you don’t end up spending more than you should.
If you have instances that you aren’t using or aren’t fully utilized, you could be overpaying for resources that you aren’t taking advantage of. This is the first one that you should take a look at because it’s one of the most common ways that you or your company end up paying for costs that you shouldn’t.
The solution to these unused instances sucking up costs is simply to make sure that you terminate each and every instance after you use them, and keep in mind that you’ll need to check this out for each region.
Additionally, you can keep an eye on your usage data to spot anything that could point to underutilized servers, such as low CPU usage, bandwidth, and I/O.
As a savvy business, AWS makes it simple and cheap for you to transfer data into your EC2 (in fact, it’s typically free) while being costly for you to transfer it out. These costs vary greatly on your data amount and where you’re transferring it to, so make sure you pay attention to this before transferring any data.
Typically, if you’d like to transfer your data within the same region, it’s less costly, and certain regions are much more expensive than others. Because the prices vary so widely depending on many different factors, we can’t give you a simple solution to fix these hidden AWS EC2 costs.
However, you or your team can search to find the best, least expensive route for your data to travel in order to make this as economical as possible. And, of course, try to limit outward data transfers to the minimum amount necessary.
Unattached or unused Elastic Block Store volumes
This one is important not only to get rid of some of the hidden AWS EC2 costs but also for security purposes.
Good practice dictates that you should delete all EBS volumes that aren’t attached to EC2 instances, apart from root volumes. This is because any sensitive data on these volumes can pose a security risk.
Additionally, you are charged for every unattached EBS volume whether you’re using it or not. Even if it is attached, it’s billed separately so you are incurring the costs, whether they’re necessary or not. Go ahead and delete the EBS volume once you back up the data to save yourself from some hidden AWS EC2 costs.
Unused Elastic Load Balancers
Elastic Load Balancers, or ELBs, add a charge to your bill every single month, used or unused, along with a charge for each GB you transfer.
These are put in front of your web servers often and they “automatically distribute incoming application traffic, scale resources to meet traffic demands, and are designed to keep a minimum number of EC2 instances running.”
Take a look at all of your ELBs and delete or register any backend instances that aren’t connected. Additionally, troubleshoot or delete any ELBs that aren’t attached to healthy backend instances. Don’t forget that you can’t delete any EC2 instances without first terminating their associated ELBs.
Delete unneeded snapshots
Even if you delete your EC2 instances that are no longer used or properly utilized, Amazon stores the snapshots on Amazon Simple Storage Service. That means that you are being charged each month for these orphaned snapshots, costing almost the same as the original EBS volume.
To save this money, simply delete all of the orphaned snapshots, unless you’ll need them again to create more EBS volumes.
Idle Elastic IP addresses
It’s important to keep an eye on your account to make sure that you don’t have any unused Idle Elastic IP addresses (EIPs). These let users to “mask an instance or software failure by rapidly remapping the address to another instance in their account.”
With each running EC2 instance, AWS gives its users a free EIP address. However, if you need to add any more address than one to the same instance or any EIPs not attached to a running instance, you’re charged hourly.
So, be sure to delete any of the EIP addresses that aren’t necessary or used.
Reserved instances (RIs) can be great for cost savings or a black hole to throw away your money, depending on how they are utilized. These are pre-booked resources from one to three years rather than being pay-as-you-go.
The problem with reserved instances comes in with the fact that sometimes it’s difficult to calculate exactly how many hours you’ll need so far in advance. While the hourly rate is very discounted, it can end up costing much more than the typical pay-as-you-go rate if you miscalculate the required data and time and accidentally waste your money.
So, make sure you’re careful with RIs. And, if you have already bought some that you realize now that you don’t need, try to sell them on the AWS Marketplace.
Check your bill for all AWS EC2 costs
As you can see, you can very easily end up paying much more than necessary on your AWS bill. The main consideration to take away is that you should double-check any potential unused services that could happen in AWS, namely those mentioned above.
Taking the time to fully check what you’re being charged for can end up saving you a lot — certainly, enough to justify the time spent looking — whether you find out that you have unused instances or too many API calls.
If you follow this advice, you’ll be able to experience the cost savings of using the cloud rather than purchasing your own in-house solution, depending on the amount of data that your company uses. Whether you fully use the cloud or employ a hybrid approach, getting rid of hidden AWS EC2 costs is always beneficial.