AWS Pricing: 5 Models & Pricing for 10 Popular AWS Services

How Does AWS Price its Services?

AWS (Amazon Web Services) is the world’s leading cloud provider, offering 175 services across infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). 

All Amazon services have on-demand pricing, which means you pay for your actual use of the service. In addition, Amazon provides discounts in the following cases:

  • Discount for reserving services for periods of 1 or 3 years (known as Reserved Instances)
  • Discount for spare computing capacity by bidding on Amazon’s Spot Instance market
  • Savings Plans—a commitment to purchase a certain quantity of Amazon resources across your entire organization

Amazon also offers the Free Tier, which lets organizations use a wide variety of services, with certain limitations, for the first year since they joined Amazon. Even after the first year, Amazon provides an Always Free tier with a limited set of services.

This is part of an extensive series of guides about FinOps.

In this article, you will learn:

AWS Pricing Principles

Pay as You Go

Pay as You Go is a pricing principle that lets you rent resources on-demand. This model provides complete flexibility over how many machines you run and for how long. You can leverage on-demand resources when you cannot buy or build your own infrastructure. However, on-demand infrastructure can quickly incur high costs, especially for ongoing server deployments.

Use More, Pay Less

Amazon provides volume discounts and tiered pricing for most of its services. For example, the more storage you consume, the less the storage services cost. You can dynamically move your workloads between services and pricing tiers to continuously optimize costs. However, to effectively manage this operation you need to understand the inner workings of each service, and learn when and how to shift data across environments.

Save When You Reserve

AWS provides significant discounts, ranging between 30% and 72%, on reserved EC2 instances. This option lets you reserve compute capacity for a long period of time (1 or 3 years). In return for this long term commitment, you get a discount on the total price of the reserved capacity. However, you are committed to pay the full cost even if you do not end up using all of the reserved capacity.

Free Usage Tier

AWS offers new customers the option to use many services for free, for the duration of one year or until you reach the allotted quota. For example, you can get a maximum of 750 hours worth of EC2 instances or 5 GB of storage on Amazon Simple Storage Service (Amazon S3). However, to ensure you properly leverage free resources, you should plan your budget in advance. AWS offers a pricing calculator that can help you estimate your costs.

Now that we have introduced AWS pricing principles, let’s dive into each one of their actual pricing models. 

AWS Free Tier

An important part of Amazon’s pricing is the AWS Free Tier, which allows organizations to try Amazon services at no cost. The Free Tier has three levels:

  • 12 months free—a bundle of services that a new Amazon user can use for a year from their initial registration. Users pay the regular price after 12 months, or if they exceed the Free Tier limits on any of the services. 
  • Always free—this is a more limited bundle of services that all AWS users can use for free, even after their initial 12 months expire.
  • Trials—short term trial for a specified period after activating an Amazon service

The following table shows key services available in the 12 month and always free tiers. To see the full list of services for all three tiers see the official free tier pricing.

 12 Months FreeAlways Free
Compute750 hours of EC2 Linux t2.micro instance and Elastic Load Balancer (ELB) 
Database750 hours of Amazon Relational Database Service (RDS)* with 20GB storage and 20GB backup25GB of storage and 25 Units of Read/Write Capacity on DynamoDB25GB of storage on DynamoDB
Caching750 hours of Amazon ElastiCache Micro Cache Node 
StorageEBS volume with 30GB,  GB of storage on S3, 1 GB of snapshot storage 
Serverless(same as Always Free)1 million requests per month on AWS Lambda
Messaging(same as Always Free)1M publishes on Amazon SNS
Logging(same as Always Free)10 custom metrics and alarms on CloudWatch
Archival(same as Always Free)10GB of retrieval from Amazon Glacier

(*) Amazon RDS provides access to free database engines including MySQL, PostgreSQL, and SQL Server Express Edition.

5 AWS Pricing Models

AWS provides five pricing models, which can help you optimize costs and plan budgets according to specific use cases. You can use one or more of these models when planning your AWS project.

On-Demand

AWS lets you use EC2 compute instances with on-demand pricing, and pay by the hour or by the second. This pricing model enables you to spin up instances without paying for anything in advance. You can quickly terminate these instances as needed, and pay for the resources you used. This option provides a high level of flexibility and scalability, and is ideal for new AWS users testing the environment or for unpredictable workloads. However, on-demand instances are more expensive and can quickly accumulate costs. 

Spot Instances

AWS Spot Instances can help you significantly reduce costs on computing capacity, because these instances are offered at up to 90% off the on-demand price. This model offers the largest potential cost-savings, especially when you need to scale quickly. However, spot instances can be challenging to use for some fault-sensitive workloads. A spot instance may be terminated at any time, whenever AWS needs this compute capacity. You get a two minutes warning before your instance is terminated. 

Learn more about using spot instances for production and mission-critical workloads.

Reserved Instances

