Do Windows or RHEL EC2 RIs Support Size Flexibility?

Amazon EC2 does not allow instance size flexibility for Reserved Instances that include commercial licensing such as Windows Server or Red Hat Enterprise Linux. Because the hourly rates for these operating systems contain built-in software license fees provided by Microsoft and Red Hat, the reservation discount is strictly locked to the exact instance size, platform, and tenancy specified at the time of purchase. This article explains how Amazon EC2 normalization factors work, why commercial operating systems are excluded from size flexibility, and what alternative purchasing models provide flexibility for licensed workloads.

How Instance Size Flexibility Works in Amazon EC2

Instance size flexibility allows a regional Reserved Instance discount to automatically apply across different instance sizes within the same instance family and Availability Zone or region. AWS calculates this flexibility using a normalization factor assigned to each instance size based on its relative resource footprint.

Instance Size Normalization Factor (\(N\))
nano \(0.25\)
micro \(0.5\)
small \(1\)
medium \(2\)
large \(4\)
xlarge \(8\)
2xlarge \(16\)
4xlarge \(32\)
8xlarge \(64\)
16xlarge \(128\)
32xlarge \(256\)

For eligible open-source Linux platforms, the total normalized capacity of a reservation is determined by multiplying the quantity of reserved instances (\(Q\)) by the normalization factor (\(N_{\text{reserved}}\)) of the purchased size:

\[U_{\text{total}} = Q \times N_{\text{reserved}}\]

When running instances of another size within the same family, the number of covered instances (\(C\)) that can receive the full reservation discount is given by:

\[C = \frac{U_{\text{total}}}{N_{\text{running}}}\]

For example, purchasing one m6i.2xlarge regional Linux Reserved Instance provides \(U_{\text{total}} = 1 \times 16 = 16\) normalized units per hour. Those \(16\) units can cover two m6i.large instances (\(2 \times 4 = 8\) units) and one m6i.xlarge instance (\(1 \times 8 = 8\) units) simultaneously:

\[\sum_{i} \left( C_i \times N_i \right) = (2 \times 4) + (1 \times 8) = 16\]

Why Windows Server and Red Hat Enterprise Linux Are Excluded

Instance size flexibility is restricted exclusively to Amazon EC2 Reserved Instances running free, open-source Linux/UNIX platforms without additional commercial licensing (specifically the default Linux/UNIX platform, which includes Amazon Linux, Ubuntu, CentOS, and Debian). Reservations for the following commercial operating systems do not support instance size flexibility:

  • Windows Server (Standard and Datacenter editions)
  • Windows Server with SQL Server (Web, Standard, or Enterprise)
  • Red Hat Enterprise Linux (RHEL) and RHEL for SAP
  • SUSE Linux Enterprise Server (SLES)
  • Linux with SQL Server

There are two technical and contractual reasons why AWS enforces this limitation:

  1. Non-Linear Software Licensing Costs: For standard Linux/UNIX instances, the hourly price scales linearly with hardware resources:

\[P_{\text{Linux}}(s) = k_{\text{compute}} \times N(s)\]

However, commercial operating systems bundle both compute infrastructure and vendor software licensing into a single hourly rate:

\[P_{\text{commercial}}(s) = P_{\text{compute}}(s) + P_{\text{license}}(s)\]

While Windows Server licensing on EC2 often scales proportionally with virtual CPUs (vCPUs), Red Hat Enterprise Linux and SUSE Linux Enterprise Server frequently use tiered or flat-rate subscription pricing structures where the license fee \(P_{\text{license}}(s)\) does not double when the instance size doubles. For example, RHEL licensing on smaller vCPU tiers may have one fixed hourly license add-on, while larger vCPU tiers have a different cap. If AWS permitted a single r6i.4xlarge RHEL Reserved Instance (\(N = 32\)) to split into sixteen r6i.medium RHEL instances (\(16 \times 2 = 32\)), the customer would consume sixteen separate OS subscription licenses while only paying for one high-tier license, violating the underlying vendor licensing metrics.

  1. Fixed Vendor Royalty Reporting: AWS remits licensing royalties to Microsoft, Red Hat, and SUSE based on the specific SKU and instance type committed under the Reserved Instance agreement. Consequently, a Reserved Instance for m5.xlarge running Windows Server or RHEL will only discount a running m5.xlarge instance matching the exact platform, tenancy, and region or Availability Zone. If you scale that workload up to an m5.2xlarge or down to two m5.large instances, the Reserved Instance sits unutilized and the new instances are billed at full On-Demand rates.

