Gaining Control of Your Cloud Costs
Amazon Web Services (AWS) EC2 instance cost management is typically the first challenge people encounter when they migrate to the cloud. Unfortunately, there is no easy one-size-fits-all solution to stop over-spending on instances. Instead the most effective cost management requires vigilance and a commitment to continual review.
Here are 5 of the most common AWS cost issues related to EC2 instances and the easy solutions for fixing them.
Not sure which instance types to buy to meet your cloud needs? Read this article on Three Ways to Purchase Your AWS EC2 Instances, and learn how to run Amazon workloads at scale.
1. Underutilized and Idle EC2 Instances
AWS EC2 instances are charged by time usage. As such, if a running EC2 instance is using less than its capacity, or even worse, sitting idle and not being used at all, you will continue to be charged for the instance. CloudCheckr can detect idle and underutilized instances by looking at your CloudWatch data and analyzing a combination of CPU Utilization and Network activity, and, optionally, Memory usage. If all these factors are low, the EC2 instance should be flagged. You should contact the owner of the instance and verify if the instance is needed at its current size or needed at all. Be aware that some instances may appear oversized but are purposefully configured that way for memory or other reasons. Do not turn off instances without first contacting the owner.
By detecting and shutting down any idle instances you can immediately start saving money and reduce AWS costs.
2. Previous Generation EC2 Instances That Should Be Migrated
EC2 provides a virtual computing environment where instances can be launched using a wide variety of operating systems and configuration options. AWS users can run their custom applications on these instances while maintaining full control over their security access.
When Amazon launches a new, upgraded family of instances (for example, m4 to m5), in addition to providing more compute power the new instances are often less expensive. Because of this, it almost always makes sense to migrate previous generation instances to their corresponding new generation instances. Doing so will improve your performance AND lower your bill!
NOTE: Migrating some instances from t1 to t2 may require a complete rebuild of the instance.
3. Track and Minimize Reserved Instance Types with Unused Hours
Reserved Instances (RIs) require an up-front payment to Amazon and a commitment of one or three years. In exchange for this, the hourly rate for the instance comes at a substantial discount compared to On-Demand pricing. Importantly, Amazon will bill you for the full month’s usage for the RIs, whether they are used or not. You should also know that when you buy an RI, you need to match key fields to ensure that it is used. If you are mismatching fields, you will end up paying 2x. Once for the RI and another for the On-Demand instance you are using.
Tracking unused hours ensures that you can readily identify and mitigate areas of waste where you have either purchased too many instances or failed to properly map your RI to your environment.
4. Actively Manage DynamoDB Tables
Amazon’s DynamoDB is a fully managed NoSQL database service that can store and retrieve large amounts of data, and serve high levels of request traffic. All data items are stored on Solid State Drives (SSDs), and are replicated across 3 Availability Zones for high availability and durability.
Idle DynamoDB tables are detected by looking at CloudWatch data over the last 48 hours and analyzing its utilization. If the average Consumed Reads and Writes are less than 2% of the Provisioned Reads and Writes, a table should be considered idle. In that case you should reduce the Provisioned Reads and Writes to reduce the cost of the table or delete the table if it is unused. You should contact the owner of any flagged tables and verify if the additional Provisioned Reads and Writes are actually needed.
Be more informed when it comes to choosing regions for your resources. Try ZoneCheckr, our free, web-based app that helps you visualize where the major cloud providers offer computing zones.
5. Convert EBS PIOPS Volumes to General Purpose SSD
General Purpose (SSD) volumes are backed by Solid-State Drives (SSDs) and are suitable for a broad range of workloads, including small to medium-sized databases, development and test environments, and boot volumes. General Purpose (SSD) volumes are designed to offer single-digit millisecond latencies, deliver a consistent baseline performance of 3 IOPS/GB to a maximum of 10,000 IOPS.
General Purpose (SSD) drives are given a base IOPS level of 3 IOPS/GB. For instance, if you allocate 1,000 GB of storage space for an EBS volume, the volume has a base IOPS level of 3,000 IOPS. For General Purpose (SSD) drive, you only pay for the storage. When you create a drive with Provisioned IOPS, you pay per IOPS and for the storage allocated. You can often attain high IOPS and high storage space for a lower cost by converting your volumes to General Purpose (SSD) drives. CloudCheckr’s best practice checks will monitor the cost of each configuration and recommend if there is a configuration for General Purpose (SSD) that would be less expensive for equal or greater storage and IOPS. This is often possible by configuring a larger amount of storage which gives you a higher base level of IOPS.
An example of this would be if you were using a 200GB EBS volume with 2000 PIOPS, you would save money by using a General Purpose (SSD) volume by creating a drive of 1,000GB which would give you 3,000 PIOPS. For less of an investment, you would get more IOPS and more storage space.
Start Using Automation
Now, before you start worrying about the time it takes to manage your AWS cloud costs, we should make it clear that all of these processes require very little time if you take advantage of automation. Receiving CloudCheckr’s best practice reports and configuring “fix now” or “always fix” actionable automation will ensure that your attention is only spent on high-risk issues.
The cloud can be extremely cost-effective, customizable, and user-friendly when you implement an easy-to-use cloud management platform like CloudCheckr. Our solution can automate the detection and response for each of these issues and help reduce your cloud costs. CloudCheckr provides you with each issue’s relative value and savings so you turn off or downsize the EC2 instances costing you thousands per month—rather than wasting time tracking down the tiny instances costing you pocket change.