AWS follows the strategy of “Pay as you go.”, but sometimes you will find that your overall AWS cost is breaching your estimated budget.
For reducing the billing cost, you should first monitor the usage and price of the subscribed AWS services. You can do this by using AWS cost explorer. Firstly, Identify AWS account which is having the higher cost and usage. Secondly, drill down to top services which are contributing to the total bill in that account. Then you can monitor the hourly usage of these resources by using different filters to identify the cost.
Let’s discuss various ways to reduce AWS billing cost –
AWS Elastic Compute Cloud (EC2) Instance Cost Optimization
“AWS Cost Explorer Resource Optimization” report can help you identify Amazon Elastic Compute Cloud (EC2) instances that are underutilized or ideal. You can decide based on the recommendation on this report to downsize or stop your EC2 instance. “AWS Operation Conductor” configuration can use these recommendations to resize EC2 service instances automatically.
For fault-tolerant applications, you can use spot instances to reduce costs up to 90%.
AWS Elastic Block Store (EBS) Cost Optimization
Trusted Advisor identifies Underutilized Amazon EBS volume (Per day IOPS < 1). For the future requirement of this data, you can take a snapshot of these volumes and then delete EBS volumes. Amazon Data Lifecycle Manager configuration helps to automatically create a data snapshot and deleting this type of EBS volume.
AWS Load Balancers Cost optimization
Trusted Advisor can help to identify Load Balancers that are idle. Idle load balancer means less than 100 request count in the past seven days. You can delete these load balancers to reduce cost.
Review Network usage to reduce cost
You can also analyze data transfer costs from EC2 to the public internet. AWS edge locations can cache any video, image, or static web content. Amazon CloudFront Content Delivery Network (CDN) helps to avoid capacity over-provisioning for the sudden traffic spike.
Amazon Simple Storage Service (S3) Cost Optimization
Amazon S3 Analytics on the S3 console helps in the analysis of storage access patterns. We can then decide to move the data into the appropriate class of storage. Less accessed data can move from standard storage classes to other storage classes.
Long-lived data that is not frequently accessed can move to below classes –
- S3 Standard Infrequent Storage (IA),
- S3 One Zone Infrequent Storage (S3 One Zone IA)
Data can move to archive for long term to below classes –
- Amazon S3 Glacier,
- Amazon S3 Glacier Deep Archive.
Data “Life Cycle Policies” can be configured to move data automatically to other S3 storage classes. S3 Intelligent-Tiering can also be used to do the same. It will drastically bring down the cost.
Reserved Instance (RI) usage to reduce cost
AWS cost explorer recommends purchasing Reserved Instance by analyzing your usage history. You can reserve the minimum required instances of various services for a long duration, for example, one year. It will reduce your cost by up to 40%.
These are few ways to reduce AWS billing. You should also set up budget and usage alerts for each of the services. You will get notifications when the usage pattern changes or the forecasted budget reaches a limit. It will help you take appropriate corrective action.