Amazon Web Services (AWS) offers cloud services that can be a flexible, scalable way of managing your web services and computing resources. However, because organizations pay for the resources they use rather than paying a flat monthly fee, managing AWS spending can be a challenge for some IT teams. Here we’ll discuss how AWS billing and pricing works, and how to keep control of your spending.
If you’d like to know more about how to lower your AWS spending, check out our handy guide with top tips for AWS cost optimization, without compromising security in any way.
What Is AWS Billing?
AWS users are billed monthly based on the resources they use. The AWS Billing console provides users with a dashboard where they can view current and past invoices, combine their AWS accounts to get an overview of their usage across the platform and see a detailed breakdown of their bills and how the costs were incurred.
The information offered through AWS Billing makes cost management much easier, as you can see at a glance if certain elements such as storage, data transfer or compute resources are going over the expected usage levels. This knowledge can help you troubleshoot errant processes or set better limits to help keep costs at manageable levels.
AWS Pricing Models
AWS offers several pricing options. There’s a free tier that may be useful for students, open-source developers and those who don’t need a significant amount of resources. There are also several paid options, including:
- On-demand instances: With on-demand instances, you pay full price for the instance when you need it, but you’re not committed to a long-term contract. You can terminate the instance at any time without incurring a penalty. This is the most expensive option for long-term use, but it may still be appealing for ad-hoc development usage because of the flexibility.
- Reserved instances: These instances are purchased at a discount typically between 40-60%. However, rather than being billed month to month, there’s a one- to three-year contract for these instances. This option is best for a live application where you require stability and know you have relatively stable requirements.
- Spot instances: Amazon offers these instances at a 50-90% discount. However, there’s no commitment from Amazon to supply these instances. Amazon offers spot instances at a discounted price because the user accepts the risk that they may not be available when needed. Academics and others who require server availability but can be flexible about when their code is running may find the low cost of spot instances appealing.
Some of the greatest cost savings can come through simply switching to reserved or spot instances if they’re suitable for your organization’s use cases.
AWS Free Tier
The AWS free tier offers access to limited resources at no cost. The free tier is useful for those who are learning how to use AWS services and for open-source developers who’d like a cloud platform to test their work on. It may also be suitable for small businesses or startups that want to test a product and don’t need a lot of storage space or computing power.
AWS offers limited trials of some services such as the SageMaker machine learning platform and Amazon AppStream. It also offers a 12-month trial period for popular services such as Amazon Elastic Compute Cloud (Amazon EC2) (compute resources), Amazon Relational Database Services (Amazon RDS) (databases) and OpenSearch (analytics).
Finally, there are some always-free services. All users have 25GB of DynamoDB storage available for free, along with 1 million AWS Lambda requests per month and 1 million push messages via Amazon SNS.
The above are just a handful of the services offered on Amazon’s free tier. The company publishes a full list of the services and limitations or expiration dates for the free tier on the AWS website.
To access the free tier, users have to verify their accounts with a credit or debit card. Once the trial is over, any services that are still running will automatically start to incur costs. It’s common for users to get caught off guard by this, especially if they leave something running and then stop logging in to their AWS account. Be sure to set a reminder in your calendar to alert you when the trial is over, so you can log in to confirm that any active instances have been stopped, so you don’t get an unexpected bill.
Understanding AWS Billing Reports
As previously mentioned, the AWS Billing console provides detailed billing information. However, it focuses on current and past bills. If you’re interested in seeing what future costs are likely to be, you’ll need to access the AWS Cost Management console. This provides information about your current usage and tools to help you limit your resource consumption and stay in control of your bills.
One particularly useful feature of the cost management tool is the option to categorize costs. For example, you may wish to split the costs for compute resources, storage and API calls into separate categories, so they can be billed to different departments.
You can then view current and historic costs based on categories. You can also set cost targets for each category, so you can better understand whether a specific resource is regularly going over budget.
AWS Billing Alerts & Alarms
One of the most important things to do when managing your AWS account is to set up billing alerts and alarms, so you can control your usage and manage costs effectively. Not only will using billing alerts and alarms let you see if your own resource usage is higher than expected, it will alert you if your account is compromised and attackers are running resource-hungry code under your account.
If you’re using a resource that’s part of a long-term trial on the free tier, you’ll be alerted if you’re close to reaching the cap of that tier. It’s important to be aware that short-term trials don’t have an automatic alert system, so if you’re using any, be sure to monitor your resource consumption and stop the trial when it ends.
With premium services, you can configure alerts using the CloudWatch system:
- Log in as the root user or an IAM user who has permission to access the billing system
- Open the Billing console and navigate to billing preferences
- Select alert preferences and click edit
- Enable the option to receive CloudWatch billing alerts
- Finally, click save preferences
Alarms are created similarly to alerts, within the CloudWatch console:
- Navigate to alarms and then select all alarms
- Click create alarm
- Click select metric and then browse to find billing and then select total estimated charge
- Set the preferences for the alert you’d like to receive. For example, when the estimated charges metric is greater than … a specified dollar value.
- In addition to setting a single metric you can also set additional configuration For example, you may wish to allow an estimated charge to exceed a value for a short period, but to alert you if it happens more than once during a given day or week. This can be set using the datapoints to alarm option.
- Click next
- Under notification select in alarm and then set an Amazon SNS topic such as your email address. If you ’don’t have an Amazon SNS topic, you can create a new one at this time.
- Click next
- Add a name and description for the alarm
- Click next
- Review the settings ’you’ve chosen, and then click create alarm to finalize the set-up
AWS Cost Optimization & Pricing Case Studies
If you’re using AWS for a significant amount of computing resources, you could save a lot of money by choosing the right pricing models and properly configuring your services. Simply selecting the correct storage options and automation schedule could save your organization money.
Ciox utilized Veeam to decrease their monthly spend to less than $20,000 USD per month on their immutable backups. Not only are they backing up 500TB of data daily, but they are also moving it between clouds, which shows how through properly planning it is possible to avoid bill shock.
Manage Your AWS Billing & Pricing With Veeam
AWS pricing can be confusing at first, but it’s possible to keep costs under control and manage your resource consumption effectively by taking advantage of the AWS Billing console and CloudWatch billing alerts. Proactively monitoring your resource consumption and making data-driven decisions about which pricing tiers to choose can also help you keep costs under control.
If you’re looking for help to manage your AWS costs, take a look at our guide to lowering AWS spending, or contact us to learn more about our services.