AWS offers a wide range of service plans at different prices so customers can manage costs efficiently while ensuring operational performance according to business needs. In general, the process of optimizing costs on AWS is cost management and usage, data analysis to find optimal solutions. This article will offer tactics (10 ways) to help you optimize costs on AWS.
Preparation – Optimize AWS Costs
First, learn about the cost of the AWS services you’re using. AWS Free Tier allows customers to use some AWS services for free within a specified limit for each service. Try following the steps in the video below to check if you’re over the free usage limit!
Next, use AWS Cost Explorer to track and analyze AWS costs and usage. This tool provides reports on general costs and usage (AWS accounts and AWS services) or at the resource level (EC2 instance ID). Start by identifying the most cost-effective accounts through “Monthly Account Cost Reporting.” Next, identify the cost-effective services in each of the above accounts. You can see this information from the “Monthly Service Cost Report.” Use units of hours, resources, and tags to filter and identify the resources that incurring you need the most.
Now, you should have an understanding of your AWS costs and usage. Next, let’s walk through 10 tactical things you can do today using existing AWS tools and services for your company or project to optimize AWS costs.
10 tactical things you can do to optimize AWS Costs
#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).
Use AWS Compute Optimizer to look at instance type recommendations beyond downsizing within an instance family. It gives downsizing recommendations within or across instance families, upsizing recommendations to remove performance bottlenecks, and recommendations for EC2 instances that are parts of an Auto Scaling group.
#2 Identify Amazon EBS volumes with low-utilization and optimize AWS costs by snapshotting 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 Analyze 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 tier using Life Cycle Policies. Alternately, you can also use S3 Intelligent-Tiering, which automatically analyzes and moves your objects to the appropriate storage tier.
#4 Identify Amazon RDS, 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. For Redshift, use the Trusted Advisor Underutilized Redshift clusters check, to identify clusters which 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 Analyze Amazon DynamoDB usage and reduce cost by leveraging Autoscaling or On-demand
Analyze your DynamoDB usage by monitoring 2 metrics, ConsumedReadCapacityUnits and ConsumedWriteCapacityUnits, in CloudWatch. To automatically scale (in and out) your DynamoDB table, use the AutoScaling feature.
Alternately, you can also use the on-demand option. This option allows you to pay-per-request for read and write requests so that you only pay for what you use, making it easy to balance costs and performance.
#6 Review networking and optimize AWS costs by deleting idle load balancers
Use the Trusted Advisor Idle Load Balancers check to get a report of load balancers that have RequestCount of less than 100 over the past 7 days.
If data transfer from EC2 to the public internet shows up as a significant 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 in order to serve potential spikes in traffic.
#7 Use Spot Instances to optimize AWS costs for Amazon EC2
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 for Spot instances and attempts to maintain the target capacity even if your Spot instances are interrupted.
Learn more here: https://hybridcloud.com.vn/blog/ec2-spot-instances/
#8 Review and modify EC2 AutoScaling Groups configuration
An EC2 Autoscaling group allows your EC2 fleet to expand or shrink based on demand. Review your scaling activity using either the describe-scaling-activity CLI command or on the console.
Analyze the result to see if the scaling policy can be tuned to add instances less aggressively. Also, review your settings to see if the minimum can be reduced so as to serve end-user requests but with smaller fleet size.
#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, no upfront. This requires a one-year commitment but the break-even point is typically seven to nine months. It is recommended to do #4 before #9.
#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. It is recommended to do #1 before #10.
#11 Managing spot instances DIY (do-it-yourself)
Spot.io automates and continuously optimizes cloud compute infrastructure, helping companies reduce their computing costs by up to 90% while ensuring scalability and availability. The Spot.io solution provides insights, recommendations, and automation to continuously right-size your infrastructure, maximize utilization, and leverage the most cost-efficient computing resources available.
With our experience and large case studies, Cloud Space will ensure to optimize AWS costs per month, but still, maintain the performance of your AWS Cloud Systems. For further information, please contact Cloud Space for advice:
- Hotline: (+84) 86 980 5768 - LinkedIn: https://www.linkedin.com/company/cloudspacevn - Website: + https://cloudspace.vn + https://hybridcloud.com.vn + https://publiccloud.com.vn