(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.
5. 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.
New Content: AWS, Azure, Typescript, Java, Docker, 13 New Labs, and Much More
This month, our Content Team released a whopping 13 new labs in real cloud environments! If you haven't tried out our labs, you might not understand why we think that number is so impressive. Our labs are not “simulated” experiences — they are real cloud environments using accounts on A...
Kickstart Your Tech Training With a Free Week on Cloud Academy
Are you looking to make a jump in your technical career? Want to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Kubernetes, Python, or another in-demand skill?Then you'll want to mark your calendar. Starting Monday, June 22 at 12:00 a.m. PDT (3:00 a.m. EDT), ...
New Content: AZ-500 and AZ-400 Updates, 3 Google Professional Exam Preps, Practical ML Learning Path, C# Programming, and More
This month, our Content Team released tons of new content and labs in real cloud environments. Not only that, but we introduced our very first highly interactive "Office Hours" webinar. This webinar, Acing the AWS Solutions Architect Associate Certification, started with a quick overvie...
Azure vs. AWS: Which Certification Provides the Brighter Future?
More and more companies are using cloud services, prompting more and more people to switch their current IT position to something cloud-related. The problem is most people only have that much time after work to learn new technologies, and there are plenty of cloud services that you can ...
Blog Digest: 5 Reasons to Get AWS Certified, OWASP Top 10, Getting Started with VPCs, Top 10 Soft Skills, and More
Thank you for being a valued member of our community! We recently sent out a short survey to understand what type of content you would like us to add to Cloud Academy, and we want to thank everyone who gave us their input. If you would like to complete the survey, it's not too late. It ...
New Content: Alibaba, Azure Cert Prep: AI-100, AZ-104, AZ-204 & AZ-400, Amazon Athena Playground, Google Cloud Developer Challenge, and much more
This month, our Content Team released 8 new learning paths, 4 courses, 7 labs in real cloud environments, and 4 new knowledge check assessments. Not only that, but we introduced our very first course on Alibaba Cloud, and our expert instructors are working 'round the clock to create 6 n...
Top 5 Reasons to Get AWS Certified Right Now
Cloud computing trends are on the rise and have been for some time already. Fortunately, it’s never too late to start learning cloud computing. Skills like AWS and others associated with cloud computing are in high demand because cloud technologies have become crucial for many businesse...
Introducing Our Newest Lab Environments: Lab Playgrounds
Want to train in a real cloud environment, but feel slowed down by spinning up your own deployments? When you consider security or pricing costs, it can be costly and challenging to get up to speed quickly for self-training. To solve this problem, Cloud Academy created a new suite of la...
Blog Digest: AWS Breaking News, Azure DevOps, AWS Study Guide, 8 Ways to Prevent a Ransomware Attack, and More
New articles by topicAWS Azure Data Science Google Cloud Cloud Adoption Platform Updates & New Content Security Women in TechAWSBreaking News: All AWS Certification Exams Now Available Online As an Advanced AWS Technology Partner, C...
AWS Certified Solutions Architect Associate: A Study Guide
Want to take a really impactful step in your technical career? Explore the AWS Solutions Architect Associate certificate. Its new version (SAA-C02) was released on March 23, 2020, though you can still take SAA-C01 through July 1, 2020. This post will focus on version SAA-C02.The AWS...
New on Cloud Academy: AWS Solutions Architect Exam Prep, Azure Courses, GCP Engineer Exam Prep, Programming, and More
Free content on Cloud Academy More and more customers are relying on our technology and content to keep upskilling their people in these months, and we are doing our best to keep supporting them. While the world fights the COVID-19 pandemic, we wanted to make a small contribution to he...
Breaking News: All AWS Certification Exams Now Available Online
Remote proctoring for all AWS certifications Cloud Academy is an Advanced AWS Technology Partner, and we are happy to announce all AWS certification exams are available online! What does this mean for you? You can stay focused on your certification goal. Or you can start a certifica...