CloudCostOptimization

10 things you can do today to reduce AWS costs

AWS’s breadth of services and pricing options offer the flexibility to effectively manage your costs and still keep the performance and capacity per your business requirement. While the fundamental process of cost optimization on AWS remains the same – monitor your AWS costs and usage, analyze the data to find savings, and take action to realize the savings; in this blog, I will take a more tactical approach to reduce cost with changes in user demand.

1. Identify Amazon EC2 instances with low utilization and reduce cost by stopping or rightsizing

Use AWS Cost Explorer Resource Optimization to get a report of EC2 instances that are either idle or have low utilization. You can reduce costs by either stopping or downsizing these instances. Use AWS Instance Scheduler to automatically stop instances. Use AWS Operations Conductor to automatically resize the EC2 instances (based on the recommendations report from Cost Explorer). Please note there is a cost involved for AWS Cost Explorer service.

2. Identify Amazon EBS volumes with low utilization and reduce cost by snapshotting and then deleting them

EBS volumes that have very low activity (less than 1 IOPS per day) over a period of 7 days indicate that they are probably not in use. Identify these volumes using the Trusted Advisor Underutilized Amazon EBS Volumes Check. To reduce costs, first snapshot the volume (in case you need it later), then delete these volumes. You can automate the creation of snapshots using the Amazon Data Lifecycle Manager.

3. Analyse Amazon S3 usage and reduce cost by leveraging lower-cost storage tiers

Use S3 Analytics to analyze storage access patterns on the object data set for 30 days or longer. It makes recommendations on where you can leverage S3 Infrequently Accessed (S3 IA) to reduce costs. You can automate moving these objects into lower-cost storage tiers using Life Cycle Policies. Alternatively, you can also use S3 Intelligent Tiering, which automatically analyzes and moves your objects to the appropriate storage tier.

4. Identify Amazon RDS and Amazon Redshift instances with low utilization and reduce cost by stopping (RDS) and pausing (Redshift)

Use the Trusted Advisor Amazon RDS Idle DB instances check, to identify DB instances that have not had any connection over the last 7 days. To reduce costs, stop these DB instances using automation. For Redshift, use the Trusted Advisor Underutilized Redshift clusters check, to identify clusters that have had no connections for the last 7 days, and less than 5% cluster-wide average CPU utilization for 99% of the last 7 days.

5. Analyse Amazon DynamoDB usage and reduce cost by leveraging Autoscaling or On-demand

Analyze your DynamoDB usage by monitoring 2 metrics, ConsumedReadCapacityUnits and ConsumedReadCapacityUnits, in CloudWatch. To automatically scale (in and out) your 6 DynamoDB tables, use the Autoscaling feature. You can enable Autoscaling on your existing tables. Alternatively, you can also use the on-demand option. This option allows you to pay-per-request for reading and writing requests so that you only pay for what you use, making it easy to balance costs and performance.

7. Review networking and reduce costs by deleting idle load balancers

Use the Trusted Advisor Idle Load Balancers check to get a report of load balancers that have a Request Count of less than 100 over the past 7 days. Then, delete these load balancers to reduce costs. Additionally, review your data transfer costs using Cost Explorer. If data transfer from EC2 to the public internet shows up as a high cost, consider using Amazon CloudFront. Any image, video, or static web content can be cached at AWS edge locations worldwide, using the Amazon CloudFront Content Delivery Network (CDN). CloudFront eliminates the need to over-provision capacity to serve potential traffic spikes.

8. Use Amazon EC2 Spot Instances to reduce EC2 costs

If your workload is fault-tolerant, use Spot instances to reduce costs by up to 90%. Typical workload examples include big data, containerized workloads, CI/CD, web servers, high-performance computing (HPC), and other test & development workloads. Using EC2 Auto Scaling you can launch both On-Demand and Spot instances to meet a target capacity. Auto Scaling automatically takes care of requesting Spot instances and attempts to maintain the target capacity even if your Spot instances are interrupted.

9. Use Reserved Instances (RI) to reduce RDS, Redshift, ElastiCache, and Elasticsearch costs

Use one year, no upfront RIs to get a discount of up to 42% compared to On-Demand pricing. Use the recommendations provided in AWS Cost Explorer RI purchase recommendations, which are based on your RDS, Redshift, ElastiCache, and Elasticsearch usage. Make sure you adjust the parameters to one year, not upfront. This requires a one-year commitment but the break-even point is typically seven to nine months.

10. Use Compute Savings Plans to reduce EC2, Fargate, and Lambda costs

Compute Savings Plans automatically apply to EC2 instance usage regardless of instance family, size, AZ, region, OS, or tenancy, and also apply to Fargate and Lambda usage. Use one year, no upfront Compute Savings Plans to get a discount of up to 54% compared to On-Demand pricing. Use the recommendations provided in AWS Cost Explorer, and ensure that you have chosen compute, one year, no upfront options. Once you sign up for Savings Plans, your compute usage is automatically charged at the discounted Savings Plans prices. Any usage beyond your commitment will be charged at regular On-Demand rates.

11. Billing and Pricing Review

Fortunately, cloud provider billing provides detailed information about what is being paid for. The high-level breakdown or itemization of costs is the map to savings. Likely the highest spend will be compute, storage and value-add managed services like RDS. Prioritize the highest-spend services for a detailed analysis. For example, AWS EC2 (compute) is often the highest-spend category on the bill. Prioritize cost optimization for the teams spending the most. Perhaps the savings realized by the biggest spenders is greater than the budget of the smaller ones. I suggest reviewing the bills once in 3 months and taking appropriate steps.

12. Train Teams to Think about the Cost

This might sound like a lot to put on these product owners and directors. And to an extent, it is. But we’re in a brave new world and it calls for building new skills. AWS has multiple programs that can help your teams have a better sense of understanding cloud costs and how to manage them through “Introduction to AWS Billing and Cost Management” and “Well-Architected Labs Cost Optimization” videos. I strongly encourage you to have as many members of your team as possible attend these, including your finance teams.

If this seems interesting, please email us at [email protected] for more information. 

Relevant blogs:

Securing Your Cloud with Zero Trust and Least Privilege

Multi-Cloud Management: Tools, Challenges, and Best Practices

Monitoring Blind Spots in the Cloud and What to Do About Them

6 Myths About the Cloud That You Should Stop Believing

Recent Comments

No comments

Leave a Comment