Reserved Instances (RIs) pricing offers significant discounts in return for committing to use AWS for a long period of time—1 or 3 years. AWS offers several ways to pay for RIs, including no upfront, partial upfront, and all upfront. It is relatively less complex to set up and maintain RIs, compared to spot instances. However, you are billed for all reserved instances, even if you do not use all capacity.

Savings Plans

Like RIs, AWS Savings Plans offer a significant discount in return for committing to use AWS resources for a longer period of time. However,  Savings Plans let you make an hourly spend commitment, and then applies a discount rate, which is subtracted from your on-demand usage. Unlike RIs, Savings Plans are consolidated across resources, which means you can leverage several discounts across your AWS account. 

Dedicated Hosts

AWS lets you rent physical servers, which are called Dedicated Hosts. This option is considered highly secured and reliable, because you have the entire server for your private use. When renting a Dedicated Host, you do not need to do administrative tasks. AWS cleans and maintains the hardware. However, Dedicated Hosts are more expensive, and is mainly within the budget of enterprises.

Learn more in our detailed guide to emr spot instances

Pricing Factors for 10 Popular AWS Services

Amazon pricing is extremely complex, with long tables of pricing data for each service. Pricing can also change frequently, with shifts of demands for different Amazon services. 

While it’s not possible to cover all prices and combinations in one article, below we provide a map of key Amazon services and the main factors guiding their pricing. 

Amazon Simple Storage Service (S3)
  • Amazon region
  • Storage class—Standard, Standard-Infrequently-Accessed, Intelligent Tiering, and Glacier (archive)
  • Data requests—priced by type of request
  • Data transfer outside the Amazon region
Amazon Elastic Compute Cloud (EC2)
  • Compute instance types—these are divided into five families: General Purpose, Compute Optimized, Memory Optimized, Accelerated Computing, and Storage Optimized.
  • Time the instance is run (billed by the second)
  • Operating system—for Windows instances, the hourly price includes license costs
  • Pricing model—On-Demand, Reserved Instance, Spot Instance, and Savings Plans
  • Attached storage (see EBS below)

Learn more in our guide to AWS EC2 pricing

Amazon Elastic Block Storage (EBS)
  • Amount and duration of storage used (GB-month)
  • Storage used for snapshots (priced separately)
  • Data transfer outside EC2
  • Type of EBS volume—General Purpose SSD, Provisioned IOPS SSD, HDD
  • I/O Operations Per Second (IOPS)—for high performance provisioned IOPS volumes
Amazon Relational Database Service (RDS)
  • Database engine—MySQL, PostgreSQL, MariaDB, Oracle, SQL Server
  • Deployment In single availability zone or multiple availability zones
  • Instance type—divided into two families, General Purpose and Memory Optimized
  • Data transfer in GB
  • Backup storage
  • Pricing model—On-Demand or Reserved Instance
Amazon DynamoDB
  • Capacity model: on-demand, provisioned, or reserved capacity
  • Data storage
  • Number of reads/write requests
  • Backup and restore
  • Usage of global tables
  • Data transfer outside DynamoDB, over 1GB
Amazon Elastic Map/Reduce (EMR)

  • When running on EC2 instances, pricing is an additional charge on top of the regular EC2 price. Price per hour depending on EC2 instance type

  • When running Amazon EKS, price per vCPU-hour and per GB-hour.

Learn more in our guide to AWS EMR pricing

Amazon Lambda
  • Number of serverless function invocations
  • Time a function runs—priced per GB-second
  • Memory available to functions—priced per millisecond
  • Provisioned concurrency—pre-loaded functions ready to accept requests
Amazon Fargate

  • Number of virtual CPUs used per hour

  • Storage and duration (GB-hour)

  • Pricing model—On-Demand or Spot instances

Learn more in our guide to Fargate pricing

Amazon Elastic Kubernetes Service (EKS)
  • $0.10 per hour for each Amazon EKS cluster
  • When running on EC2, regular pricing for EC2 instances
  • When running on Fargate, regular pricing for Fargate applies
Amazon Elastic Container Service (ECS)

  • When running on EC2, no additional charge for running ECS

  • When running on Fargate, charges are for vCPUs and GB used until ECS tasks complete

Learn more in our guide to AWS ECS pricing

AWS Cost Management Tools

Amazon offers several free tools you can use to optimize your cloud costs.

Billing and Cost Management Console

This is part of the Amazon Management Console, which lets you view Amazon services used by your organization, and find the optimal service structure. 

You can use the billing console to consolidate accounts, and create a billing entity for each IT budget within your organization. This eases management, and can also help you leverage AWS Savings Plans, which grant a discount in exchange for a commitment to a certain spend across an entire Amazon account.

AWS Budgets

Enables setting a budget for a specific Amazon service, and triggers notifications via Simple Notification Service (SNS) when you reach or exceed the budget. You can specify an “umbrella” budget for a service, or link the budget to specific data points related to your usage of an Amazon service (such as the number of compute instances or data utilization).