Requirements for EC2 Instance Size Flexibility

To qualify for instance size flexibility on Amazon EC2, a Reserved Instance must meet all of the following criteria:

  • Platform: Must be basic Linux/UNIX (Amazon Linux, Ubuntu, etc.) with default shared tenancy.
  • Tenancy: Must be Default (shared) tenancy. Dedicated Instances and Dedicated Hosts do not support size flexibility.
  • Scope: Both Regional and Zonal Reserved Instances can have standard or convertible classes, though size flexibility applies within the instance family across a region (for Regional RIs) or is constrained to the specific Availability Zone if capacity is reserved. Note that Zonal RIs (which provide a capacity reservation) do not offer instance size flexibility—only Regional RIs on default Linux/UNIX provide size flexibility.
  • Instance Family: Must belong to the exact same instance family (for example, c6i cannot flex to c6a or c5).Bare metal instances (*.metal) belong to the same family normalization table for eligible Linux workloads, where their normalization factor is proportional to the largest virtualized size in that family.

Alternatives for Flexible Windows and RHEL Commitments

If your workloads run Windows Server or Red Hat Enterprise Linux and require the ability to change instance sizes without losing your commitment discount, you have three primary options:

1. AWS Savings Plans (Compute Savings Plans and EC2 Instance Savings Plans)

Unlike Reserved Instances, AWS Savings Plans are based on an hourly monetary spend commitment (\(S_{\text{commit}}\), measured in currency per hour) rather than fixed normalized hardware units. Both Compute Savings Plans and EC2 Instance Savings Plans automatically apply across different instance sizes, even when running Windows Server, RHEL, SLES, or SQL Server.

Under a Savings Plan, if your discounted hourly rate for a Windows or RHEL instance of size \(s\) is \(r_{\text{SP}}(s)\), the number of concurrent instances covered by your hourly commitment \(S_{\text{commit}}\) is:

\[C_{\text{SP}}(s) = \frac{S_{\text{commit}}}{r_{\text{SP}}(s)}\]

Because the commitment is tracked in currency rather than vCPU normalization units, you can freely resize from m6i.xlarge to m6i.2xlarge on Windows Server or RHEL and continue receiving the Savings Plan discount rate up to your hourly commitment ceiling.

2. Convertible Reserved Instances

If you already own or prefer Reserved Instances for Windows Server or RHEL, Convertible Reserved Instances allow you to manually exchange your reservation for another configuration of equal or greater total value:

\[V_{\text{new}} \ge V_{\text{current}}\]

While Convertible RIs do not resize automatically at billing time like instance size flexibility does, you can invoke the AcceptReservedInstancesExchangeQuote API or use the EC2 console to trade a Windows or RHEL m5.2xlarge Convertible RI for two m5.xlarge Convertible RIs whenever you resize your environment.

3. Bring Your Own License (BYOL) with Default Linux/UNIX or License Mobility

  • Red Hat Cloud Access (BYOL): When you bring your own Red Hat Enterprise Linux subscriptions to AWS via Red Hat Cloud Access, your EC2 instances run on the standard Linux/UNIX billing platform from an AWS perspective because Red Hat licensing is handled directly through your Red Hat Customer Portal subscription. Because AWS bills the underlying compute as standard Linux/UNIX, Regional Reserved Instances purchased for these instances do receive full instance size flexibility.
  • Windows Server BYOL on Dedicated Hosts: Bringing Windows Server licenses typically requires EC2 Dedicated Hosts to comply with Microsoft licensing terms for physical core allocation. While Dedicated Host Reservations do not offer instance size flexibility in the same way as shared-tenancy Linux RIs, they allow you to run multiple different instance sizes simultaneously on the same physical host as long as the instances belong to the host's supported instance family.