Understanding AWS Billing & Pricing Models

Amazon Web Services (AWS) offers a flexible, scalable way of managing your web services and cloud computing resources. However, because organizations pay for the resources they use rather than 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 lowering your AWS spending, check out our handy guide with top tips for AWS cost optimization that won’t compromise your security.

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 this console makes AWS cost management much easier. You can see whether 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 and set spending limits. Our AWS cost optimization guide provides tips for how to make use of this information to keep your cloud spend at a manageable level.

AWS Pricing Models

AWS offers several pricing options, including a free tier that may be useful for students, open-source developers, and those who don’t need a significant amount of resources. Several paid options are also available, including:

  • On-demand instances: This is a simple pay-as-you-go option where users pay a fee (typically hourly) for the computing resources they use. You can terminate the instance at any time without incurring penalty fees. On-demand instances are convenient, easy to use, and popular for small-scale or ad-hoc deployments. However, they’re also the most expensive option.
  • Spot instances: These are similar to on-demand instances, but spot instances are discounted by up to 90% because Amazon has the right to terminate the instance at any time. This option is an affordable way to run fault-tolerant workloads.
  • Dedicated hosts: You can pay a fee per dedicated host, regardless of how many instances you run on that hardware. This option is popular with organizations that have existing application licenses based on processor sockets/cores or VMs.
  • Reserved instances: Customers can receive a discount of up to 72% by making a long-term (1- to 3-year) commitment. They can modify their instance during the commitment period but are required to pay for it regardless of whether it’s used.
  • Savings plans: Like reserved instances, users choose the computing capacity they need and make a 1- to 3-year commitment for that capacity. Savings plans can be applied to various resource types. However, if usage exceeds the committed capacity, it will be billed at on-demand rates.

When choosing a pricing model, consider your organization’s typical usage habits and the workload running on the instance. Switching to reserved or spot instances can provide some of the greatest cost savings if they’re suitable for your organization’s use case. For a more detailed look at each of the pricing options and their pros and cons, see our comprehensive article on AWS cost optimization.

Pricing also varies depending on the product.

Amazon EC2

EC2 pricing is based on:

  • The instance type
  • Configuration (e.g., memory and CPU allocation)
  • Load balancing
  • Allocated and unused Elastic IP addresses
  • The installed OS and software
  • Server uptime

Amazon S3

The Simple Storage Service offers a number of storage classes and types. Pricing is based on:

  • Storage class
  • Data volume (on per-GB basis)
  • The number and type of requests
  • Data moved between storage classes
  • Data transferred out of the storage host’s S3 region

Amazon Glacier offers low-fee archival storage with no long-term commitment or up-front fee. However, Glacier isn’t designed for frequently accessed data. Charges for requests and data transfers are higher than short-term storage options.

Snowball

Snowball pricing involves a service fee per data transfer job, in addition to the cost of shipping the appliance. Each job includes 10 days of free on-site Snowball use.

CloudFront

Pricing for the CloudFront Content Delivery Network (CDN) is based on:

  • The number of requests and the region those requests come from
  • The volume of data transferred out of CloudFront locations
  • Data transfer to CloudFront locations, based on the region of those servers
  • Additional fees incurred for custom SSL certificates, invalidation requests, etc.

Lambda

AWS Lambda has a pay-as-you-use pricing structure with prices calculated according to:

  • The amount of memory allocated to the function
  • The number of function requests
  • Execution time

DynamoDB

This database service charges according to:

  • Read and write throughput
  • Indexed data storage
  • Data transfer across AWS regions (Both ingress and egress are chargeable.)
  • Resource allocation for global tables
  • Reserved capacity, even if unused

DynamoDB is offered in two different modes. On-demand mode can be an affordable way of running unpredictable workloads, as you don’t need to specify your required capacity. You’re simply charged for the number of reads and writes you perform. In contrast, provisioned capacity mode can be more affordable for predictable workloads.

AWS Free Tier

AWS Free Tier offers access to limited resources at no cost. This tier is useful for those learning how to use AWS services and independent developers building prototypes. 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).

Some services are always free. All users have 25GB of DynamoDB storage at no cost, along with 1 million AWS Lambda requests per month and 1 million push messages via Amazon SNS.

Amazon publishes a full list of services included in the free tier on the AWS website, along with their limitations or expiration dates.

To access the free tier, users must verify their accounts with a credit or debit card. Once the trial ends, any services that are still running will automatically start to incur costs. Amazon sends a reminder email when free trial services are due to expire. Even with this reminder, it’s common for users to get caught off guard by their trial period ending, especially if they leave something running and stop logging in to their AWS account.

Be sure to set a reminder in your calendar to alert you when the trial is over. That way, you can log in to confirm any active instances have been stopped so you don’t run up an unexpected bill.

Understanding AWS Billing Reports

The AWS Billing console provides detailed cost information. However, it only covers current and past bills. If you’re interested in seeing what your future costs are likely to be, you need to check the AWS Cost Management console. It 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 to determine whether a specific resource regularly goes over budget.

Your AWS Bill Explained

AWS Bills are divided into four sections.

  • The header: This includes an invoice summary showing the date of the invoice and the total amount due.
  • By-service analysis: This section breaks down the charges by service. This is quite granular. Rather than simply saying “$300 of S3 usage,” it breaks it down to specific S3 services so you can identify what type of usage is contributing the most to your bill.
  • By-account analysis: If you run multiple AWS accounts within your organization, you may see a table breaking the bill down on a per-account basis.
  • By-region drill-down: This section is only visible in the AWS Billing console and isn’t included on printed or exported bills. It provides a breakdown of charges based on the region in which they were incurred.

AWS Billing Alerts and Alarms

Setting up billing alerts and alarms is one of the most important things to do when managing your AWS account, as it allows you to control your usage and manage costs effectively. Billing alerts and alarms let you see if your resource usage is higher than expected and notify 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:

  1. Log in as the root user or an IAM user who has permission to access the billing system.
  2. Open the billing console and navigate to billing preferences.
  3. Select alert preferences and click edit.
  4. Enable the option to receive CloudWatch billing alerts.
  5. Finally, click save preferences.

Alarms are created similarly to alerts within the CloudWatch console:

  1. Navigate to alarms and select all alarms.
  2. Click create alarm.
  3. Click select metric, browse to find billing, and select total estimated charge.
  4. 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.
  5. In addition to setting a single metric, you can also set additional configurations. 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.
  6. Click next.
  7. Under notification, select in alarm and 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.
  8. Click next.
  9. Add a name and description for the alarm.
  10. Click next.
  11. Review the settings and click create alarm to finalize the setup.

AWS Cost Optimization and 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 and Pricing With Veeam

AWS pricing can be confusing at first, but you can keep costs under control and manage your resource consumption 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 help you keep costs under control.

If you need help managing your AWS costs, check out our guide to lowering AWS spending or contact us to learn more about our services.

Related Content

Tags
Similar Blog Posts
January 9, 2025
December 20, 2024
Business | December 17, 2024
Stay up to date on the latest tips and news
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam’s Privacy Policy
You're all set!
Watch your inbox for our weekly blog updates.
OK