AWS' cloud computing services are on a pay-as-you-go pricing model.
For each service, you pay for exactly the amount of resources that you actually use, without long-term contracts or complex licensing.
Some services have reservation options that provide a significant discount compared to on-demand pricing.
For example, suppose that your company is using Amazon EC2 instances for a workload that needs to run continuously. You might choose to run this workload on Amazon EC2 Instance Savings Plans to save up to 72% over On-Demand Instance capacity.
Some services offer tiered pricing, so the per-unit cost is lower if you use more. For example, the more Amazon S3 storage space you use, the less you pay for it per GB.
AWS Pricing Calculator
The AWS Pricing Calculator estimate the price of using AWS.
You can organise your AWS estimates by groups. For example, the Pricing Calculator can group its estimates into how much you would spend on each data centre.
When you have created an estimate, you can save it and share it with others through a special link.
Suppose that you are working in a company interested in using Amazon EC2. However, you are not yet sure which AWS Region or instance type would be the most cost-efficient for your use case. In the AWS Pricing Calculator, you can review an estimated comparison of different EC2 instance types across AWS Regions. You can even get a personalised estimate once you add in your preferences for memory, operating system and other factors.
Dedicated Instances make sure that your AWS resources run on hardware dedicated to you use only, giving you extra isolation. This can be important for compliance with specific regulations that say you need to keep your resources separate from any third parties.
Some of the services you can use with Dedicated Instances are:
Amazon Elasticsearch - with Elasticsearch, you also get better performance if your search clusters are isolated
AWS pricing examples
Here are a few examples of pricing in AWS services.
For AWS Lambda, you are charged based on the number of requests for your functions and the time that it takes for them to run.
AWS Lambda allows 1 million free requests and up to 3.2 million seconds of compute time per month.
You can save on AWS Lambda costs by signing up for a Compute Savings Plan (i.e. pay less when you reserve). A Compute Savings Plan offers lower compute costs in exchange for committing to a consistent amount of usage over a 1-year or 3-year term.
If you have used AWS Lambda in multiple AWS Regions, you can view the charges by Region on your bill.
Here's an example AWS Lambda bill:
The bill lists separate charges for the number of requests for functions and their duration.
There were 680 requests for one function and the function ran for about 255 seconds.
The number and duration of requests here are under AWS Free Tier's limits, so the account owner would not have to pay for any AWS Lambda usage in this month.
With Amazon EC2, you pay for only the compute time that you use while your instances are running.
For some workloads, you can reduce EC2 costs by up to 90% using Spot Instances. For example, suppose that you are running a batch processing job that is able to withstand interruptions. A Spot Instance would be perfect for the occassion!
You can find additional cost savings for Amazon EC2 by considering Savings Plans and Reserved Instances.
Here's an example EC2 bill. The service charges include details for the following items:
One Amazon EC2 instance that has been running for ~107 hours.
Roughly 11 GB of Amazon EBS storage space that has been provisioned in the month.
An Application Load Balancer that has been used for 268 hours.
All usage amounts are under the thresholds in the AWS Free Tier, so the account owner would not have to pay for any Amazon EC2 usage in this month.
For S3 pricing, consider the following cost components:
Storage - You pay for only the storage that you use. The storage charge is based on your objects’ sizes, storage classes, and how long it's been in storage during the month.
Requests and data retrievals - You pay for requests made to your S3 objects and buckets. For example, suppose that you are storing photo files in S3 buckets and hosting them on a website. Every time a visitor visits the website that includes these photos, this counts towards requests you must pay for.
Data transfer - There is no cost to transfer data between S3 buckets or from S3 to services in the same AWS Region. However, you pay for data that you transfer into and out of Amazon S3 (with a few exceptions).
There is no cost for data going from the internet into S3, or for data going out from S3 to CloudFront.
There is also no cost for data transferred out to an EC2 instance that's in the same Region as the S3 bucket.
Management and replication - You pay for the storage management features enabled on your account’s S3 buckets. These features include S3 inventory, analytics, and object tagging.
Here's an example Amazon S3 bill:
S3 is used in two Regions: Northern Virginia and Ohio.For each Region, charges are based on the following factors:
The number of requests to add or copy objects into a bucket (i.e. put stuff in). These commands are also known as PUT, COPY, POST or LIST.
The number of requests to retrieve objects from a bucket (i.e. get stuff out). This command is also known as GET.
The amount of storage space used
Spot that you can see exactly the number of requests and the GB of storage space used in the bill.
All the usage for S3 in this example is under the AWS Free Tier limits, so the account owner would not have to pay for any Amazon S3 usage in this month.