All Products
Search
Document Center

Elastic Compute Service:Usage rules for reserved instances

Last Updated:Apr 02, 2026

A reserved instance is a discount plan, not a resource. It applies automatically to eligible pay-as-you-go instances to offset their hourly compute fees. Understanding how reserved instances match and offset costs helps you avoid wasted spend.

Warning

If no matching pay-as-you-go instances are running in a given hour, the reserved instance is idle but billing continues.

How matching works

Reserved instances are matched to pay-as-you-go instances automatically. No manual action is required.

Once matched, a reserved instance offsets the compute fees of the matched pay-as-you-go instances every hour until the reserved instance expires. The computing power delivered by a reserved instance is calculated as:

Computing power = Normalization factor of the instance type × Number of instances

The normalization factor reflects the compute capacity of an instance type based on its vCPU count. Use this table to calculate computing power and offset amounts when instance sizes differ:

Instance size Normalization factor
xlarge 4
2xlarge 8
4xlarge 16

For the full normalization factor table covering all instance types, see View the normalization factor table.

Matching rules

Regional and zonal reserved instances follow different matching rules.

Attribute Regional reserved instance Zonal reserved instance
Region and zone Matches pay-as-you-go instances across any zone within the same region Matches pay-as-you-go instances in the specified zone only
Instance type Same instance family; flexible sizing (a low-spec reserved instance can match a high-spec instance, and vice versa); resource reservation not supported Exact instance type match required; resource reservation supported
Operating system Must match

Regional reserved instances

A regional reserved instance offsets fees when all three conditions are met:

  • Same region: Cross-zone offset is supported — the reserved instance and pay-as-you-go instances can be in the same or different zones within the region.

  • Same instance family: Flexible sizing is supported within the family. Use normalization factors to calculate the offset amount when specs differ.

  • Same operating system: The reserved instance and pay-as-you-go instances must run the same OS.

Zonal reserved instances

A zonal reserved instance offsets fees when all three conditions are met:

  • Same zone: The reserved instance and pay-as-you-go instances must be in the same zone.

  • Same instance type: Exact instance type match required (same family and same size).

  • Same operating system: The reserved instance and pay-as-you-go instances must run the same OS.

Note

To see which pay-as-you-go instances are eligible for a reserved instance before you purchase, see Purchase reserved instances.

What reserved instances cover

Reserved instances offset compute fees (vCPUs and memory) only. Network and storage fees are billed separately.

Instance type Compute fees (vCPUs and memory) OS image fees
Linux instances Covered Not applicable
Windows instances Covered Covered (Windows image licensing included at no additional cost)

Storage costs can be offset separately using storage capacity units (SCUs). Combining reserved instances with SCUs reduces both compute and storage costs in pay-as-you-go scenarios. For full ECS billing details, see Billing overview.

Discount priority

When multiple discount plans are active, they are applied in the following order:

  1. Reserved instances and resource plans (such as SCUs)

  2. ECS compute savings plans

  3. General-purpose savings plans

  4. Coupons

Examples

The following scenarios show how reserved instances match and offset pay-as-you-go instances.

Regional reserved instance scenarios:

Zonal reserved instance scenarios:

Regional reserved instance examples

Scenario 1: One low-spec RI offsets one high-spec instance (partial offset)

Reserved instance Pay-as-you-go instance
Region/zone China (Qingdao), multiple zones Qingdao Zone B
Instance type ecs.g5.xlarge ecs.g5.2xlarge
OS Linux Linux
Count 1 1

Normalization factors: ecs.g5.xlarge = 4, ecs.g5.2xlarge = 8.

  • Reserved instance computing power: 1 × 4 = 4 units/hour

  • Pay-as-you-go instance computing power: 1 × 8 = 8 units/hour

Result: The reserved instance offsets 50% of the hourly compute fees.

Scenario 2: Two low-spec RIs offset one high-spec instance (full offset)

Reserved instances Pay-as-you-go instance
Region/zone China (Qingdao), multiple zones (both) Qingdao Zone B
Instance type ecs.g5.xlarge (both) ecs.g5.2xlarge
OS Linux (both) Linux
Count 1 each (2 total) 1

Normalization factors: ecs.g5.xlarge = 4, ecs.g5.2xlarge = 8.

  • Two reserved instances: 2 × 4 = 8 units/hour

  • Pay-as-you-go instance: 1 × 8 = 8 units/hour

Result: The two reserved instances together offset 100% of the hourly compute fees.

Scenario 3: One high-spec RI offsets one low-spec instance (with remaining capacity)

Reserved instance Pay-as-you-go instance
Region/zone China (Qingdao), multiple zones Qingdao Zone B
Instance type ecs.g5.4xlarge ecs.g5.2xlarge
OS Linux Linux
Count 1 1

Normalization factors: ecs.g5.4xlarge = 16, ecs.g5.2xlarge = 8.

  • Reserved instance: 1 × 16 = 16 units/hour

  • Pay-as-you-go instance: 1 × 8 = 8 units/hour

