Knowledge Base Reduce your AWS bill in 2021: 12 ways to cut costs today
Spending too much on your AWS bill? Here are some ways to cut costs and optimise your spend in 2021.
One of the great things about AWS is the fact that you pay only for the resources you need, for as long as you need them. However, it is easy to end up paying over the odds for resources that you forget to terminate or because your configuration is less than optimum.
To reduce your AWS bill in 2021, check out these 12 ways to cut costs:
1. Use AWS Cost Explorer and cost allocation tags
Start with AWS Cost Explorer, it will show you which services are costing the most money. Are they the ones you would expect? Look back over the last 12 months and play detective. Have costs changed in line with usage, or are they out pacing it? If you haven’t already, activate Cost Allocation Tags so you can tag resources and track costs for workloads that cut across a number of services.
2. Size your EC2 instances appropriately (and repeat often)
Consider your baseline usage and decide how to meet the demand using a combination of vertical size (the individual instance type) and horizontal scale (multiple instances). Use a combination of performance testing and CloudWatch metrics to evaluate your decisions, and continue to review the metrics over time to uncover further optimisations.
3. Only run the EC2 instances you need
Identify and terminate unused instances. For production workloads, use EC2 Auto Scaling to ensure you have the correct number of instances to meet demand. For non-production environments, implement the AWS Instance Scheduler to ensure your instances only run when you actually need them.
4. Leverage Savings Plans and Reserved Instances
If you’re paying On-Demand prices on any instance, you may be able to save up to 72% on costs using Savings Plans or Reserved Instances (RIs). Savings Plans were introduced in late 2019 and provide a discount when you commit to a consistent amount of compute usage (measured in $/hour) for a 1 or 3 year term.
5. Use Spot instances for flexible workloads
Tap into unused AWS capacity using Spot instances at up to a 90% discount on On-Demand prices. Massively scale workloads that can handle interruptions (when that unused capacity is needed elsewhere) - think processing jobs, performance testing, and even web services (you can scale out an Auto Scaling group using a mix of Spot and On-Demand instances).
6. Upgrade existing EC2 instances to the latest generation
Upgrade to the latest generation instance types for better performance and often cost savings. This also provides an ideal opportunity to re-check your instance sizes to ensure they’re not over-sized (see point 2 above).
7. Delete unused EBS volumes and snapshots
Unused EBS volumes and snapshots tend to accumulate quietly in the corner, all the while adding to your AWS bill. Identify and delete the ones you don’t need. For EBS volumes, use the “Delete on Termination” attribute where appropriate; check this in your Auto Scaling launch templates and CloudFormation templates. For EBS snapshots, use the Data Lifecycle Manager to create EBS snapshot policies that limit the number of snapshots you retain.
8. Release unattached elastic IP addresses
Elastic IP addresses are free providing they’re associated with a resource that is running, they’re the only one attached, and they’re associated with an attached network interface. Release any that fall outside this criteria otherwise you’ll end up paying per hour per address.
9. Use private IP addresses to move data within an AZ
Data transfers within an AZ are free providing you’re using private IP addresses, so use them for transfers rather than public or Elastic IP addresses when it makes sense. Remember, data transfers in from the internet are (generally) free but data transfers out or into another region, are charged. Check the Data Transfer line on your AWS bill to ensure you’re not unwittingly paying too much.
10. Consider using Lambda instead of EC2
Lambda should be your first port of call for compute in 2021 rather than EC2, certainly for new workloads. Serverless may not always fit the bill but where it does, there are cost savings to be found. Remember Red Nose Day 2019, anyone?
11. Delete unused S3 buckets and objects
Not much more to add to this one.
12. Use lifecycle rules to select the most cost-effective S3 storage class
S3 costs can be ridiculously low but they can also add up at scale. Reduce your S3 bill by selecting the optimum storage class for each object. You can do this manually or by creating a lifecycle rule in a few simple steps.
This is just a selection of ways to reduce your AWS bill but there are more… many more. For help with optimising your AWS spend, including a free audit, please get in touch with us.