AWS Budgets provides a budget dashboard that shows how each service is being used compared to its budget.

AWS Cost Explorer

Lets you view historical data about Amazon service usage and costs. It displays 13 months of historical data, and also predicts future expenses. You can Create custom views to analyze your costs, find areas of waste and discover saving opportunities. Cost Explorer also provides an API to access your data through analytics tools.

AWS Trusted Advisor

An automated tool that provides guidance on best practices for Amazon services. One of the five areas Trusted Advisor investigates is cost optimization. 

The tool offers automatic optimization suggestions, including optimizing reserved instances and managing lease expiration, identifying EC2 instances and EBS volumes with low usage, load balancers that are currently idle, unused elastic IPs, unused Amazon RDS databases, and any other resource that is underutilized and could be terminated to save costs.

Amazon CloudWatch

Amazon CloudWatch allows you to set alarms based on metrics captured for Amazon services. Many organizations use CloudWatch for cost optimization and savings. For example, you can set up an alarm when an EC2 instance’s utilization drops below a certain threshold, investigate this alarm, and resize the instance or move workloads to another instance.

Optimizing AWS Pricing with Spot by NetApp

While public cloud providers offer native tools for some cloud optimization, and even provide recommendations for potential cost reduction, they stop short of actually implementing any of those optimizations for you. In addition, each cloud provider is also siloed to its own cloud. Most organizations have at least two clouds and therefore need a solution that can provide a multi-cloud perspective.

This is where Spot by NetApp’s portfolio can help. Spot not only provides comprehensive visibility into what is being spent on your cloud compute and by whom and on what resources, but also:

  • Generates an average saving of 68% by showing you exactly where you can use either EC2 spot instances or reserved capacity (RIs and Savings Plans) to save costs. It lets you reliably automate workload optimization recommendations in just a few clicks.
  • Guarantee continuity for spot instances, ensuring even production and mission-critical applications can safely run on spot instances, using predictive algorithms and advanced automation to guarantee workload continuity.
  • Automatically manage and optimize RIs and Saving Plans portfolios, providing maximum utilization and ROI with minimal risk of financial lock-in and cloud waste.
  • Maximize savings for DevOps teams running Kubernetes with proven machine learning and automation to continuously determine and deploy the most balanced and cost-effective compute resources for your container clusters.

Learn more about Spot by NetApp’s FinOps solutions

Learn More About AWS Pricing

AWS Fargate Pricing: Optimize Billing and Cut Costs

AWS Fargate is a managed service that enables you to run containers in Amazon Elastic Kubernetes Service (EKS) or Elastic Container Service (ECS). Since Fargate is serverless, you don’t need to provision or manage servers or clusters. However, you do need to set up package containers, define resource requirements, and configure permissions and networking policies. How much will it cost you to run serverless containers on AWS Fargate? Learn about pricing and best practices to optimize your container infrastructure. 

Read more: AWS Fargate Pricing: Optimize Billing and Cut Costs

AWS ECS Pricing: 3 Pricing Models and 5 Cost Saving Tips

Amazon Elastic Container Service (ECS) lets developers run containers at scale on Amazon Elastic Compute Cloud (EC2) or Amazon Fargate. ECS is a container orchestration service that manages clusters of containers, including aspects like container lifecycle, high availability, storage and networking. Learn about three AWS ECS pricing models – on EC2, Outposts and Fargate – and get actionable tips for saving ECS costs.

Read more: AWS ECS Pricing: 3 Pricing Models and 5 Cost Saving Tips

AWS EMR Pricing: What are the Options?

Amazon Elastic MapReduce (EMR) is a tool designed for big data processing and analysis services. EMR is an Amazon Web Services (AWS) offering, but it is based on Apache Hadoop, which is a programming framework built for handling processing tasks of big data sets across distributed computing environments. Learn about AWS EMR pricing for different launch options, including EMR on EC2, EMR on Outposts, and EMR on Elastic Kubernetes Service (EKS).

Read more: AWS EMR Pricing: What are the Options?

Run an EMR Cluster on Spot Instances in 5 Steps

AWS EMR provides a managed Big Data framework that enables you to easily add/remove cluster capacity to meet the necessary workloads for your application. EMR supports Hadoop, Apache Spark, and other popular distributed frameworks. This tutorial focuses on cloning an existing EMR into Elastigroup. Elastigroup also enables you to wrap your existing cluster with Spot instances Task nodes.

Learn more in our detailed guide to Fargate vs EC2 pricing

See Additional Guides on Key FinOps Topics

Together with our content partners, we have authored in-depth guides on several other topics that can also be useful as you explore the world of FinOps.

AWS Cost Optimization

Authored by Spot.io

Azure Cost Optimization

Authored by Spot.io

Kubernetes Cost Optimization

Authored by Komodor