Unlimited mode concepts - Amazon Elastic Compute Cloud

Unlimited mode concepts

The unlimited mode is a credit configuration option for burstable performance instances. It can be enabled or disabled at any time for a running or stopped instance. You can set unlimited as the default credit option at the account level per AWS Region, per burstable performance instance family, so that all new burstable performance instances in the account launch using the default credit option.

How Unlimited burstable performance instances work

If a burstable performance instance configured as unlimited depletes its CPU credit balance, it can spend surplus credits to burst beyond the baseline. When its CPU utilization falls below the baseline, it uses the CPU credits that it earns to pay down the surplus credits that it spent earlier. The ability to earn CPU credits to pay down surplus credits enables Amazon EC2 to average the CPU utilization of an instance over a 24-hour period. If the average CPU usage over a 24-hour period exceeds the baseline, the instance is billed for the additional usage at a flat additional rate per vCPU-hour.

The following graph shows the CPU usage of a t3.large. The baseline CPU utilization for a t3.large is 30%. If the instance runs at 30% CPU utilization or less on average over a 24-hour period, there is no additional charge because the cost is already covered by the instance hourly price. However, if the instance runs at 40% CPU utilization on average over a 24-hour period, as shown in the graph, the instance is billed for the additional 10% CPU usage at a flat additional rate per vCPU-hour.


                  CPU billing usage of a t3.large instance.

For more information about the baseline utilization per vCPU for each instance type and how many credits each instance type earns, see the credit table.

When to use unlimited mode versus fixed CPU

When determining whether you should use a burstable performance instance in unlimited mode, such as T3, or a fixed performance instance, such as M5, you need to determine the breakeven CPU usage. The breakeven CPU usage for a burstable performance instance is the point at which a burstable performance instance costs the same as a fixed performance instance. The breakeven CPU usage helps you determine the following:

  • If the average CPU usage over a 24-hour period is at or below the breakeven CPU usage, use a burstable performance instance in unlimited mode so that you can benefit from the lower price of a burstable performance instance while getting the same performance as a fixed performance instance.

  • If the average CPU usage over a 24-hour period is above the breakeven CPU usage, the burstable performance instance will cost more than the equivalently-sized fixed performance instance. If a T3 instance continuously bursts at 100% CPU, you end up paying approximately 1.5 times the price of an equivalently-sized M5 instance.

The following graph shows the breakeven CPU usage point where a t3.large costs the same as an m5.large. The breakeven CPU usage point for a t3.large is 42.5%. If the average CPU usage is at 42.5%, the cost of running the t3.large is the same as an m5.large, and is more expensive if the average CPU usage is above 42.5%. If the workload needs less than 42.5% average CPU usage, you can benefit from the lower price of the t3.large while getting the same performance as an m5.large.


                  The breakeven CPU usage point for a t3.large instance is 42.5%.

The following table shows how to calculate the breakeven CPU usage threshold so that you can determine when it's less expensive to use a burstable performance instance in unlimited mode or a fixed performance instance. The columns in the table are labeled A through K.

Instance type

vCPUs

T3 price*/hour

M5 price*/hour

Price difference

T3 baseline utilization per vCPU (%)

Charge per vCPU hour for surplus credits

Charge per vCPU minute

Additional burst minutes available per vCPU

Additional CPU % available

Breakeven CPU %

A

B

C

D

E = D - C

F

G

H = G / 60

I = E / H

J = (I / 60) / B

K = F + J

t3.large

2

$0.0835

$0.096

$0.0125

30%

$0.05

$0.000833

15

12.5%

42.5%

* Price is based on us-east-1 and Linux OS.

The table provides the following information:

  • Column A shows the instance type, t3.large.

  • Column B shows the number of vCPUs for the t3.large.

  • Column C shows the price of a t3.large per hour.

  • Column D shows the price of an m5.large per hour.

  • Column E shows the price difference between the t3.large and the m5.large.

  • Column F shows the baseline utilization per vCPU of the t3.large, which is 30%. At the baseline, the hourly cost of the instance covers the cost of the CPU usage.

  • Column G shows the flat additional rate per vCPU-hour that an instance is charged if it bursts at 100% CPU after it has depleted its earned credits.

  • Column H shows the flat additional rate per vCPU-minute that an instance is charged if it bursts at 100% CPU after it has depleted its earned credits.

  • Column I shows the number of additional minutes that the t3.large can burst per hour at 100% CPU while paying the same price per hour as an m5.large.

  • Column J shows the additional CPU usage (in %) over baseline that the instance can burst while paying the same price per hour as an m5.large.

  • Column K shows the breakeven CPU usage (in %) that the t3.large can burst without paying more than the m5.large. Anything above this, and the t3.large costs more than the m5.large.

