Nowadays, deploying your application on the cloud and utilizing cloud resources is so handy, easy, and cost-friendly that you sometimes forget that cost-friendly is not simple as it seems.
Of course, for testing and all, you can deploy resources any moment, and you are only charged hourly based, so once you destroy those resources, your cost will not be counted,
You are not bound to pay anything upfront. So, when you get bill at month-end, you get surprised at what you need to pay.
So let’s discuss such 9 points today that you should follow in order to get financial control of your AWS Account
1. Review Unused resources
- Once every week, you need to take time to overview your AWS Account, where you will delete all unused resources to save the cost
- Actually, the recommended way is to delete server/ or other resources as soon as they are not needed but sometimes people can forget to do that. In those cases, it is good to review it every week, so you can consult the team about resources and can delete them to save the cost.
2. Delete not required EBS volumes
- Once every month, you need to review the volumes of your AWS Account.
- EBS (Elastic block storage) is very low cost but still when so many unattached volumes are there in the account. Cost is significant.
3. Check Resource consumption
- In services like EC2, RDS, etc. where you define CPU, RAM, etc. at the time of launching instances, which are not auto-scaled, you need to review resource consumption every once in a while. To make sure you have not allocated more than what is required.
- If your resource consumptions are constant and you are sure that you will be having some type of need for at least a year or 3 years, you should purchase reserved instances
- AWS reserved instances can save up to 60% of your on-demand cost
- AWS provided on-demand best prices as well, but if you are committed to AWS, then purchasing reserve instances will be at a very discounted price for your commitment
5. Review newly launched types
- AWS launches new instance types and new services every once in a while.
Make sure to stay up-to-date with that because they might launch better products with less pricing which can be best suited for development workloads
- for e.g AWS first had t2 instance types, then they launched, t3, t3a, t4g all of these are general-purpose but their pricing for same CPU and RAM will differ because of new launch, different hardware, etc. You can choose the best of them and deploy
6. Use spot instances
- AWS Spot instances can be used for non-production, CI/CD workloads, cluster workloads, etc.
- AWS Spot instance can reduce 80% cost than on-demand instances, but Spot instances can come and go at times, so make sure you have proper automation setup to launch new instances or you can bear downtime until it recovers
7. Stop instances when not in use
- Some development instances can be stopped overnight when not in use.
- You can set up automation to stop and start instances as AWS charges per-hourly basis, you can save billing doing this
8. Review different s3 tiers
- S3 offers different tiers for different usage. for example, for objects that are not used frequently, there is an infrequent access tier, which is low costed
- There is also cold storage for S3 which can be used for archived S3 objects
- Read more about various S3 storage types here
9. Setup Billing limit alarms
- Last but not the least, set up AWS Billing alarms, so if anything goes beyond your expected cost, you can be notified and you can take recovering measures as soon as possible.
- Read this article to know how to setup AWS billing alarm
We hope this article is helpful to you. If you want us to reduce your AWS Billing cost, contact us at firstname.lastname@example.org
22nd January 2022