AWS Costs: the 5 Most Common Mistakes

(Mis)managing your AWS Costs

We all know that AWS lets us deploy applications in ways that would have been unimaginable using traditional IT infrastructures and processes. But for that very reason, it’s a bit too easy to lose track of exactly what you have running at any one time. The end of a billing period might consequently bring unexpected AWS costs indicating that your ongoing charges have soared out of control.

To avoid this, you’ll have to better understand where these surprises can come from. In this article, I will describe what I believe to be the five biggest AWS costs control and resources management mistakes people and organizations currently make.

1. Using oversized instances, too many instances, or leaving instances running idle

Carefully choosing the correct instance type is a fundamental decision you’ll have to confront. What size instances should you run? How many will you need? How will you keep track of all your resources (a good place to start is your AWS account’s Billing page)? Each infrastructure deployment has its own unique characteristics, so these are questions that only you and your organization can answer. Instance types that are specifically optimized for compute, memory, or storage are obviously going to cost more than low-tier or generic versions. It’s your responsibility to ensure you’re not over-provisioning for your specific project. But remember: using oversized instances will cost you money, using too many instances will cost you money, and leaving unused instances running will, you guessed it, cost you money.

2. Choosing the wrong instance model

Besides instance types, there are also three distinct ways to purchase instance resources and thereby closely control your AWS costs:

  • On-Demand Instances allow you to pay a fixed rate by the hour with no commitment.
  • Reserved Instances provide a capacity reservation, offering a significant discount over hourly on-demand prices when you commit to longer-term instance purchases.
  • Spot Instances enable you to bid your own price for instance capacity. Assuming that your applications have flexible start and end times and can survive service interruptions when instances at your bid price aren’t unavailable, this can provide significant savings.

For a first-time AWS user, On-Demand Instances are the easiest to deploy and “no-commitment” sounds attractive. But using On-Demand for any sustained periods can generate unexpected AWS costs at the end of the month.

Continuously stopping and starting these instances will also prove costly. If you are planning on deploying a site that needs to operate 24/7 and expect to run this site over for the next 12 months, you would be far better off with a reserved instance, since you’ll know your exact costs up front. If you’re planning to deploy infrastructure that’s a little more complex and requires Elastic Load Balancers and Auto Scaling, you will probably need to draw on a combination of both On-Demand and Spot Instances, carefully calculating the relative AWS costs. Doing this right requires some careful planning.

3. Taking too many snapshots

You can back up the data on your Amazon EBS volumes to Amazon S3 by taking point-in-time snapshots. Backing up your data is not only a smart thing to do but, more often than not, it’s critical. However, EBS snapshots should be saved in moderation, or you may find yourself suffering from snapshot sprawl…which can exponentially increase your storage costs. Make sure you have an EBS Snapshots retention strategy in place (using S3 Lifecycle rules) that’s a good fit for your particular needs.

4. Not releasing allocated Elastic IPs

AWS allows you one Elastic IP (EIP) address associated with a running instance at no charge. However, you will be charged for each additional EIP that you associate with that instance per hour on a pro rata basis. To ensure efficient use of Elastic IP addresses (which are, by definition, a limited resource), AWS also imposes a small hourly charge when these IP addresses are not associated with a running instance or when they are associated with a stopped instance or an unattached network interface. That’s right: you may just stop your instance and assume that the IP associated with it will be automatically released. Unfortunately, this is not the case, and your accrued AWS costs will prove it. So make sure that you aren’t maintaining (and paying for) any unused EIPs.

AWS costs sample image5. Not monitoring AWS costs using CloudWatch and Smart Alerts

Amazon CloudWatch is a monitoring service for AWS cloud resources and the applications you run on AWS. You can use Amazon CloudWatch to collect and track metrics, monitor log files, and set alarms. You can set alarms on any of your metrics to receive notifications or automatically initiate other actions (like shutting down unused or underused EC2 instances) when a metric crosses your specified threshold. You can also use Auto Scaling to add or remove Amazon EC2 instances dynamically based on your Amazon CloudWatch metrics. If you have a complex infrastructure of any kind running on AWS, you really need to use CloudWatch to keep up with it.

Most importantly, however, can be the Billing Alerts you create to warn you when your monthly costs reach a certain predetermined threshold.

Control AWS Costs: plan ahead

Careful consideration of the above points will hopefully help you keep your ongoing AWS costs down. As we mentioned, Amazon is a fabulous platform for deploying large applications at prices unimaginable until recently. However if these applications aren’t carefully monitored and kept in check, you may find that the money you’d hoped to save by deploying your infrastructure on AWS is silently flying out the window.

Read also EC2 Pricing: understanding compute costs on AWS

Avatar

Written by

Michael Sheehy