Result: The reserved instance offsets 100% of the hourly compute fees, with 50% of its computing power unused.

Scenario 4: One high-spec RI offsets multiple low-spec instances across zones

Reserved instance Pay-as-you-go instances
Region/zone China (Qingdao), multiple zones 2 instances in Qingdao Zone B; 2 instances in Qingdao Zone C
Instance type ecs.g5.4xlarge ecs.g5.xlarge (all four)
OS Linux Linux
Count 1 4

Normalization factors: ecs.g5.4xlarge = 16, ecs.g5.xlarge = 4.

  • Reserved instance: 1 × 16 = 16 units/hour

  • Pay-as-you-go instances: 4 × 4 = 16 units/hour

Result: The reserved instance offsets 100% of the hourly compute fees across all four instances in two zones. Regional reserved instances support cross-zone offset within the same region.

Scenario 5: Matching fails — OS mismatch

Reserved instance Pay-as-you-go instance Outcome
Region/zone China (Qingdao), multiple zones Qingdao Zone B
Instance type ecs.g5.4xlarge ecs.g5.xlarge
OS Linux Windows Mismatch

Result: Match fails. The reserved instance cannot offset the pay-as-you-go instance fees because the operating systems differ.

Scenario 6: Matching fails — different region and instance family

Reserved instance Pay-as-you-go instance Outcome
Region/zone China (Qingdao) China (Hangzhou), Zone B Region mismatch
Instance type ecs.g5.xlarge ecs.c5.xlarge Family mismatch
OS Linux Linux

Result: Match fails for two reasons: the instances are in different regions, and they belong to different instance families (g5 vs. c5).

Zonal reserved instance examples

Scenario 7: One RI offsets one instance (full offset)

Reserved instance Pay-as-you-go instance
Region/zone Qingdao Zone B Qingdao Zone B
Instance type ecs.g5.xlarge ecs.g5.xlarge
OS Windows Windows
Count 1 1

Both instances share the same normalization factor: 4.

  • Reserved instance: 1 × 4 = 4 units/hour

  • Pay-as-you-go instance: 1 × 4 = 4 units/hour

Result: The reserved instance offsets 100% of the hourly compute fees.

Scenario 8: One RI offsets multiple instances (partial offset)

Reserved instance Pay-as-you-go instances
Region/zone Qingdao Zone B Qingdao Zone B
Instance type ecs.g5.xlarge ecs.g5.xlarge
OS Windows Windows
Count 1 5
  • Reserved instance: 1 × 4 = 4 units/hour

  • Pay-as-you-go instances: 5 × 4 = 20 units/hour

Result: The reserved instance offsets 20% of the combined hourly compute fees (equivalent to 100% of the fees for one randomly selected instance).

Scenario 9: Multiple RIs offset one instance (with remaining capacity)

Reserved instances Pay-as-you-go instance
Region/zone Qingdao Zone B Qingdao Zone B
Instance type ecs.g5.xlarge (both) ecs.g5.xlarge
OS Windows (both) Windows
Count 1 each (2 total) 1
  • Two reserved instances: 2 × 4 = 8 units/hour

  • Pay-as-you-go instance: 1 × 4 = 4 units/hour

Result: The two reserved instances together offset 100% of the hourly compute fees, with 50% of total computing power unused.

Scenario 10: Multiple RIs offset multiple instances (full offset)

Reserved instances Pay-as-you-go instances
Region/zone Qingdao Zone B Qingdao Zone B
Instance type ecs.g5.xlarge (all) ecs.g5.xlarge (all)
OS Windows Windows
Count 5 5
  • Five reserved instances: 5 × 4 = 20 units/hour

  • Five pay-as-you-go instances: 5 × 4 = 20 units/hour

Result: The five reserved instances offset 100% of the combined hourly compute fees.

Scenario 11: Resource reservation — no pay-as-you-go instances running

Zonal reserved instance
Region/zone Qingdao Zone B
Instance type ecs.g5.2xlarge
OS Linux
Count 10

No pay-as-you-go instances are running.

Result: The reserved instances are idle and billing continues. During the term, 10 ecs.g5.2xlarge instances are reserved in Qingdao Zone B, ensuring that pay-as-you-go instances of that type can be created at any time.

Scenario 12: Matching fails — OS mismatch

Reserved instance Pay-as-you-go instance Outcome
Region/zone Qingdao Zone B Qingdao Zone B
Instance type ecs.g5.xlarge ecs.g5.xlarge
OS Linux Windows Mismatch

Result: Match fails. The operating systems differ.

Scenario 13: Matching fails — different zone and instance type

Reserved instance Pay-as-you-go instance Outcome
Region/zone Qingdao Zone B Qingdao Zone C Zone mismatch
Instance type ecs.g5.xlarge ecs.g5.4xlarge Size mismatch
OS Linux Linux

Result: Match fails for two reasons: the instances are in different zones, and the instance types have different specifications (xlarge vs. 4xlarge). Zonal reserved instances require an exact instance type match.

What's next