AWS Reserved Instances (RIs) allow you to make an upfront monetary commitment to Amazon in return for a discount on your compute costs. By getting customers to commit to the usage of specific infrastructure, Amazon can better manage its capacity and therefore pass these savings onto you.
All RI types provide the benefit of a price reduction. Some RI types also include the benefit of a capacity reservation, which guarantees you the right to launch an instance of the specified type for the term of the reservation.
The configuration of each reservation is determined by these attributes:
m3.large
)us-east-1b
)A common misconception is that RIs are directly connected to specific launched instances. In fact, an RI is simply a pricing discount applied toward the usage of any instance of a specific type, for example, m3.large
in us-east-1a
running Linux.
AWS first evaluates the available reservations and runs instances on an hourly basis. Reservations are then applied randomly to usage. Each usage of an instance for the hour gets evaluated to determine if there is an applicable reservation to cover it. Applicability is determined by matching instance type (e.g., m2.2xlarge
), location (e.g., us-east-1a
), and operating system (e.g., Linux). Since multiple different reservation types and purchases can match, the selection of a reservation gives preference toward applying the lowest hourly rate first. Reservations also have an affinity toward the account in which they were purchased.
Consider that you launch an instance that matches a specific instance type, location, and operating system, for example, m3.large
in us-east-1a
running Linux. After one month of using this instance, you are billed at a discounted rate that is determined by the type of offering (no upfront, partial upfront, or all upfront). Your bill is therefore lower than what it would have been for on-demand usage of the same instance type.
RIs are both a powerful feature and a source of constant confusion. The confusion is often driven by customers purchasing RIs for a specific purpose (e.g. the marketing department), only to find its cost benefit is applied elsewhere.
Making your first RI purchase can be a daunting task. In addition to determining the attributes of the RI (Instance Type, Scope, Term, Offering Class, and so on), you need to predict usage across teams, applications, and functional areas. Some considerations can help simplify RI purchase decisions.
You can use two metrics to determine when to purchase RIs. Both metrics are associated with the usage cost of an RI.
The actual rate you pay for running instances. This rate is applicable to different time intervals (e.g., 1 year, 1 month, or even 1 hour). It is calculated based on the following formula:
effective rate = upfront payment/reservation term/interval + recurring usage charges for interval
Here is an example table showing the effective rate for an m3.large
Linux instance in us-east
:
On-demand | No Upfront | Partial Upfront | All Upfront | |
---|---|---|---|---|
Upfront payment to Amazon | $0.00 |
$0.00 |
$443.00 |
$751.00 |
Recurring costs of running at 100% for term | $1226.40 |
$876.00 |
$324.12 |
$0.00 |
Total effective cost (monthly) | $1226.40 |
$876.00 |
$767.12 |
$751.00 |
Savings over on-demand | n/a |
29% |
37% |
39% |
The number of months that an RI must operate at 100% usage in order for it to be less expensive than an on-demand instance of the same type. This metric helps you understand how long you must use a reservation before it breaks even.
The payback period is applied to partial upfront and all upfront payment options, which are more expensive earlier in the term of the RI because of the initial payment you make to Amazon. The no upfront payment options do not have a payback period, since they are less expensive than on-demand instances. While the payback period varies by instance type, on average it is 6 months for a 1-year term and 9 months for a 3-year term.
The payback period is the point at which you can shut down an instance and still have benefited from the purchase of the RI. You can calculate the payback period as follows:
At any reasonable scale, making RI purchase decisions for each instance in your infrastructure is unmanageable. You can simplify the decision-making process by grouping instances by one or more perspectives, such as environment, function, and application. The most common approach is to group instances based on their application or functional purpose, such as MongoDB or web servers.
AWS prices images of platforms (e.g., Linux or Windows) differently so if possible, do not include different types of images in the same group.
Start with the most expensive instance groups (such as MongoDB servers) when assessing the potential to migrate to RIs. More importantly, RIs are targeted at “always on” infrastructure. So you can skip the assessment for groups in which instances are used less than 65% of the time.
For each group, ask the following questions during the assessment.
If you can, with reasonable confidence, expect to use a known percentage of the instances in a group in their current regions, without changing instance type family, for at least 7 months (the average payback period for a RI), that group is an RI candidate.
For each group, evaluate the value of the different reservation types and terms as illustrated in this example:
Sample evaluation for 10 m3.large
instances in us-east
for a 1-year term.
On-demand | No Upfront | Partial Upfront | All Upfront | |
---|---|---|---|---|
Upfront payment to Amazon | $0.00 |
$0.00 |
$4,430.00 |
$7,510.00 |
Recurring costs of running at 100% for term | $12,264.00 |
$8760.00 |
$3241.20 |
$0.00 |
Total effective cost (monthly) | $12264.00 |
$8760.00 |
$7671.20 |
$7510.00 |
Savings over on-demand | n/a |
29% |
37% |
39% |
The savings over on-demand vary by instance type and region, and the difference between two offers can be as low as 1%.
In this example, an all upfront reservation can be ignored because it requires an additional cash outlay of $3,080 for only 2% more savings over the partial upfront counterpart.
Be careful of making RI purchases for legacy instance types, which typically cost more, have less performance than newer instance types, and are difficult to sell on the AWS Marketplace. Before purchasing legacy instance types, validate that you do not plan to upgrade to another instance type family before the break-even month for your selected reservation offering. The break-even period is typically 6 months for a 1-year reservation and 9 months for a 3-year reservation. Typically, organizations take longer than they expect to migrate away from an instance type. Therefore, the months to break even can be helpful in making a reserved instance purchase decisions for legacy instance types.
Budget is the common limiting factor among organizations considering an RI purchase. When making your first RI purchase, selectively choose RI offerings from the previous steps until you have reached your budget.
Several infrastructure changes occur regularly in your cloud environment. As your cloud environment grows, monitoring and governing these changes becomes increasingly challenging. Business policies are an effective way to develop a blueprint for how and when your organization purchases reservations and modifies them.
Consider these key aspects when establishing policies for RI management.
After making a decision to purchase RIs, determine the key attributes for each reservation.
Each reservation is tied to a specific instance type family (e.g., m4
), payment option (e.g., All Upfront), location (e.g., us-east-1a), OS (e.g., Linux), and tenancy (e.g., Shared). Over time your organization may make changes to the type of instances it runs for specific workloads, forcing you to allow reservations to go unused or to sell them on the marketplace. In addition, as Amazon continues to innovate within its instance type families, you may find your applications can run with better performance and cost effectiveness on newer instance families. These two concerns have limited the willingness of some organizations to make reservation commitments, and/or make commitments that exceed a year.
Convertible Reserved Instances (RIs) have the following attributes:
Due to the flexibility they provide, Convertible RIs are slightly more expensive. Moreover, when you exchange them, you cannot receive a credit. You can only exchange existing Convertible RIs for new Convertible RIs whose cost is greater than or equal to the cost of the existing RIs.
RI payment options differ in the manner in which you make payments toward reservations. There are three options.
A successful billing history is required before an account is eligible to purchase through this option.
Amount | Pay no usage cost upfront |
---|---|
Term | 1 year or 3 years for Standard, 3 years only for Convertible |
Discount | 27% to 50% |
There are two reasons to choose a No Upfront payment option.
m3.large
), consider the No Upfront option. Even though the option locks you into a reservation term, it provides compelling cost savings.Formerly, this type of RI was called a Heavy Reservation.
Amount | Pay part of usage cost upfront. Remaining hours in the term are billed at a discounted hourly rate, irrespective of usage. |
---|---|
Term | 1 year or 3 years |
Discount | 32% to 53% for 1-year term, 53% to 74% for 3-year term |
Formerly, this type of RI was called a Fixed Reservation.
Amount | Pay entire usage cost upfront. No other costs are incurred for the remainder of the term, irrespective of the number of hours used. |
---|---|
Term | 1 year or 3 years |
Discount | 34% to 53% for 1-year term, 56% to 75% for 3-year term |
The All Upfront payment option always provides the highest cost savings. However, those savings are not always sufficient to justify the additional cash outlay in the form of upfront fees. A sample evaluation for one m3.large
instance reserved in us-east
for a 1-year term is presented below. The evaluation shows that an All Upfront reservation requires an upfront payment of an additional $308 over a partial reservation, in return for a 2% savings over on-demand usage.
On-Demand | No Upfront | Partial Upfront | All Upfront | |
---|---|---|---|---|
Upfront Payment to Amazon | $0.00 |
$0.00 |
$443.00 |
$751.00 |
Recurring Costs of Running at 100% for Term | $1,226.40 |
$876.00 |
$324.12 |
$0.00 |
Total Effective Cost | $1,226.40 |
$876.00 |
$767.12 |
$751.00 |
Savings Over On-Demand | n/a |
29% |
37% |
39% |
An All Upfront reservation tends to be less popular due to the economics and sometimes ineffective use of capital and the low savings. Even so, it is essential to evaluate your instance requirements on a case-be-case basis. The evaluation might indicate that an All Upfront reservation provides the most compelling cost savings.
Offering Class | Payment Option | Term |
---|---|---|
Standard | No upfront | 1 year |
Partial upfront | 1 year or 3 years | |
All upfront | 1 year or 3 years | |
Convertible | Partial upfront | 3 years |
All upfront | 3 years |
In order to understand the impact of scope, recall that some RIs provide two benefits: (i) price reduction and (ii) capacity reservation. While price reduction is an obvious benefit, capacity reservation guarantees you the right to launch an instance of the specified type for the term of the reservation. The latter benefit is often overlooked because the growth of cloud-based applications does not rely on committed capacity. RIs can be scoped to a Region or an Availability Zone, both of which provide the price reduction. For more information, see Regions and Availability Zones.
If you scope an RI to an Availability Zone, you are guaranteed capacity for the reserved instance type. However, you only receive the guarantee for instances of that type running in that specific zone.
In addition, the capacity guarantee is only afforded to the AWS account in which the RI was purchased. For example, if you purchased the RI in a primary account and used the RI in other linked accounts, you do not receive the capacity guarantee.
RIs scoped to a Region do not receive the capacity guarantee. However, Region-scoped RIs are automatically applied to any instance of that type running in the chosen region. Region-scoped RIs are beneficial when you do not require the capacity guarantee.
Regional reservations with shared tenancy and Amazon Linux have the additional benefit of size flexibility. Size-Flexible Regional Reservations are automatically applied to any running instance in the Region within the same family, regardless of size or Availability Zone.
AWS assigns Region-scoped reservations a size, which is expressed as a number of units. This number is proportional to the size of the instance, and it simplifies reservation management in AWS.
Here is a greatly simplified example of how size flexibility works.
A 40 count t2.small
reservation is assigned 40 units. When one t2.small
instance runs in region A for one hour, it consumes one unit. This consumption leaves the reservation with 39 unused units.
When a t2.medium
instance runs for one hour in that same region, a part of the t2.small
reservation is applied to that t2.medium
usage. This time, however, 2 units of the t2.small
reservation are consumed, based on this ratio.
t2.medium : t2.small :: 1 : 2
This usage leaves the t2.small
reservation with 37 unused units. The units scale up and down. For example, a t2.micro
instance running in the same region would also benefit from the t2.small
reservation but it will only consume .5 units. Likewise, a t2.nano
instance would consume .25 units, while a t2.32xlarge
instance would consume 256 units.
This unit-based usage concept is documented as the Normalization Factor in AWS.
If you use Region-scoped reservations, you need to track consumption by number of units. Theoretically, you can purchase a single large Region-scoped reservation and let it apply to all instances of a family and never modify the reservation.
A region-scoped reservation is size-agnostic and can be applied to any instance within a family.
Consider these two goals to determine whether you should scope an RI to a Region or an Availability Zone.
Goal 1: Purchase reservations for cost savings alone If you purchased RIs strictly for their cost benefit and the capacity benefit is not important to you, scope your reservations to a Region.
If you use Policies to automatically modify RIs, ensure that the policy modifies reservation scope to Regional.
Goal 2: Purchase reservations for both cost savings and capacity benefits If you purchased RIs and the capacity benefit is important to you, scope your reservations to an Availability Zone.
If you use Policies to automatically modify RIs, ensure that your policy modifications maintain scope.
While many organizations have only a single AWS account, organizations with multiple accounts are common. Larger enterprises tend to have very complex account setups that include multiple consolidated bills and hundreds of linked or standalone accounts.
The best practice is to purchase reservations in the accounts in which you have specific instance usage, particularly if you have availability zone misalignment within your accounts.
An account designated by a customer as a billing account to which one or more additional accounts can be linked. The billing contact for a consolidated account receives a statement summarizing charges for all linked account.
Using this account simplifies the purchase and management of RIs. However, you lose the guaranteed ability to launch an instance based on a reservation in a linked account if the reservation was made in another account.
An account linked to a consolidated billing account. An account can only be linked to one consolidated bill.
Using this account complicates the purchase and management of RIs. However, you receive both the price reduction and capacity guarantee for the RI through this approach.
An account that receives it own statement and is not linked to a consolidated billing account.
These accounts must be associated with either a consolidated or standalone account (a “commercial account”). Once associated, all billing and usage is reported as though it originated from this account.
Organizations tend to link one or more accounts to a consolidated bill, which gives RIs the ability to “float” across accounts.
Consider that you purchase RIs in either a consolidated account or an account linked to the consolidated account (i.e., a billing family). In a given hour, if the account does not show RI utilization, the reservation can float to a matching instance usage in any other linked account within the consolidated bill.
By default, reservations have an affinity toward the account in which they are purchased. Reservations float only when no instance usage occurs in the account that can take advantage of the reservation. The price reduction benefit of RIs also floats across accounts within a consolidated bill, but the capacity reservation does not float. If you have an available reservation in account A, AWS allows you to launch an equivalent instance in account B if these accounts are linked to the same consolidated billing account.
Availability zones are assigned to an account at the time of account creation. If you have multiple accounts, there is a good chance that not all of them share the same availability zones. For example, if you have accounts A, B, and C, the availability zones for the us-east region might be as follows:
Availability Zone | Account A | Account B | Account C |
---|---|---|---|
us-east-1a | ✓ | ✓ | |
us-east-1b | ✓ | ✓ | |
us-east-1c | ✓ | ✓ | ✓ |
us-east-1d | ✓ | ✓ | ✓ |
us-east-1e | ✓ | ✓ |
If you have one account, or only standalone accounts, this misalignment does not impact you. But if you have more than one account linked to a consolidated billing account, the misalignment can impact cross-account floating. In the above example, consider that accounts A and C are linked to the same consolidated account. If you purchase a reservation for us-east-1a
in Account A, the reservation cannot float to Account C, which does not have the availability zone us-east-1a
.
Purchasing, maintaining, and selling RIs is a complicated process. In addition to determining the attributes of the RI (Instance Type, Scope, Term, Offering Class, and so on), you need to predict usage across teams, applications, and functional areas.
VMware Tanzu CloudHealth helps you automate RI purchases through actions that are run through an approval process before being implemented. This approach helps you automate the labor-intensive and error-prone process of RI management without compromising on authorization and security.
You can automate aspects of RI management by configuring actions that Tanzu CloudHealth runs through an approval process. An action must pass through at least one of these users:
The decision to make an accurate and effective RI purchase can be a daunting task, often requiring long, tedious, and error-prone analysis.
The EC2 RI Optimizer evaluates your AWS instances to determine if you can benefit from the use of RIs. During the evaluation, the Optimizer analyzes your previous usage and identifies the optimum purchase for a given budget.
Tanzu CloudHealth uses a constraint-based algorithm that makes recommendations by taking a greedy approach to the classic “knapsack problem.” The analysis is performed by reviewing hourly on-demand usage over a time period. The algorithm trades off one or more less efficient options for more efficient ones in order to identify the optimum reservation purchase that fits within your budget constraints. The aim is to provide the best recommendations for your specified constraints such as budget, purchase date, and filters.
AWS Cost and Usage Reports (CUR) provide comprehensive data about your costs, including those related to product, pricing, and usage. For more information, see AWS Cost and Usage Reports.
Enable the CUR before using the EC2 RI Optimizer to evaluate your on-demand usage.
The recommendations that the RI Optimizer presents might be inaccurate for any EC2 instance family that has underutilized, size-flexible reservations.
At least 30 days of data. If you only recently configured the CUR, and have less than 30 days of data, Tanzu CloudHealth will provide correct analysis and recommendations based on the partial history. The platform will also present warnings that give the option of viewing the old report, populated with data that does not account for size-flexible RIs.
The EC2 RI Optimizer analyzes your instance usage and requirements based on a quote that you build. You can also modify or delete existing quotes and execute a purchase within a quote.
Select Actions > New Quote.
If you have not enabled the CUR,Tanzu CloudHealth does not receive the complete reservation history for the accounts and time period you specify in the Optimizer. As a result, Optimizer recommendations are based on incomplete information and might be inaccurate. By default, Tanzu CloudHealth proposes an RI purchase that provides close to 100% coverage of your instances without any limit on budget. The proposal is based on an analysis of current and historical on-demand usage of instances on an hourly basis.
Tanzu CloudHealth does not autosave changes to the quote. After each set of changes, click Actions > Save at the top-right corner of the quote to retain your changes.
Review the default options that Tanzu CloudHealth sets when you create a quote. When modifying the options, consider what settings are ideal for your cloud environment.
Coverage = Reserved hours / (Reserved hours + On-demand hours)
For most usage patterns, 100% coverage is not financially optimal.
The EC2 RI Optimizer allows you to constrain the quote to a subset of your infrastructure. For example, you might want to make an RI purchase for specific accounts, regions (e.g., us-east
), instance types (e.g., m3 instance types), functions (e.g., Elasticsearch Clusters), or even business groups (e.g., marketing department).
Use the Filters function of the Extended Options section to target a specific subset of your infrastructure for an RI quote.
If you want to make more than one RI purchase for a subset of your infrastructure, be careful about targeting overlapping infrastructure (e.g., creating a quote that includes usage in the same account twice). This action can result in over-purchasing of reservations.
Effect of Account Filter
When you purchase RIs within a billing family, the EC2 Optimizer backfills EC2 usage data for the period between the start of the analysis period and the RI purchase date. This backfilling ensures that your RIs are correctly applied to EC2 Instance usage in that Billing Family for that period.
When you do not apply an additional Account Filter, the backfilling process accurately reflects your RI needs for the analysis period.
When you apply the Account Filter, Tanzu CloudHealth still backfills EC2 usage data by considering all the new RIs associated with the Billing Family. However, the backfilling process only considers usage in the Accounts you have filtered out. In effect, Tanzu CloudHealth applies the same number of RIs to Instances that represent less usage. This process might lead to an under-recommendation for RI purchase.
Click Run Optimizer after setting Options and Filters.
After running an evaluation, the Optimizer returns recommendations for RI purchase. Recommendations include both high-level and detailed summaries.
This section includes the following information.
This section provides information on each unique recommendation. In addition to the information for each account, the section provides the summary for each proposal.
Only size-flexible recommendations are grouped by Instance Family, and each instance type with a size-flexible family is listed on a separate row. Each row in the recommendation summary includes the following information:
If a proposed reservation is for a legacy instance type, a warning recommends moving away from the legacy instance type.
The %VPC column indicates what percentage of usage being optimized was identified as running within a Virtual Private Cloud (VPC). When purchasing a reservation, you specify whether the reservation should be for a VPC or Classic (non-VPC) instance. Both Classic and VPC instances receive the price reduction benefit. If you purchase a VPC reservation and no comparable instance is running in a given hour, the reservation can be applied to an equivalent running Classic (non-VPC) instance. However, the capacity reservation guarantee is specific to the type of instance you launch (Classic or VPC). So if you make a Classic reservation, you do not have the capacity guarantee if you launch a similar VPC instance and visa versa. For more information, see Amazon VPC FAQs.
The EC2 RI Optimizer presents recommendations based on the options that you configure. However, you can modify those recommendations.
For example, if the Optimizer recommends purchasing 10 Partial Upfront reservations for m3.large
usage in us-east-1a
running Linux, you can choose to purchase only 7 if you expect a future reduction in load that affects this instance type.
You can make modifications at the family level (for size-flexible reservations) or by instance type. You can also remove a specific row from the quote. Click any row in the recommendation summary to modify it.
The Recommended Usage view shows the on-demand usage overlaid on the recommended RI usage by type. This view helps you see what your usage looks like today and how Tanzu CloudHealth recommends this expense be managed with RI purchases.
In addition, the view presents these key attributes of the recommendation.
After you have customized the quote, you can export the order.
There are three ways to make the reserved instance purchase.
Using Tanzu CloudHealth: Configure an approval workflow for purchasing reserved instances. Then, click the Purchase button on the Quote Summary page.
This action initiates the request for approval for reservation purchase. After both Approver and Authorizer confirm the request, the purchase is initiated.
Through your Amazon account representative: Review the quote and then select Actions > Export Order to download a file that you can share with your Amazon account representative.
Tanzu CloudHealth gives you the ability to modify coverage for all instances tied to your reservation, or just a subset, in one or more of the following ways:
The EC2 RI Modifier analyzes your reserved instances as well as your instance usage and make cost-saving modification recommendations to consider.
Review the default options that Tanzu CloudHealth sets when you specify the criteria. When modifying the options, consider what settings are ideal for your cloud environment.
After running the analysis, the Modifier returns recommendations for RI modifications. The Total Estimated Monthly Savings field represents the sum of all recommendations that meet your criteria.
Convertible Reserved Instances (RIs) have the following attributes:
Due to the flexibility they provide, Convertible RIs are slightly more expensive. You also do not recieve a credit when you exchange Convertible RIs. You can only exchange existing Convertible RIs for new Convertible RIs that have a cost greater than or equal to the cost of the existing RIs.
The biggest challenge for Tanzu CloudHealth customers using convertible RIs is ensuring that they are being well utilized. The challenges center on these specific areas:
The Convertible Reserved Instance Exchanger is a tool that helps you recoup savings from underutilized convertible RIs in your AWS infrastructure while limiting additional investment. The investment, in this case, is defined as follows:
Investment = True-up cost + Additional hourly commit charges
The true-up cost is the prorated, upfront cost of the difference between your old (pre-exchange) and new (post-exchange) convertible reservations.
The Exchanger performs the following actions:
The Exchanger is focused on covering on-demand usage and not usage covered by Compute Savings Plans. Compute Savings Plans are both highly dynamic and offer equivalent discounts to Convertible RIs. Because of this, the Exchanger may make a different recommendation from which RIs go unused.
If you have significant Compute Savings Plan covered usage, we recommend setting the beginning of the evaluation period to be after your most recent CRI exchange to ensure exchange recommendations are complimentary to your Compute Savings Plans.
The goal of the Exchanger is to recommend exchanges that provide the highest savings with the least investment. In other words, the Exchanger maximizes the ROI from an exchange, and produces a set of exchange recommendations that will save you money. This is how the Exchanger works:
Navigate to select Recommendations > Reservations > EC2 CRI Exchanger. The Exchanger runs immediately, identifying both savings and exchange opportunities. You can constrain the recommendation by specifying a budget and by using filters.
Why do recommendations not appear for some accounts even though you selected those accounts when building a quote
When building a quote, you can specify which accounts the Exchanger should consider when providing exchange recommendations. If you do not see an account listed in the recommendations, then it likely means that one or more of these conditions was not satisfied:
(a) Tanzu CloudHealth does not have access to the account’s Cost and Usage Report (CUR) data for the entire duration that you specify in the Evaluation Period in the Exchanger.
(b) Tanzu CloudHealth does not have IAM permissions to read EC2 reservation information from the account.
Why do results only appear when the Evaluation Period is 7 days or Month to Date, but not when the period is Last 30 days
This scenario occurs when Tanzu CloudHealth has access to less than 30 days of data from the Cost and Usage Report (CUR).
If you click one of the line items in the detailed recommendation section, a modal breaks down that recommendation.
Each row in the modal, except for the last row, describes what portion of an existing source reservation order you should consider exchanging. The final row shows what the recommended exchange should be.
There are two variants of rows that describe the source reservation:
Variant 1: Exchange source reservation as-is
In this variant, you exchange an existing source reservation order as-is so that none of the RIs in the order are remaining at the end of the exchange.
Variant 2: Modify a source reservation before the exchange
In this variant, you modify an existing source reservation order so that some of the RIs in that order remain in your inventory after exchange. In suggesting this modification, the Exchanger looks for opportunities to use the remaining RIs toward another exchange.
Remaining Value: (Remaining upfront cost + Remaining commitment)
Monthly Waste: Measure of the unprofitability of the reservation. It is calculated as how much more expensive it is to own the reservation as compared to running the instance on-demand.
You can export the recommendations that the Exchanger generates as a CSV. Then, use the information in the CSV to carry out the exchange in the AWS Console.
Tanzu CloudHealth generates two CSV files to help you perform the exchange action in the AWS Console:
The files contain drilldowns of the required modifications and exchanges. The ID of each reservation order that should be modified before the exchange is of particular importance. The IDs are required when processing the exchange through the AWS Console.
Once you build an exchange quote, you can automate one or more exchanges in the quote using Tanzu CloudHealth. You can either allow Tanzu CloudHealth to perform the exchange or utilize the authorization workflow in the to initiate the exchange.
There are two types of automation that you can select from.
Option | Requirements |
---|---|
Delegate the exchange action to an authorizer in your organization | Enable the exchange action and select an authorizer. An Authorizer provisions a temporary least privilege token using the AWS Security Token Service once a request for an Action is approved. Tanzu CloudHealth uses the token to perform an Action on behalf of the authorizer. |
Allow Tanzu CloudHealth to perform exchange | Update Tanzu CloudHealth IAM Policy permissions to exchange convertibles RIs |
In this option, you provide privileges through an IAM policy to the AWS user you want to authorize to perform the exchange through Tanzu CloudHealth.
If you have an IAM Policy associated with the Authorizer, add these privileges to that Policy so that Tanzu CloudHealth can perform the exchange on the Authorizer’s behalf.
Copy and paste the following section into the Policy Document field.
{
"Effect": "Allow",
"Action": [
"ec2:ModifyReservedInstances",
"ec2:DescribeReservedInstancesOfferings",
"ec2:GetReservedInstancesExchangeQuote",
"ec2:AcceptReservedInstancesExchangeQuote"
],
"Resource": "*"
}
Click the Status and History tab to view the status of the exchange action.
An exchange action cycles through these statuses.
Pending: The action has been queued up.
Failed: One or more exchanges in the batch failed.
Completed: The action completed successfully or with partial failure of exchanges in the batch.
Click an action to review details.
In this option, you edit the policy associated with the IAM Role you configured for your AWS account in the platform.
Scroll to the bottom of the account setup page and click Generate Policy. The following section gets added to the policy.
{
"Effect": "Allow",
"Action": [
"ec2:ModifyReservedInstances",
"ec2:DescribeReservedInstancesOfferings",
"ec2:GetReservedInstancesExchangeQuote",
"ec2:AcceptReservedInstancesExchangeQuote"
],
"Resource": "*"
}
Why do you need to specify this threshold As a best practice, get authorization on an exchange action as close to the time of quote generation as possible. This approach reduces the likelihood of large variances in the true-up cost. The true-up cost in a convertible RI exchange is transient because of the dynamic nature of the transaction. Between the time that Tanzu CloudHealth generates the quote and the time that you execute the exchange, your actual true-up cost can vary from the that specified in the quote. If the variance crosses the threshold that you specify, Tanzu CloudHealth does not allow the exchange action to get executed.
The approach of running instances On-Demand offers flexibility but can also drive up costs. AWS Reserved Instances (RIs) allow you to make an upfront monetary commitment to AWS in return for a discount on your compute costs. See What Are Reserved Instances
Due to the highly dynamic nature of cloud infrastructure, it is common for your RI usage to “drift” over time. For example, consider that you purchase ten m3.large
reservations for Linux in us-east-1a
. Later, your team might decide to move instances to other Availability Zones, rendering some of your RIs unused. The more dynamic your environment is, the more likely you are to see drift across your effective usage of RIs. Left unmonitored, the usage drift can cause a significant reduction in the cost savings that RIs help you realize.
One best practice for managing drift is to continuously assess the effectiveness of your usage of RIs over a predefined interval (for example, once a week). If you identify underutilization of RIs early, you can purchase and maintain the most cost effective RIs for your environment. Tanzu CloudHealth provides a report called the RI Analyzer to simplify the time-consuming and error-prone analysis of RI utilization in a complex cloud environment.
The RI Analyzer is a report that provides an overview of your reservation usage for each EC2 instance type. The report is based on instance activity, and its primary purpose is to help you understand if your instances are well covered by reservations. The report is not intended to present reservation utilization or reservation inventory.
In order to develop this report, the platform first analyzes your hourly usage based on information in your Amazon Detailed Billing Record (DBR). The resulting report shows your instance and reservation usage as an average for the month to date (MTD) or now.
For each instance, the report shows you the following information:
This report shows your inventory of reservations and identifies potential savings by comparing instances running versus reservations owned. Conversely, if you own many reservations and have fewer instances running, the Analyzer indicates how much your are overpaying.
The report can be sorted, exported to CSV, and filtered. You can also customize the report columns.
In order to compile the usage report, the Analyzer builds an inventory of your reservation purchases. Therefore, if you have one or more consolidated billing accounts, add all associated linked accounts in the platform. If one or more linked accounts are missing, reservation counts can be underreported, leading to inaccuracies.
You can set one of two values in the Analysis Period dropdown. Each setting results in a slightly different calculation approach for some report columns.
The blue bar at the top of the report summarizes your reservation usage for the Analysis Period, which can be Current Month or Now.
The report shows a row for every instance type running in the Analysis Period. Default columns provide additional details to help you understand how each instance type is being used.
Using the Filters dropdown, you can narrow the report by Account, Operating System, Tenancy, or Instance Type.
Tanzu CloudHealth recommendation for how best to optimize this instance type based on current usage in the Analysis Period. For detailed recommendations and more options, see Modify Reservations Using EC2 RI Modifier.
Recommendations are only made at the zonal level, not at the regional level. Tanzu CloudHealth considers regional reservations when making recommendations, but evaluates opportunities only for a given zone. Therefore, you can decide whether to purchase reservations scoped to a Region or an Availability Zone. For more information, see
Consider this example report, which indicates that both the ## Instances and ## Reserved Instances are equal to 7
. Yet notice that the report suggests that you Sell, modify or convert 4 reservations.
The Reserved Instance shown on the third row is scoped to the us-west-1
Availability Zone, which contains 4.0
unused Reserved Instances. The Analyzer refers to these 4 Availability-Zone-scoped instances when suggesting that you sell or modify them.
Moreover, the report will display a Region-scoped RI only if there are unused reservations scoped to a Region.
When the Analysis Period is specified as Current Month, the ## Instances and ## Reserved Instances are averaged over a period of time.
As a result, you might see a recommendation to buy more RIs while you have unused RIs, as this example shows. Alternatively, you might see a recommendation to buy more RIs scoped to an Availability Zone when you have unused RIs scoped to a Region. How instances are covered by RIs cannot be directly ascertained by comparing two numbers, but only by comparing the usage breakdown and RI breakdown over the analysis period. You can still see cost savings by purchasing more RIs even though those RIs or existing ones might not be fully used.
m2.2xlarge
.The key to effectively using the report is the intersection of (a) ## Instances and (b) ## Reserved Instances. You can compare these two columns to answer these questions:
Result of comparison | Interpretation |
---|---|
(a > b) |
You can probably save more money. |
(b > a) |
You have underutilized instances. |
(a ~= b) |
Your reservations are well utilized. |
Reservation savings per month: Your savings resulting from the purchase of RIs. It is calculated as follows:
(Cost of running instances on-demand per month – Current Effective Cost Per Month)
The decision to make an accurate and effective RI purchase can be a daunting task, often requiring long, tedious, and error-prone analysis.
The Tanzu CloudHealth RDS RI Optimizer evaluates your RDS instances to determine if you can benefit from the use of RIs. During the evaluation, the Optimizer analyzes your previous usage and identifies the optimum purchase for a given budget.
Tanzu CloudHealth uses a constraint-based algorithm that makes recommendations by taking a greedy approach to the classic “knapsack problem.” The analysis is performed by reviewing hourly on-demand usage over a time period. The algorithm trades off one or more efficient options for less efficient ones in order to identify the optimum reservation purchase that fits within your budget constraints. The aim is to provide the best recommendations for your specified constraints such as budget, purchase date, and filters.
AWS Cost and Usage Reports (CUR) provide comprehensive data about your costs, including those related to product, pricing, and usage. For more information, see AWS Cost and Usage Reports.
Enable the CUR in the platform before using the EC2 RI Optimizer to evaluate your on-demand usage.
The recommendations that the RDS RI Optimizer presents might be inaccurate for any RDS instance family that has underutilized, size-flexible reservations.
At least 30 days of data. If you only recently configured the CUR, and have less than 30 days of data, the platform will provide correct analysis and recommendations based on the partial history. The platform will also present warnings that give the option of viewing the old report, populated with data that does not account for size-flexible RIs.
The RDS RI Optimizer analyzes your instance usage and requirements based on a quote that you build. You can also modify or delete existing quotes and execute a purchase within a quote. 1. Select Recommendations > Reservations > RDS RI Optimizer. 2. Click New Quote.
If you have not enabled the CUR, Tanzu CloudHealth does not receive the complete reservation history for the accounts and time period you specify in the Optimizer. As a result, Optimizer recommendations are based on incomplete information and might be inaccurate.
By default, Tanzu CloudHealth proposes an RI purchase that provides close to 100% coverage of your instances without any limit on budget. The proposal is based on an analysis of current and historical on-demand usage of instances on an hourly basis.
Tanzu CloudHealth does not autosave changes to the quote. After each set of changes, click Actions > Save As at the top-right corner of the quote to retain your changes.
Review the default options that Tanzu CloudHealth sets when you create a quote. When modifying the options, consider what settings are ideal for your cloud environment.
The RDS RI Optimizer allows you to constrain the quote to a subset of your infrastructure. For example, you might want to make an RI purchase for specific accounts, regions (e.g., US East (Northern Virginia) Region
), instance types (e.g., db.m3 instance types), functions (e.g., Elasticsearch Clusters), or even business groups (e.g., marketing department).
Use the Filters function of the Extended Options section to target a specific subset of your infrastructure for an RI quote.
If you want to make more than one RI purchase for a subset of your infrastructure, be careful about targeting overlapping infrastructure (e.g., creating a quote that includes usage in the same account twice). This action can result in over-purchasing of reservations.
Click Run Optimizer after setting Options and Filters.
After running an evaluation, the Optimizer returns recommendations for RI purchase. Recommendations include both high-level and detailed summaries.
This section includes the following information.
This section provides information on each unique recommendation. In addition to the information for each account, the section provides the summary for each proposal.
The RDS RI Optimizer presents recommendations based on the options that you configure. However, you can modify those recommendations.
For example, if the Optimizer recommends purchasing 10 Partial Upfront reservations for db.m4.large
using a mysql
DB Engine, you can choose to purchase only 7 if you expect a future reduction in load that affects this instance type.
Click the gear icon to modify a recommendation.
The Recommended Usage view shows the on-demand usage overlaid on the recommended RI usage by type. This view helps you see what your usage looks like today and how Tanzu CloudHealth recommends this expense be managed with RI purchases.
In addition, the view presents these key attributes of the recommendation.
The purpose of the Summary tab in the RDS RI Optimizer is to help you visualize what your infrastructure will look like if you make purchases based on the recommendations.
The report uses up and down arrows to show where there are changes in usage of different offering types, as well as changes in cost and reservation rates. This information can be used to review with key stakeholders to gain agreement before making a purchase.
The Order tab displays the proposed reservation order and details that you need to make a purchase.
There are three ways to make the purchase.
Using Tanzu CloudHealth: Configure an approval workflow for purchasing reserved instances. Then, click the Purchase button on the Quote Summary page.
This action initiates the request for approval for reservation purchase. After both Approver and Authorizer confirm the request, the purchase is initiated.
Through your Amazon account representative: Review the order and then select Actions > Export Order to download a file that you can share with your Amazon account representative.
Commitment Discount provides a list of reservation recommendations for all services available in AWS to view and purchase utilization. These recommendations are generated by Tanzu CloudHealth.
Commitment Discount for AWS supports the following Reservable Services:
To access Recommendations from Commitment Discounts, navigate to AWS > Recommendations > Commitment Discounts. Click on the Export button to download the usage details in CSV format.
Click on any ID in the Account ID column or select View details from the 3-dot menu to view complete usage details.
In November 2019, AWS announced a new offering called Savings Plans. Savings Plans are a new way to reduce your EC2 and Fargate costs while maintaining maximum flexibility. Read more about Savings Plans in the blog.
If you have purchased a Savings Plan, Tanzu CloudHealth provides you with reporting to get better visibility into the costs of your Savings Plans, how your Savings Plans are being applied in conjunction with your RIs, and more. You can also use Tanzu CloudHealth Perspectives to group this analysis in the context of your business.
EC2 Compute costs and Fargate costs are updated as follows.
As with the Cost History Report, the EC2 Instance Cost and Usage Reports account for RI and Savings Plan discounts. In addition, to provide a full picture of what usage is On Demand, covered by Savings Plans, and covered by Reserved Instances, a new measure called “Coverage Type” has been introduced. This measure breaks down your cost and usage in the following manner: EC2 Savings Plan, Compute Savings Plan, Standard RI, Convertible RI, On demand, and Spot. Reservation Type will now include Savings Plans coverage in addition to Reserved Instance coverage. For example, All Upfront will show All Upfront RIs and Savings Plans coverage, thereby unlocking new views such as Coverage Type by Instance Family, filtering existing reports by Coverage type, and more.
The EC2 Instance Hours report has been updated to provide new measures that enable more granular analysis of how Savings Plans are applied to EC2 usage, as well as the amortization of fees both for Savings Plans and RIs.
Updated Columns: * The RI specific measure Avg Amortized Cost has been renamed as Avg RI Amortized Cost.
New Columns:
Savings Plans now have their own asset report where users can get an overview of their Savings Plans, their status, associated fees, and more. As with other asset reports, to enable this report you will need to update your AWS IAM policy.
The Convertible RI Exchanger continues to make accurate recommendations and should be leveraged by all customers. Usage covered by a Savings Plan is excluded from recommendations. Since AWS applies RIs first and then applies Savings Plans, Tanzu CloudHealth recommends customers ensure they are getting the greatest value possible from their RI investment. Savings Plan discounts apply to On-Demand usage that is not covered by reservations. Note that projected savings may be overestimated if usage is also covered by a Savings Plan.
If you do not have a Savings Plan, these reports will continue to function as expected. If you have a Savings Plan, Savings Plan covered usage is temporarily considered as On Demand usage, affecting RI Savings (total amount is inflated), Reservation opportunities (shows Instances that are covered by a Savings Plan), and overestimated cost savings from RI modifications if usage is covered by a Savings Plan.
The RI Analyzer does not account for Savings Plans, so it may make inaccurate recommendations in these cases. Usage covered by Savings Plans is interpreted as On-Demand usage.
If you have not purchased a Savings Plan in the selected evaluation period, your RI recommendations are accurate. The RI Optimizer may make incorrect recommendations when a Savings Plan has been purchased within the selected evaluation period.
The EC2 RI Modifier continues to make accurate recommendations, but may overestimate the savings if usage is also covered by a Savings Plan. Usage covered by Savings Plans is interpreted as On-Demand usage.
Policies behave as expected. Savings Plan discounts are included in policy evaluations for the EC2 Instance, AWS Billing Statement, and Multicloud Spend resource types.
Partners and their customers can each purchase Savings Plans and have savings applied at the appropriate level in the Tanzu CloudHealth billing engine.