I have been UNIX/Linux System Administrator for the past 15 years and am slowly moving those skills into the AWS Cloud arena. I am passionate about AWS and Cloud Technologies and the exciting future that it promises to bring.


Related Posts

Connie Benton
Connie Benton
— April 1, 2020

How To Build a Career with AWS Certifications

From Iaas and PaaS solutions to digital marketing, cloud computing reshapes the world of technology. As the influence of this technology grows, so does investment. Tens of billions of dollars are being spent on cloud computing-related services each year. This influx is continuing to inc...

Read more
  • AWS
  • Certifications
Vijayakumar Athithan
Vijayakumar Athithan
— March 27, 2020

What is Cognito in AWS?

Web applications usually allow a valid username and password combination for successful sign in to the application. Modern authentication flows incorporate more approaches to ensure user authentication. When using AWS, this is no exception, thanks to the abilities and features offered b...

Read more
  • AWS
  • AWS Cognito
  • Solutions Architect
Avatar
Andrew Larkin
— March 20, 2020

The 12 AWS Certifications: Which is Right for You and Your Team?

As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing. As the market leader and most ma...

Read more
  • AWS
  • AWS Certifications
Alisha Reyes
Alisha Reyes
— March 17, 2020

Cloud Academy’s Blog Digest: How Do AWS Certifications Increase Your Employability, How to Become a Microsoft Certified Azure Data Engineer, and more

With everything going on right now, it's likely that the only thing you've been reading lately is related to the coronavirus pandemic. It's important to stay informed during these times, but it's also good to jump into something that can take your mind off of the current situation for j...

Read more
  • AWS
  • Azure
  • blog digest
  • Certifications
  • Cloud Academy
  • programming
  • Security
Avatar
Cloud Academy Team
— March 13, 2020

Which Certifications Should I Get?

As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...

Read more
  • AWS
  • Azure
  • Certifications
  • Cloud Computing
  • Google Cloud Platform
Alisha Reyes
Alisha Reyes
— March 7, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Alisha Reyes
Alisha Reyes
— March 6, 2020

New on Cloud Academy: Intro to GitOps; AWS Courses; Java, Python, Amazon Linux 2, Ubuntu, & Docker Playgrounds; and much more

New Lab Playgrounds This month, our Content Team released six new "playground labs." Our playground labs provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to instal...

Read more
  • AWS
  • Azure
  • gitops
  • Google Cloud Platform
  • lab playground
  • programming
Patrick Navarro
Patrick Navarro
— March 4, 2020

AWS Certifications: How Do They Increase Your Employability and Progress Your Career?

AWS certifications are no walk in the park. They’re designed to validate in-depth, specialist knowledge and comprehensive experience, often requiring months of dedicated studying to earn even for those already working with the cloud platform. But the rewards that AWS professionals ca...

Read more
  • AWS
  • AWS certification
  • certification
Avatar
Chandan Patra
— February 21, 2020

Elasticsearch vs. CloudSearch: AWS Cloud Search Choices

Elasticsearch vs. CloudSearch: What's the main difference? Let's compare AWS-based cloud tools: Elasticsearch vs. CloudSearch. While both services use proven technologies, Elasticsearch is more popular, open source, and has a flexible API to use for customization; in comparison, CloudS...

Read more
  • AWS
  • Azure
  • cloudsearch
  • elasticsearch
Avatar
Andrew Larkin
— February 13, 2020

Cloud Academy Content Roadmap Updates

Welcome to our Q1 2020 roadmap. This is the content we plan to build over the next three months, between February 1 - and April 30, 2020. Let's look at some of our roadmap highlights. Atlassian Bamboo for CI/CD We had a lot of requests for practical guides on how to apply DevOps tool...

Read more
  • Artificial Intelligence
  • AWS
  • Azure
  • Docker
  • Google Cloud Platform
  • Kubernetes
  • Machine Learning
Alisha Reyes
Alisha Reyes
— February 7, 2020

New on Cloud Academy: Git Labs, CKA and CKAD Lab Challenges, AWS and Azure Learning Paths, AGILE, and Much More

We just kicked off our first Free Weekend of 2020. This means we've unlocked our Training Library for just 72 hours. Until Sunday at 11:59 pm (PST), you can get unlimited access to our industry-leading learning paths, courses, certification prep exams, and our most popular hands-on labs...

Read more
  • agile
  • AWS
  • Azure
  • Google Cloud Platform
  • Linux
  • OWASP
  • programming
  • red hat
  • scrum
Avatar
Stuart Scott
— February 6, 2020

How to Encrypt an EBS Volume

Keeping data and applications safe in the cloud is one of the most visible challenges facing cloud teams in 2020. Cloud storage services where data resides are frequently a target for hackers, not because the services are inherently weak but because they are often improperly configured....

Read more
  • AWS
  • EBS
  • Encryption