Upon receiving a cloud bill, team leads are often surprised and challenged with a question: “Why is the bill so high?” It is a common situation when it is not clear what you’re paying for (it’s not easy to understand what terms on the bill correspond to which cloud services) and, moreover, where you may be overspending.
Core reasons for unexpected charges on your AWS bill
Based on our expertise we can give 3 core reasons for unexpected charges on your bill:
- As we have already mentioned above, a lack of transparency into a sophisticated cloud infrastructure can cause unpredictable charges from a cloud provider. Team leads could identify some lines with charges in their cloud bill with services they never knew existed or they never used.
- An engineering team is not involved in a cost-saving process and its members don’t have personal responsibility for cloud resources. A proper cost allocation and individually assigned resources can help engineers stay on track and properly manage resource lifecycle.
- Incorrect forecasting of cloud resources needs (in case when a company uses more than it was expected) doesn’t give a chance to a team to keep cloud costs under control and they will have to buy more at a higher price.
What are the most often unexpected charges on your AWS bill?
1. Paying for unused resources
AWS charges its customers for the resources, which were allocated, even if they are not used. To avoid these charges after finishing a working process it is recommended to:
- Delete all Elastic Load Balancers, which automatically distributes incoming application traffic
- Terminate all unused EC2 instances and release any unused Elastic IPs (Find more details in item 5)
- Delete the attached EBS volumes, which are not used (Find more details in item 6)
Additionally, it is a common situation, when a developer, IT engineer or QA specialist spins up a temporary instance, and then forgets to switch it off when the job is done.
2. Automatically relaunched services
Some services could automatically restart cloud resources without any notification, such an automation activates the resources that are not expected to be used and leads to unpredictable charges on your bill. For example, Elastic Beanstalk can automatically relaunch services, which were stopped, so if users need to delete those resources permanently they need to terminate their Elastic Beanstalk environment.
3. AWS Free Tier expired or usage exceeds
Unexpected charges appear when a free tier period expires. Any resources that are allocated to an account begin to be charged at standard billing rates after a tier period. Also AWS charges customers for any usage that exceeds the free tier limits. The AWS Management Console allows users to check for resources in use, and Tracking your AWS Free Tier usage gives a full description of a system of tracking and limits of a free tier usage. Nevertheless it is important to check each region where the resources were allocated.
Alerts and notifications in place help AWS customers to be informed before they exceed. Don’t forget to set them up.
4. Charges for disabled regions
If AWS customers disable a Region, but still have resources there, they continue to pay for those resources. For more information, see Enabling and disabling regions and avoid unexpected charges for disabled regions.
5. Additional charges for Elastic IP addresses
Elastic IPs are free of charge in following cases:
- EIP is assigned to an EC2 instance
- The instance is running
- The instance has only one EIP attached
- EIP remapping is limited to 100 times per month
If the Elastic IP doesn’t meet the policy mentioned above, AWS customers will be charged for it.
I would also like to point out that, if you terminate an instance with any Elastic IP addresses, they become unattached, but still allocated to you. Don’t forget to release the IP address, if you don’t need it anymore to avoid unexpected charges. Find more details in one of our previous articles “How to release Elastic IPs on Amazon EC2.”
6. Unused Amazon Elastic Block Store volumes and snapshots
In most cases associated Amazon EBS volumes are deleted, when AWS users terminate Amazon EC2 instances. But sometimes engineers set up instances that preserve their volume and the data after terminating. Such unattached Elastic Block Storage (EBS) volumes in AWS accounts aren’t used but you are still paying for them.
Follow the link to get more details about the procedure of deleting an Amazon EBS Volume.
7. Stopped Amazon EC2 instances
Stopped or terminated instances? Stopping an instance allows AWS customers to launch it again in case of necessity, but it is important to keep in mind that it is charged for storage. Terminating an instance permanently deletes it and only this way will help cancel the payments.
A way to avoid unexpected increase of your AWS bill
Using AWS native services like Amazon CloudWatch or third-party tools like OptScale helps DevOps engineers or IT managers monitor AWS resources and track spend.
OptScale delivers a wide range of capabilities that enable users to avoid surprise charges for AWS services, provide full visibility into cloud costs and improve cloud usage efficiency.
Smart budgets exceed alerts and thresholds, resource tagging, custom automatic assignment rules and a detailed expense report across all business units and users help companies take their AWS bill under control. With the right rules in place, companies can detect and troubleshoot overspending issues before they ever occur.
Find best practices + helpful tips for an effective AWS cost optimization here → “FinOps – exploring AWS cloud costs optimization.”