If you have been searching the Internet looking for ways to reduce AWS spend, you have undoubtedly come across articles relating to hidden AWS EC2 costs. These costs are not so much hidden as overlooked or misunderstood, so this article explains what “hidden” AWS EC2 costs are, and how they can be better managed.
If you read too much into the articles relating to hidden AWS EC2 costs, you could end up believing AWS disguises AWS EC2 costs among the thousands of pages on the aws.amazon.com website. But no. Scroll about half way down the EC2 pricing page, and the (not so well) hidden AWS EC2 costs are there, clear as the light of day. Data transfer costs? Check. Elastic Block Storage costs? Check. Elastic IP Addresses? Yep. They are there as well, and so is Elastic Load Balancing. So, what’s all the fuss about?
The “fuss” exists because some people when looking up the price of an EC2 instance scroll down to the price and do not go any further. Then, when they receive their bills, they find additional line items they didn’t expect. It’s not AWS´ fault the individual did not scroll past half way of the EC2 pricing page, but it’s not necessarily the individual´s fault either; as it is easy to overlook the additional costs associated with deploying an EC2 instance, or be under the impression that the price quoted is all-inclusive.
Why isn’t AWS EC2 pricing all-inclusive?
AWS EC2 pricing is dynamic — rather than all-inclusive — because different businesses utilize EC2 instances in different ways. For example, let’s say Business A provides text-only financial information to the public via its website, and Business B runs a dating service which invites the public to upload videos and interact online. Business B will transfer more data between its EC2 servers and the Internet than Business A and likely make more use of Elastic Load Balancers.
AWS has to cover the cost of providing these additional services to Business B. If Amazon were to charge an all-inclusive price for EC2 instances — it would mean increasing the cost for businesses such Business A to subsidize the additional services being used by businesses such as Business B. Not only would that be unfair for businesses such as Business A, it would also result in Amazon having to build hidden AWS EC2 costs into the price of instances. That’s why AWS EC2 pricing is not all-inclusive.
Get rid of hidden AWS EC2 costs? Do not be ridiculous!
Quite possibly, the reason why the additional services are often described as “hidden” is because they are not that easy to see using AWS’ native cloud management tools. For example, AWS CloudWatch won’t show that your business has multiple unused Elastic IP addresses or tens of millions of aged snapshots; and, as we wrote in our eBook “How to Accelerate Your AWS Cloud Journey to Reach Cloud Maturity” (registration required), you can not control what you can not see.
However, referring back to the articles that imply AWS hides the costs of additional EC2 services, some suggest ways in which businesses can get rid of hidden AWS EC2 costs. There is only one way to get rid of the costs of additional services — do not transfer data out from instances, do not use more than one Elastic IP address, do not use Elastic Load Balancing, and only use the EBS free tier That is not really a practical solution, but it is a good idea to better manage those not so well hidden AWS EC2 costs.
How to better manage those hidden AWS EC2 costs
The key to managing hard to find AWS EC2 services is to implement a cloud management platform such as CloudHealth. CloudHealth gives you total visibility of your cloud environment and also has policy-driven automation capabilities you can take advantage of in order to monitor the additional services attached to AWS EC2 instances and alert you to cost-saving opportunities.