In this chapter, you will learn the following Domain 4 topics:
• Compare and contrast the various pricing models for AWS
• Recognize the various account structures in relation to AWS billing and pricing
• Identify resources available for billing support
AWS offers many different pricing models across all of their services, with the one unifying fact that costs are only incurred for resources that are provisioned, and only while they are being used. With the complexity of services and all the possible cost points, AWS provides management tools to estimate, plan, and track usage of both services and budgets to allow users to stay on top of their costs. This includes both the AWS Free Tier and paid services.
AWS offers a generous array of services for free under the AWS Free Tier. This allows AWS users to either use a low level of services for free or to try out services before deciding whether or not to actually purchase them.
Offerings under the Free Tier fall into one of three categories: always free, 12 months free, or trials. Some services may have offerings in all three types of categories, and it will depend on your needs and goals for using a service as to which is the best option for you.
Services offered under the Free Tier are always changing and can be found at https://aws.amazon.com/free.
Services offered in the “always free” category are available to all AWS users and do not carry an expiration date. Depending on the service, the portion that is free can be a static amount, such as storage, or it can be for the amount of usage per month, such as compute services under Lambda.
Here are some examples of the most popular services offered under the “always free” category, as also shown in Figure 5-1.
Figure 5-1 The top options for the “always free” category of the AWS Free Tier
• DynamoDB Provides 25GB of storage. This also comes with enough read/write capacity allocated to handle up to 200 million requests per month.
• Lambda Up to 1,000,000 free requests per month, including up to 3.2 million seconds of compute time per month.
• CloudWatch Ten custom metrics and ten alarms, as well as 1,000,000 API requests, 5GB of log ingestion, and 5GB of log storage. This also includes three dashboards and up to 50 metrics for each one per month.
• Glacier Up to 10GB of Amazon Glacier retrievals per month for standard retrievals using the Glacier API.
• Storage Gateway First 100GB of usage.
• Server Migration Service Migration of an unlimited number of servers into AWS from on-premises or Microsoft Azure.
Services offered in the “12 months free” category are available free for the first 12 months after account creation. In many instances, they are full AWS services, but offered with certain limitations, such as the amount of storage, number of transactions, or amount of compute time. If you exceed the free portion of these services during those 12 months, you will be billed for the amount in excess.
Here are some examples of the most popular services offered under the “12 months free” category, as shown in Figure 5-2:
Figure 5-2 The top offerings in the “12 months free” category of the AWS Free Tier
• EC2 Provides 750 hours per month of compute power. The 750 hours applies to Linux, RHEL, or SLES t2.micro or t3.micro instances or Windows t2.micro or t3.micro. These offerings are dependent on which region is being used.
• S3 Provides 5GB of standard storage, including up to 20,000 GET requests and 2,000 PUT requests.
• RDS Provides 750 hours per month of db.t2.micro database usage. This also includes up to 20GB of SSD database storage and 20GB of storage for database backups and snapshots.
• API Gateway One million API calls received per month.
• CloudFront Provides 50GB of data transfer out, allowing for up to 2,000,000 HTTP or HTTPS requests.
• Cloud Directory Provides 1GB of storage per month, allowing for 10,000 API calls per month.
Services offered under the “trials” category of the Free Tier at AWS services are available for free for a short period of time after activation. This enables users to test and develop on services to see if they will meet their needs. Once the trial period has elapsed, if you continue to use the services, you will incur charges for them.
Here are some examples of the most popular services offered under the “trials” category, as shown in Figure 5-3:
Figure 5-3 The top offerings in the “trial” category of the AWS Free Tier
• Lightsail Provides 750 hours for a one-month free trial. This allows a free month trial of what would normally cost $3.50 USD for the Linux/Unix Lightsail platform or the $8 USD Microsoft Windows Lightsail platform.
• GuardDuty Thirty days free trial of the Amazon GuardDuty service for intelligent threat detection and monitoring of accounts and workloads.
• AppStream 2.0 Allows for 40 hours use of the stream.standard.large instance type.
• Inspector Ninety-day trial for the security assessment service, covering 90 days or 250 assessments, whichever occurs first.
Whether you use always-free services, 12-month-free services, or trials, if you exceed the limitations of what is offered free by AWS, you will incur charges for whatever you use beyond that. Left unchecked, it is easy to forget about services that you left running and end up incurring billed services, even potentially very large bills.
You can always find all the information about your services and billing from the AWS Billing Console, found at https://console.aws.amazon.com/billing. The Billing Console main dashboard is shown in Figure 5-4.
Figure 5-4 The AWS Billing Console main dashboard
AWS will automatically send you e-mail alerts when you are nearing the limits of the Free Tier or when you have exceeded the limits. Unfortunately, the alert e-mails are not customizable, nor do they offer granularity; they are either on or off. If you wish to disable them, you can do so from the Preferences under the Billing Dashboard in the AWS Management Console. By clicking on the Billing Preferences link on the left margin menu, you can either disable the reports completely or set an alternative e-mail address to receive them, as shown in Figure 5-5.
Figure 5-5 The Billing Preferences menu
Throughout all of the AWS services, a pricing model is based upon paying for usage as you go. When you provision and use services, you will incur costs, but only for the services you are using and while you are using them. There are no minimum purchases or long-term contracts for services, so you can start and stop using them at any time.
With the diversity of AWS services, each service has its own pricing model that is distinct from other services. Even those services within the same category, such as compute, can have very different billing models based on how the service operates. Each service has a different focus for how resources are provisioned, and even within the service, based on the level and type of options you select, pricing can widely vary.
The main consolidated source of pricing for AWS services can be found at https://aws.amazon.com/pricing. This page will provide links to all of the various AWS services and their pricing pages, as shown in Figure 5-6.
Figure 5-6 The main AWS Pricing page with the Storage category expanded
Following through to the S3 page, you will find the full list of pricing options and options available for S3 storage. To directly go to any pricing page, all services follow the same URL pattern. S3, for example, can be found at https://aws.amazon.com/s3/pricing/. For any service, simply adding “/pricing” to the URL will land you on the pricing page, or you can click on the Pricing option across the top menu bar, as shown in Figure 5-7.
Figure 5-7 The “pricing” table for the Amazon S3 service
You will also notice on the S3 pricing page an option to select which region you will be provisioning storage in. AWS services can vary slightly in their pricing based on the region selected. The variances tend to be small between regions, but it is always best to check when considering regions—especially as you consume more resources, the variances can start to add up!
You also likely noticed that for S3, there are different tabs for Storage, Requests and Data Retrieval, Data Transfer, and Management and Replication. Since everything with AWS is billed on exactly what services you need, each aspect of pricing is separately itemized. This does add complexity to understanding the overall costs of your services, but it also allows you to fully understand what you are paying for and make informed decisions on what exactly you need and what fits within your budget.
On the bottom of each pricing page, there will be a section for the AWS Free Tier that will explain what is available for that particular service under the Free Tier offerings.
The AWS Pricing Calculator services as your one-stop shop for generating estimates for all AWS services. It can be used for a single estimate for one service or can be used to add an entire menu of services to generate a consolidated estimate. This is particularly useful where you can account for all services that an application will need within AWS and be provided with a total cost of ownership (TCO).
A great feature of the Pricing Calculator is that it shows you all the work that goes into arriving at your estimate. By showing all calculations, you can be assured that the estimate is correct, as you can validate it yourself if you like. It also allows you to see the exact cost of each component of pricing. For example, Figure 5-8 shows calculations for an S3 estimate using the following criteria:
Figure 5-8 Example calculations for a simple S3 estimate
• US East (Ohio) region
• S3 Standard storage: 1TB/month
• 200 PUT, COPY, POST, and LIST requests for S3 standard
• 10,000 GET, SELECT, and all other requests for S3 standard
The Pricing Calculator will prompt the user to select a region for those services where region is applicable to pricing. This will allow a correct estimate that takes into account the pricing variations by region and will also ensure that the service the user is looking to provision is available in that region.
For some complex services, with EC2 being a prime example, the calculator will allow for a quick estimate or an advanced estimate, as shown in Figure 5-9. A quick estimate is useful if you have a fairly steady level of resource consumption and want a ballpark estimate based on minimum requirements for an instance. If you have a more complex configuration or known surges in resource utilization, an advanced estimate will give you a much clearer sense of likely charges.
Figure 5-9 The AWS Pricing Calculator options under EC2 for Quick Estimate or Advanced Estimate
A powerful feature is the ability to create quotes for multiple services and resources to gain a full picture of estimated costs. This is useful for applications that will span multiple different provisions of a single service or those that span across multiple services. Building upon the simple example we used earlier for S3, we can also add an EC2 instance to our estimate using the following criteria, as shown calculated in Figure 5-10:
Figure 5-10 Example calculations for a simple t4g.xlarge EC2 instance
• Quick estimate
• Operating system: Linux
• vCPUs: 4
• Memory: 16GB
• EC2 instance type: t4g.xlarge
• EBS: 100GB gp2 storage
Once the calculations for both the S3 estimate and the EC2 estimate are combined, the Pricing Calculator will give a total estimate for all services, as shown in Figure 5-11.
Figure 5-11 Combined estimate including S3 and EC2 services
On the same menu showing the combined billing estimate, you also have the option to add support to your services by utilizing the Add Support button on the upper right. This will add in support costs and be included in your overall estimate for services. Options are also available to save your estimate or export to a CSV.
A method that AWS provides for organizing estimates is through the use of groups. Groups can be used in many different ways to divide up resources based on your needs. They can be used to organize services by departments, cost centers, projects, or any other type of division that meets the criteria for why you need to generate estimates. By grouping services, you can store packages of services and then use overall estimates for easy comparison between varying degrees of resources or types of services. By generating estimates with multiple groups, you can arrive at a total cost of a project or system in AWS while still maintaining granularity to break down the estimate into specific components.
In order to protect the availability for all users in AWS, service quotas (formerly called limits) are applied to each service. These quotas are specific to a region and will place a limit on the number of specific types of resources you can allocate by default. For example, each type of EC2 instance would have a specific limit, such as 20, that can be allocated within that region. If you attempt to allocate more than this limit, the system will not allow you to submit the request.
While these service quotas are applied by default, the vast majority of them are capable of being increased by AWS should your needs require them. However, requesting an increase in a quota is a manual process, submitted via the Management Console, and must be processed by AWS. This means you will not get an immediate response to your request. You can view your quotas and submit requests for increases from the Service Quotas console, found at https://console.aws.amazon.com/servicequotas/home.
Once you log into your account, you will be presented with a dashboard that shows a default selection of AWS services, the total number of quotas applied to it, and any pending or recently resolved increase requests, as shown in Figure 5-12.
Figure 5-12 The AWS Service Quotas console
To illustrate the type of quotas that you may see for a service, going in to the S3 service will present you with a list of established quotas. These quotas range from the number of buckets you can create, maximum object size, and the number of S3 Glacier restore requests. A typical list of quotas for a service, in this case S3, is shown in Figure 5-13.
Figure 5-13 The S3 service quotas page
Selecting the “buckets” quota, you will see a menu that displays your current quota, your current usage, whether you can request an increase, and the specific URN (unique reference number) to your quota, as shown in Figure 5-14.
Figure 5-14 The S3 buckets quota dashboard
AWS allows users to pre-purchase resources and capacity for AWS EC2 services. These are based upon a one- or three-year commitment and can offer up to a 72 percent discount against the prices you would normally be charged when resources are allocated on-demand.
Reserve instances can be either standard or convertible:
• Standard Reserve Instances Offer up to 72 percent savings compared to on-demand pricing.
• Convertible Reserve Instances Offer up to 54 percent savings compared to on-demand pricing, but offer the ability to change the attributes later, as long as the new attributes are equal to or greater than the original reserve instance.
Reserved instances are based upon specific regions or Availability Zones and match specific criteria, such as instance type and specific resources. When you allocate a resource that matches the reserved instance, either manually or through automation, you will utilize those instances you have already purchased at the discounted rate. Figure 5-15 shows an example of savings for an a1.medium EC2 instance in the US East region.
Figure 5-15 AWS reserve instance savings example, based on the a1.medium instance type in the US East region
Savings plans are a pricing model for AWS compute usage that offers up to a 72 percent discount on on-demand pricing by committing to purchasing a set amount of compute power (in $/hour) over a one- or three-year span, similar to reserved instances. Savings plans apply across instance types, size, operation system, or region and also apply to the AWS Fargate and Lambda services.
There are two types of savings plans:
• Compute Savings Plans Offer up to a 66 percent discount on on-demand pricing to be used across the compute services of EC2, Lambda, and Fargate
• EC2 Instance Savings Plans Offer up to a 72 percent discount on on-demand pricing but apply to specific instance types in specific regions
Pricing for savings plans can be found at https://aws.amazon.com/savingsplans/pricing/.
The AWS Billing Dashboard provides you all the tools you need to view your bills, monitor your usage and costs, and set up consolidated billing for multiple accounts. You can access your AWS Billing Dashboard at https://console.aws.amazon.com/billing.
The Billing Dashboard contains direct links down the left side to all of the functions that are necessary to manage your account, as shown in Figure 5-16.
Figure 5-16 The AWS Billing & Cost Management Dashboard
From within the Billing Dashboard, you can access your bill by clicking on the Bills link on the left side. This will take you into your bills, and you can use the dropdown at the top to change between months.
Each bill will be itemized for all of the services that you have used during the month. This will also include anything you have used in the Free Tier, but with a $0 cost associated with it. The example bill shown in Figure 5-17 includes the example services from earlier exercises, such as S3 bucket creation and usage of the AWS Key Management Service.
Figure 5-17 A sample AWS monthly bill showing usage of services in the Free Tier
With the pricing model based on charges incurred for services used, and only for the time when they are being used, the ability to monitor both your usage and costs is very important. AWS provides several tools on the Billing Dashboard to assist with both aspects.
Cost Explorer allows you to view and analyze both your costs and usage of AWS services. Cost Explorer will display data for 12 months of usage, as well as provide forecasts for what you may use in the next 12 months based on your past usage.
Cost Explorer provides several reconfigured views that will get you started with an overview of your costs and usage and provide a framework for customizations you may desire for your specific needs. The first time you launch Cost Explorer, it will take up to 24 hours to prepare data from your last 12 months and process the forecasts for the next 12 months. It will also walk you through the sections and explain what each is used for the first time you use it.
You can filter reports in Cost Explorer in many customizable ways, such as by date, region, Availability Zone, platforms, instance types, etc. You can save reports for future usage and can download any reports in CSV format as well.
Cost Explorer is provided free to AWS users and will update reports at least once every 24 hours ongoing.
Budgets are used to plan the consumption of services, costs of services, and the use of instance reservations. They can be used to track how close you are to using a budgeted amount of money, as well as the use of the Free Tier. This also includes your usage during a specified time period, including your usage of reservation instances, as well as how much of your overall budget has been used. During each month, budgets will track how much your current charged status is, including what your predicted amount of usage and charges will be by the end of the month.
Budgets are updated on a regular basis, typically every 8 to 12 hours, up to three times per day. You can create a variety of different types of budgets to suit your needs, and each account can create up 20,000 budgets!
• Cost budgets Allow for planning what your ceiling will be for spending on a particular service.
• Usage budgets Allow you to plan how much actual usage of a particular service you want to use.
• Reserved instances budgets Track your usage of reserved instances to determine if they are unused or if you have purchased too much. These also allow for alerts to be received when your number of reserved instances falls below specific thresholds.
• Reserved instances coverage budgets Track how much of your resource allocations and service usage is covered by your reserved instances.
• Savings plans utilization budgets Track usage of savings plans based on utilization and trigger alerts when falling under the thresholds.
• Savings plans coverage budgets Track and alert when your usage of savings plans falls under a threshold.
By using AWS Budgets, you can create reports to be generated on a daily, weekly, or monthly frequency. Each budget report generated can be e-mailed to up to 50 e-mail addresses, and each report will cost $0.01. This cost is regardless of what kind of budget report is generated—it is a flat cost per report and does not change based on the number of recipients.
Anomaly detection is a new machine learning service that monitors your account on a continuous basis to detect unusual amounts of spending. The service will send individual reports when an anomaly is detected and will analyze the cause of the anomaly to isolate it to an account, region, or type of usage. Through the use of machine learning, over time false positives can be minimized as more data on your typical usage and peak periods is logged. The service allows for analysis to be grouped by AWS service, accounts, cost allocation tags, or cost categories.
Cost categories allow an account to categorize services and costs into granular containers for the purposes of analysis based on your specific needs. Services can be grouped into categories based on projects, departments, initiatives, or any other category that is tracked and important to a user. This also allows services to appear in multiple cost categories. For example, you may decide to create a category for each team or division and the services that are part of their budget or responsibility. This will give you an organizational view of costs in a typical structure. You can also opt to create categories than span organizational charts along the lines of services or initiatives, such as a new product launch or special projects, and determine specific costs related to them from a more overview level. This can also be very useful with contractors and service companies, where teams and divisions may span multiple accounts and can categorize costs at the level of the specific team but also realize costs for each different account that those teams work on.
Cost allocation tags are metadata assigned to AWS resources in the form of a key and a value. These can be used to allow an account to quickly track costs associated with resources through very granular views. Cost allocation tags are either generated automatically by AWS or are created by users. The AWS tags will contain information of a system nature, such as created dates, created by what user, region, etc. User tags are defined by the user based on their organization and can include items like project, stack, team, cost center, etc.
For example, an EC2 instance might contain the following metadata in Table 5-1 attached to it.
Table 5-1 Example Key/Value Pairs of Cost Allocation Tags
By defining tags on services, reports can be generated on any specific tag. This will allow users to quickly analyze costs based on any of their tags such as stack, project, or cost center, or even use AWS-generated tags to track by creation date or user. In order to use cost allocation tags, they must each be activated from the Billing Dashboard. You can opt to activate either the AWS-generated tags or the user tags, or both. Once they are activated, they will appear in Cost Explorer and can be used in reporting.
If you have multiple accounts in AWS, you can opt to consolidate your billing into a single monthly bill, rather than receiving separate bills for each account. With consolidated billing, even though you will only receive one bill, it will still be broken down by individual accounts for tracking purposes and auditing. The great benefit of consolidated billing is the ability to share volume discounts, reserved instance discounts, and savings plans across all of your accounts, rather than each account having its own. This can lead to considerable costs savings across an organization. Consolidated billing is free to AWS users.
Just as AWS is responsible for securing all of their services, they also provide robust security for billing and customer financial data. The same rigorous security mechanisms that are applied to their services, including auditing and logging, is also applied to activities within the Billing Dashboard. This also means that you must protect your billing data with the same rigor as you would other institutional and user data and ensure that you are complying with any regulatory requirements that are applicable to financial and accounting data for your jurisdiction.
AWS provides support for billing through their normal channels of technical and security services. This includes the Knowledge Center and official AWS support through tickets opened through your Management Console and the AWS Support Center. You can also use AWS forums to seek assistance with managing your costs and estimates.
If you need assistance with compiling estimates for AWS services or assistance with determining what you actually need, another resource that is available is the AWS IQ service, which offers AWS Certified freelancers and consulting firms. Information about the AWS IQ service can be found at https://iq.aws.amazon.com/.
1. Go to the AWS Price Calculator at https://calculator.aws/.
2. Click on the Create Estimate button.
3. Type VPC in the search box, and then click the Configure button within the box for Amazon Virtual Private Cloud (VPC).
4. Select options to match what is shown in the following illustration:
a. Select the US East (Ohio) region from the dropdown.
b. Select VPN Connection.
c. Enter 20 for the Number of Site-to-Site VPN Connections.
d. Enter 24 and hours per day for the Average Duration For Each Connection.
d. Click Add To My Estimate at the bottom-right corner.
5. You will now receive an estimate, shown next, calculating the costs of the service you just estimated, including total up-front costs, total monthly costs, and the total for the first 12 months.
6. Keep this browser window open, as we will use the work you have already done in the next exercise
1. With the estimate you already made in Exercise 5-1, click on the Add Service button on the top-right corner.
2. Type EC2 in the search box, and then click on the Configure button within the Amazon EC2 box.
3. Select the options to match what is shown in the following illustration. Note that the system has automatically selected the r5a.xlarge instance type based on the options selected.
a. Quick estimate
b. Operating system: Windows Server
c. vCPUs: 4
d. Memory (GiB): 32
e. Quantity: 1
f. Scroll to the bottom and click Add To My Estimate.
4. You will now receive an estimate, shown next, calculating the costs of both services you just estimated, including total up-front costs, total monthly costs, and the total for the first 12 months.
5. Feel free to continue to add services or support to get a feel for how the calculator works and the various options that are available for each service.
In this chapter we explored the various pricing models that AWS uses across their services. With the enormous complexity and diversity of AWS services, pricing models can be complex and very different between services. AWS provides a robust set of tools and reports from their Billing Dashboard to empower users to estimate, plan, and monitor costs, as well as reporting on costs when thresholds are approaching limits or are exceeded. AWS billing tools offer enormous flexibility to users for tracking services and costs from a variety of different approaches to meet the specific needs of their organization or services.
1. Which type of reserve instance receives the largest cost savings over on-demand pricing?
A. Enterprise
B. Standard
C. Convertible
D. Aggregated
2. How many recipients can you send budget reports to?
A. 100
B. 50
C. 10
D. 1
3. How many budgets may be created within an AWS account?
A. 10,000
B. 1,000 per service
C. 20,000
D. Unlimited
4. What are the two types of cost allocation tags that are available to use for cost and budget tracking? (Select two.)
A. AWS
B. Service
C. User
D. Account
5. At what level are AWS service quotas applied?
A. Availability Zone
B. VPC
C. Account
D. Region
6. Which of the following is not a category of free offerings within the AWS Free Tier?
A. Always
B. Preview
C. 12 months
D. Trials
7. Which AWS service does not apply across accounts through the use of consolidated billing?
A. Volume discounts
B. Reserved instances
C. Savings plans
D. Support
8. Which of the following frequencies of reports is not offered by the budget reports service?
A. Yearly
B. Daily
C. Weekly
D. Monthly
9. What service connects AWS users with AWS Certified freelancers or consulting firms?
A. AWS Consulting
B. AWS IQ
C. AWS Independent Services
D. AWS Professional Services
10. What data format is supported for exporting your bill?
A. XML
B. JSON
C. CSV
D. PDF
1. Which type of reserve instance receives the largest cost savings over on-demand pricing?
A. Enterprise
B. Standard
C. Convertible
D. Aggregated
B. Standard reserve instances receive up to a 72 percent savings over on-demand pricing but must be used for the same time of the instance they were purchased for.
2. How many recipients can you send budget reports to?
A. 100
B. 50
C. 10
D. 1
B. Budget reports may be sent to up to 50 e-mail addresses.
3. How many budgets may be created within an AWS account?
A. 10,000
B. 1,000 per service
C. 20,000
D. Unlimited
C. Each AWS account may create up to 20,000 budgets.
4. What are the two types of cost allocation tags that are available to use for cost and budget tracking? (Select two.)
A. AWS
B. Service
C. User
D. Account
A, C. Cost allocation tags are either AWS generated or user generated. Each must be activated separately before used in Cost Explorer.
5. At what level are AWS service quotas applied?
A. Availability Zone
B. VPC
C. Account
D. Region
D. AWS service quotas are applied at the region level and are independent across the regions.
6. Which of the following is not a category of free offerings within the AWS Free Tier?
A. Always
B. Preview
C. 12 months
D. Trials
B. Preview is not a category of free offerings from the AWS Free Tier. The categories are Always, 12 months, and Trials.
7. Which AWS service does not apply across accounts through the use of consolidated billing?
A. Volume discounts
B. Reserved instances
C. Savings plans
D. Support
D. Support costs are applied at the individual account level. While they will appear with an aggregate total on consolidated bills, they are shared between accounts, and each account must purchase them separately.
8. Which of the following frequencies of reports is not offered by the budget reports service?
A. Yearly
B. Daily
C. Weekly
D. Monthly
A. Budget reports are available daily, weekly, or monthly; yearly is not an option.
9. What service connects AWS users with AWS Certified freelancers or consulting firms?
A. AWS Consulting
B. AWS IQ
C. AWS Independent Services
D. AWS Professional Services
B. The AWS IQ service connects users with AWS Certified freelancers and consulting firms.
10. What data format is supported for exporting your bill?
A. XML
B. JSON
C. CSV
D. PDF
C. You are able to export your AWS Bill into the CSV format.
18.188.10.246