Find out how much the Amazon Web Services (AWS) services you use cost first before taking any steps to save costs. Customers have the chance to explore and test out AWS services at no cost thanks to the Free Tier offered by Amazon Web Services (AWS). There are certain constraints placed on each service. Follow the instructions in this video to determine whether or not you have reached the maximum number of free tier posts allowed. Next, open up AWS Cost Explorer to view and investigate your account’s usage and fees associated with AWS. This application provides default reports that assist you in visualizing cost and consumption at a high level (such as AWS accounts or AWS services), as well as at the resource level (e.g. EC2 instance ID). Utilizing the “Monthly costs by linked account report,” your first step should be to determine which accounts are responsible for the majority of your expenses. The next step is to determine the primary services that are responsible for the majority of the costs associated with those accounts. Utilizing the “Monthly expenditures by service report” will allow you to accomplish this goal. Make use of the granularity at the hourly and resource level, as well as the tags, in order to filter and find the most expensive resources.
Let’s go over ten specific steps you can do right now to cut down on the price of using Amazon Web Services by making use of the tools and services that already exist.
#1 Determine which Amazon EC2 instances have low utilization and cut costs by shutting them down or increasing their size.
You can acquire a report of EC2 instances that are either not being used at all or are being used very little by making use of the Resource Optimization feature of the AWS Cost Explorer. You can bring down these expenditures by either putting an end to these instances or reducing their size. Make use of the AWS Instance Scheduler so that instances can be automatically terminated. Make use of the AWS Operations Conductor so that the EC2 instances can be automatically resized (based on the recommendations report from Cost Explorer). Utilize AWS Compute Optimizer to investigate instance-type suggestions in addition to downsizing recommendations within a family of instances. It provides recommendations for downsizing instances inside or across instance families, upsizing instances to eliminate performance bottlenecks, and providing recommendations for EC2 instances that are components of an Auto Scaling group.
#2 Determine which Amazon EBS volumes have low use and cut costs by first taking a snapshot of such volumes and then eliminating them
EBS volumes that show very minimal activity over a period of seven days (less than one IOPS per day) are likely not being used and are therefore likely not being monitored. Determine which volumes fall into this category by utilizing the Trusted Advisor Underutilized Amazon EBS Volumes Check. First, take a picture of the volume (in case you end up needing it later), and then remove these volumes to bring down your charges. The Amazon Data Lifecycle Manager gives you the ability to programmatically generate snapshots of your data. To delete EBS volumes, follow the methods outlined in this section.
#3 Conduct a utilization analysis of Amazon S3 and cut costs by making use of the more affordable storage tiers
Utilize S3 Analytics to conduct an investigation into the storage access patterns of the object data set for a period of at least 30 days. It provides ideas regarding the areas in which you can cut costs by utilizing S3 Infrequently Accessible (S3 IA). Using Life Cycle Policies, you will be able to programmatically move these objects onto a storage tier at a cheaper cost. You also have the option of using S3 Intelligent-Tiering, which does an analysis of your objects and moves them to the storage tier that is most suitable for them automatically.
#4 Determine which Amazon RDS and Amazon Redshift instances have a low utilization rate and cut costs by pausing and discontinuing the RDS service (Redshift)
Utilize the Trusted Advisor Amazon RDS Idle DB instances check to locate database instances that have not been connected to in the past week. This check may be found on the Amazon website. Stopping these DB instances will help you save money by utilizing the automation processes that are outlined in this blog post. Use the Trusted Advisor Underutilized Redshift clusters check for Redshift to find clusters that have not received any connections in the past week and have had an average CPU usage of less than 5 percent cluster-wide for 99.9 percent of the past week. Stopping these clusters according to the instructions in this blog will help you save money.
#5 Conduct a use analysis of Amazon DynamoDB and determine how to cut costs by utilizing Autoscaling or On-demand.
Use CloudWatch’s Consumed Read Capacity Units and Consumed Write Capacity Units metrics to conduct an analysis of how DynamoDB is being utilized in your environment. Utilize the AutoScaling feature of DynamoDB to automatically scale the size of your table, both in and out. You can enable AutoScaling on your already-created tables by following the procedures outlined in this section. You also have the option of making use of the on-demand service. With this option, you may choose to pay for reading and writing requests on a per-request basis, which means that you will only pay for the resources that you actually employ. This makes it simple to strike a balance between cost and efficiency.
#6 Conduct an audit of the networking infrastructure and eliminate unused load balancers to cut costs.
You can acquire a report of load balancers that have had a Request Count of less than 100 over the past 7 days by using the Trusted Advisor Idle Load Balancers check. The next step is to deactivate these load balancers using the techniques provided here in order to cut costs. In addition, using the methods that are outlined in this blog, review the expenses associated with your data transfer using the Cost Explorer. Consider utilizing Amazon CloudFront in the event that the cost of transferring data from EC2 to the public internet appears to be large. With the help of the Amazon CloudFront Content Delivery Network, any image, video, or static online content may be stored locally on AWS edge locations located all over the world (CDN). With CloudFront, there is no longer a requirement to over-provision bandwidth in order to accommodate potential surges in website visitors.
#7 If you want to save money on EC2 fees, use Amazon EC2 Spot Instances.
If your workload can tolerate some errors, using Spot instances could save you up to 90 percent of your costs. The phrases “big data,” “containerized workloads,” “continuous integration and delivery,” “high-performance computing,” “web servers,” and “other test and development workloads” are all examples of typical workloads. Launching On-Demand and Spot instances is possible when using EC2 Auto Scaling to achieve a desired level of capacity. Even if some of your Spot instances become unavailable, Auto Scaling will still make an effort to keep the target capacity at the level it was set at and will take care of requesting new instances automatically.
#8 Review and make any necessary changes to the settings of EC2 AutoScaling Groups
Your EC2 fleet can scale up or down in response to changes in demand thanks to an EC2 Autoscaling group. Review your scaling activity by executing the describe-scaling-activity command from the command line interface (CLI) or by following the procedures outlined in this article on the console. Conduct an analysis of the result to determine whether or not the scaling policy can be adjusted to add instances in a manner that is less aggressive. You should also check your settings to determine whether the minimum can be lowered in order to accommodate end-user requirements while operating a smaller fleet.
#9 Make use of Reserved Instances (RI) in order to cut down on the prices of RDS, Redshift, ElastiCache, and Elasticsearch.
As opposed to the pricing for On-Demand, purchasing RIs for one year with no upfront costs can get you a discount of up to 42 percent. Use the purchase suggestions that are given to you by the AWS Cost Explorer RI. These recommendations are based on the amount of time you spend using RDS, Redshift, ElastiCache, and Elasticsearch. Make sure that the criteria are changed to one year with no upfront payment. This demands a commitment of one year, but the time at which it becomes profitable is often between seven and nine months
#10 Make use of computing savings plans in order to lower your expenditures for EC2, Fargate, and Lambda.
Compute Savings Plans are applied automatically to the consumption of EC2 instances, regardless of the instance family, size, AZ, region, OS, or tenancy. Compute Savings Plans are also applied to the utilization of Fargate and Lambda. When compared to On-Demand pricing, the Compute Savings Plans that are good for one year and require no upfront payment offer savings of up to 54 percent. Make use of the recommendations that are offered in the AWS Cost Explorer and check to see that you have selected options for compute, one year, and no upfront payment. As soon as you sign up for one of our Savings Plans, the pricing for your compute consumption will be automatically adjusted to reflect the savings you’ll receive. The standard On-Demand fee will be applied to any usage above and beyond your monthly commitment.
You will be able to reduce expenses for Amazon EC2, Fargate, Lambda, EBS, S3, ELB, RDS, Redshift, DynamoDB, ElastiCache, and Elasticsearch if you follow these ten steps. It is highly recommended that you use AWS Budgets to create a budget so that you may receive notifications if your costs or consumption increases. You may also set up an alert in Budgets to notify you of charges that are projected in the future (apart from actual). Because of this, you will have the capacity to get one step ahead of the problem and cut expenditures in a proactive manner.
Jake is a writer and marketing associate for AllCode with a wealth of experience in a variety of industries.