The following table shows the breakeven CPU usage (in %) for T3 instance types compared to the similarly-sized M5 instance types.

T3 instance type Breakeven CPU usage (in %) for T3 compared to M5
t3.large 42.5%
t3.xlarge 52.5%
t3.2xlarge 52.5%

Surplus credits can incur charges

If the average CPU utilization of an instance is at or below the baseline, the instance incurs no additional charges. Because an instance earns a maximum number of credits in a 24-hour period (for example, a t3.micro instance can earn a maximum of 288 credits in a 24-hour period), it can spend surplus credits up to that maximum without being charged.

However, if CPU utilization stays above the baseline, the instance cannot earn enough credits to pay down the surplus credits that it has spent. The surplus credits that are not paid down are charged at a flat additional rate per vCPU-hour. For information about the rate, see T2/T3/T4g Unlimited Mode Pricing.

Surplus credits that were spent earlier are charged when any of the following occurs:

  • The spent surplus credits exceed the maximum number of credits the instance can earn in a 24-hour period. Spent surplus credits above the maximum are charged at the end of the hour.

  • The instance is stopped or terminated.

  • The instance is switched from unlimited to standard.

Spent surplus credits are tracked by the CloudWatch metric CPUSurplusCreditBalance. Surplus credits that are charged are tracked by the CloudWatch metric CPUSurplusCreditsCharged. For more information, see Additional CloudWatch metrics for burstable performance instances.

No launch credits for T2 Unlimited instances

T2 Standard instances receive launch credits, but T2 Unlimited instances do not. A T2 Unlimited instance can burst beyond the baseline at any time with no additional charge, as long as its average CPU utilization is at or below the baseline over a rolling 24-hour window or its lifetime, whichever is shorter. As such, T2 Unlimited instances do not require launch credits to achieve high performance immediately after launch.

If a T2 instance is switched from standard to unlimited, any accrued launch credits are removed from the CPUCreditBalance before the remaining CPUCreditBalance is carried over.

T4g, T3a and T3 instances never receive launch credits because they support Unlimited mode. The Unlimited mode credit configuration enables T4g, T3a and T3 instances to use as much CPU as needed to burst beyond baseline and for as long as needed.

Enable unlimited mode

You can switch from unlimited to standard, and from standard to unlimited, at any time on a running or stopped instance. For more information, see Launch a burstable performance instance as Unlimited or Standard and Modify the credit specification of a burstable performance instance.

You can set unlimited as the default credit option at the account level per AWS Region, per burstable performance instance family, so that all new burstable performance instances in the account launch using the default credit option. For more information, see Set the default credit specification for the account.

You can check whether your burstable performance instance is configured as unlimited or standard using the Amazon EC2 console or the AWS CLI. For more information, see View the credit specification of a burstable performance instance and View the default credit specification.

What happens to credits when switching between Unlimited and Standard

CPUCreditBalance is a CloudWatch metric that tracks the number of credits accrued by an instance. CPUSurplusCreditBalance is a CloudWatch metric that tracks the number of surplus credits spent by an instance.

When you change an instance configured as unlimited to standard, the following occurs:

  • The CPUCreditBalance value remains unchanged and is carried over.

  • The CPUSurplusCreditBalance value is immediately charged.

When a standard instance is switched to unlimited, the following occurs:

  • The CPUCreditBalance value containing accrued earned credits is carried over.

  • For T2 Standard instances, any launch credits are removed from the CPUCreditBalance value, and the remaining CPUCreditBalance value containing accrued earned credits is carried over.

Monitor credit usage

To see if your instance is spending more credits than the baseline provides, you can use CloudWatch metrics to track usage, and you can set up hourly alarms to be notified of credit usage. For more information, see Monitor your CPU credits for burstable performance instances.