

# Interruptible Capacity Reservations
<a name="interruptible-capacity-reservations"></a>

Interruptible Capacity Reservations help you make unused capacity temporarily available for other workloads within your account. This gives you control to reclaim capacity when needed. When you reclaim capacity, any instances running inside the interruptible reservation are terminated. After creating an interruptible reservation, you can share it with additional AWS accounts or your AWS organization using AWS Resource Access Manager (RAM).

Use interruptible Capacity Reservations when you have unused reserved capacity during off-peak periods, between deployments, or when workloads scale down. If you know another team that could use this capacity, you can make it available by creating an interruptible Capacity Reservation. When your critical workload needs capacity back, you can reclaim it.

You can use interruptible Capacity Reservations as one of the following:
+ **Capacity owner** – You own the source Capacity Reservation and create the interruptible Capacity Reservation to share unused capacity with other teams while retaining control to reclaim it when needed.
+ **Capacity consumer** – You launch instances into shared interruptible reservations, understanding that your instances may be terminated when the owner reclaims capacity.

**Topics**
+ [

## How it works
](#how-interruptible-cr-works)
+ [

## Billing
](#interruptible-cr-billing)
+ [

## Considerations
](#interruptible-cr-considerations)
+ [

# Interruptible Capacity Reservations for capacity owners
](capacity-owner-procedures.md)
+ [

# Interruptible Capacity Reservations for capacity consumers
](capacity-consumer-procedures.md)
+ [

# Monitor interruptible Capacity Reservations with EventBridge and CloudTrail
](monitor-interruptible-cr.md)

## How it works
<a name="how-interruptible-cr-works"></a>

To make unused capacity available to other teams, create an interruptible reservation by specifying the number of unused instances you want to share from your source reservation. When you create the interruptible reservation, we transfer these instances from your source reservation to the new interruptible reservation within your account.

We retain the association between the source reservation and the interruptible Capacity Reservation. As a result, when you reclaim your capacity, any running consumer instances are terminated, and the capacity is restored to your original source reservation.

Key features:
+ Make unused capacity temporarily available while maintaining control to reclaim it
+ Reclaim capacity at any time. For more information, see [Reclamation process and tracking](capacity-owner-procedures.md#reclamation-process)
+ Share with additional accounts or your AWS organization using AWS Resource Access Manager (RAM)

## Billing
<a name="interruptible-cr-billing"></a>

When you create an interruptible reservation, you're billed for it as an independent new reservation. This splits your billing:
+ Source reservation: You're billed for total capacity minus allocated capacity
+ Interruptible reservation: You're billed for the allocated capacity

For more information about On-Demand Capacity Reservation billing, see [Capacity Reservation pricing and billing](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-pricing-billing.html).

## Considerations
<a name="interruptible-cr-considerations"></a>

Before using interruptible Capacity Reservations, review the following limitations and requirements that apply to capacity owners and consumers.

### Capacity owners
<a name="capacity-owner-considerations"></a>
+ You cannot directly modify or cancel an interruptible Capacity Reservation. To edit it, update the capacity allocated from the source Capacity Reservation.
+ You can only view, launch, tag, share, and assign billing for interruptible reservations.
+ You can create only one interruptible allocation per source Capacity Reservation.

### Capacity consumers
<a name="capacity-consumer-considerations"></a>
+ Interruptible Capacity Reservations are by default targeted Capacity Reservations, so you need to target them in your instance launch.
+ You can't add interruptible Capacity Reservations to capacity reservation groups.
+ We recommend that you only use interruptible Capacity Reservations for applications that can be interrupted.
+ Your instances will be terminated when the owner reclaims capacity - there is no fallback to On-Demand or Spot. For more information, see [Interruption experience](capacity-consumer-procedures.md#interruption-experience).

# Interruptible Capacity Reservations for capacity owners
<a name="capacity-owner-procedures"></a>

The capacity owner is the account that owns the source Capacity Reservation and creates the interruptible Capacity Reservation to share unused capacity with other teams while retaining control to reclaim it when needed.

This section covers how you (the capacity owner) can create, modify, reclaim, and track an interruptible Capacity Reservation.

**Topics**
+ [

## Creating an interruptible Capacity Reservation
](#creating-interruptible-cr)
+ [

## View your interruptible Capacity Reservation
](#view-interruptible-cr)
+ [

## Modifying your interruptible Capacity Reservation
](#modify-interruptible-cr)
+ [

## Reclamation process and tracking
](#reclamation-process)
+ [

## Sharing interruptible reservations
](#sharing-interruptible-reservations)

## Creating an interruptible Capacity Reservation
<a name="creating-interruptible-cr"></a>

Create an interruptible Capacity Reservation to make unused capacity from your source reservation available for other workloads while maintaining control to reclaim it when needed.

### Prerequisites
<a name="interruptible-cr-prerequisites"></a>

Before creating an interruptible allocation, ensure your source On-Demand Capacity Reservation meets these requirements:
+ Your Capacity Reservation must be in active state with no end date set. You can't create allocations from reservations that are pending, expired, cancelled, or have scheduled end dates.
+ Your Capacity Reservation must have available capacity for allocation. You can only allocate available instances (also called unused capacity).
+ You can create only one interruptible allocation per source Capacity Reservation. If an allocation already exists, you must modify or cancel it before creating a new one.
+ You can allocate a maximum of 1000 instances at once to an interruptible Capacity Reservation.

Use can use the console or the AWS CLI to create an interruptible Capacity Reservation.

------
#### [ Console ]

**To create an interruptible Capacity Reservation**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Choose **Capacity Reservations**.

1. Select your Capacity Reservation.

1. Choose **Actions**, **Create interruptible allocation**.

1. For **Instances to allocate**, enter the number of instances to allocate.

1. (Optional) Add tags.

1. Choose **Create interruptible capacity allocation**.

------
#### [ AWS CLI ]

**To create an interruptible Capacity Reservation**  
Use the [create-interruptible-capacity-reservation-allocation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-interruptible-capacity-reservation-allocation.html) command:

```
aws ec2 create-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --instance-count 10
```

------

## View your interruptible Capacity Reservation
<a name="view-interruptible-cr"></a>

After creating an interruptible Capacity Reservation, you can view the interruptible reservation in your account or from a specific resource.

### View all interruptible Capacity Reservations in your account
<a name="view-all-interruptible-cr"></a>

Use the following procedure to view the interruptible Capacity Reservations in your account.

------
#### [ Console ]

**To view the interruptible Capacity Reservations in your account**

1. Go to the Capacity Reservations page in the console.

1. Look for reservations with **Interruptible** in the type column.

1. Select the interruptible reservation to view details.

------
#### [ AWS CLI ]

**To view the interruptible Capacity Reservations in your account**

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-interruptible-id \
    --filters Name=interruptible,Values=true
```

------

### View interruptible Capacity Reservation from a specific source
<a name="view-interruptible-cr-from-source"></a>

Use the following procedure to view the interruptible Capacity Reservation created from a specific source Capacity Reservation.

```
aws ec2 describe-capacity-reservations \
    --capacity-reservation-id cr-source-id
```

In the response, you'll find an `interruptibleCapacityAllocations` object that contains the interruptible Capacity Reservation ID and allocation details. For information about the response structure, see [InterruptibleCapacityAllocation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InterruptibleCapacityAllocation.html) in the *Amazon EC2 API Reference*.

## Modifying your interruptible Capacity Reservation
<a name="modify-interruptible-cr"></a>

Use the following procedures to edit or cancel your interruptible Capacity Reservation.

**Note**  
When you reduce the allocation, we first reclaim available instances, then running instances, until we meet the requested count. If we can meet the count entirely with available instances, no termination occurs. All modifications to allocated instance count are done through the source Capacity Reservation, not directly on the interruptible Capacity Reservation.
You can only modify an interruptible Capacity Reservation by a maximum of 1000 instances at once (increase or decrease).

### Edit your interruptible Capacity Reservation
<a name="edit-interruptible-allocation"></a>

Use the following procedure to edit your interruptible Capacity Reservation.

------
#### [ Console ]

1. From the source Capacity Reservation details page, choose **Actions**. Then, **Edit interruptible Capacity Reservation**.

1. For **Instances to allocate**, enter the new number:
   + Add more capacity to share
   + Reclaim capacity to your source Capacity Reservation

1. Choose **Update**.

------
#### [ AWS CLI ]

```
aws ec2 update-interruptible-capacity-reservation-allocation \
    --capacity-reservation-id cr-1234567890abcdef0 \
    --target-instance-count 80
```

------

### Cancel your interruptible Capacity Reservation
<a name="cancel-interruptible-allocation"></a>

Use the following procedure to permanently remove the allocation and return all capacity.

------
#### [ Console ]

1. From the source Capacity Reservation details page, navigate to the interruptible capacity allocation details.

1. Choose **Edit interruptible allocation**.

1. For Instance count, enter **0**.

1. Choose **Update**.

------
#### [ AWS CLI ]

```
aws ec2 update-interruptible-capacity-reservation-allocation \
--capacity-reservation-id cr-1234567890abcdef0 \
--target-instance-count 0
```

------

## Reclamation process and tracking
<a name="reclamation-process"></a>

When you reclaim capacity:
+ Running instances receive a 2-minute interruption warning through EventBridge events.
+ After the notice period, running instances in the reclaimed capacity enter a shutting down state and get terminated.
+ When terminated, the reclaimed instances become available in your source Capacity Reservation for immediate use.
+ Your allocation status changes from **updating** to **active** when complete.

Complete reclamation can take a few minutes depending on instance type and shutdown time. For more information about the EventBridge notification you receive when the process is complete, see [Reclamation completion](monitor-interruptible-cr.md#reclamation-completion).

### Track reclamation status
<a name="track-reclamation-status"></a>

Monitor reclamation progress by describing your source reservation:

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-id cr-1234567890abcdef0
```

The response shows these fields within the `interruptibleCapacityAllocation` object:
+ `instance-count`: Current allocated instances
+ `target-instance-count`: Requested quantity after reclamation
+ `status`: **updating** during reclamation and **active** when complete

## Sharing interruptible reservations
<a name="sharing-interruptible-reservations"></a>

You can share interruptible reservations only within your AWS organization using AWS Resource Access Manager (RAM).

Considerations:
+ If a consumer account leaves your organization, the interruptible reservation is automatically unshared from that account.
+ Any instances running in the unshared reservation are eventually terminated.
+ All other sharing functionality works the same as standard Capacity Reservations.

For complete sharing procedures, see [Sharing Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservation-sharing.html).

# Interruptible Capacity Reservations for capacity consumers
<a name="capacity-consumer-procedures"></a>

The capacity consumer is the account that launches instances into shared interruptible Capacity Reservations, understanding that their instances may be terminated when the owner reclaims capacity.

This section covers how you (the capacity consumer) can launch instances into an interruptible Capacity Reservation and learn about what happens when capacity is reclaimed by the owner.

**Topics**
+ [

## View an interruptible Capacity Reservation
](#view-interruptible-cr-consumer)
+ [

## Launch instances into interruptible reservations
](#launch-instances-interruptible)
+ [

## Interruption experience
](#interruption-experience)

## View an interruptible Capacity Reservation
<a name="view-interruptible-cr-consumer"></a>

Use the following procedures to view an interruptible Capacity Reservation.

------
#### [ Console ]

**To view interruptible Capacity Reservations in your account**

1. Open the Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Choose **Capacity Reservations**.

1. In the **Type** column, look for reservations marked as **Interruptible**.

1. Note the reservation IDs for use in your instance launches.

------
#### [ AWS CLI ]

**To find all interruptible Capacity Reservations in your account**  
Use the [describe-capacity-reservations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-capacity-reservations.html) command:

```
aws ec2 describe-capacity-reservations \
--filters Name=state,Values=active
```

Look for reservations where `Interruptible` is set to `true` in the response.

**To filter specifically for interruptible reservations**  
Use the following command:

```
aws ec2 describe-capacity-reservations \
--capacity-reservation-ids cr-example123 \
--query 'CapacityReservations[?Interruptible==`true`]'
```

------

**Note**  
Interruptible Capacity Reservations are by default targeted Capacity Reservations, so you need to target them specifically in your instance launch. Unlike open reservations, interruptible reservations will not automatically cover matching instances. You must explicitly specify the reservation ID when launching.

## Launch instances into interruptible reservations
<a name="launch-instances-interruptible"></a>

Use the following procedure to launch Amazon EC2 instances into interruptible Capacity Reservations within your account.

**Note**  
We recommend that you only use interruptible Capacity Reservations for applications that can be interrupted.

------
#### [ Console ]

**To launch instances into interruptible Capacity Reservations**

1. Open the Amazon Amazon EC2 console at [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. From the Amazon EC2 dashboard, choose **Launch instance**.

1. Configure your instance settings.

1. In **Advanced details** for Capacity Reservation, choose **Launch interruptible instances in your active reservation**.

1. Select the interruptible reservation ID and the new instance purchasing option.

1. Choose **Launch instance**.

------
#### [ AWS CLI ]

```
aws ec2 run-instances \
--instance-type m5.large \
--count 2 \
--image-id ami-12345678 \
--instance-market-options '{
    "MarketType": "interruptible-capacity-reservation"
}' \
--capacity-reservation-specification '{
    "CapacityReservationTarget": {
        "CapacityReservationId": "cr-abcdef1234567890"
    }   
}'
```

------

### Launch instances with Auto Scaling Groups
<a name="launch-with-asg"></a>

You can also launch instances into interruptible reservations using Auto Scaling Groups with launch templates. Configure the launch template with the interruptible market type and reservation ID, then create your Auto Scaling Group using that template. For more information, see [Interruptible Capacity Reservations with EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-interruptible-capacity-reservations.html).

## Interruption experience
<a name="interruption-experience"></a>

When capacity is reclaimed by the owner, you receive an interruption notice 2 minutes before instance termination. This warning comes through EventBridge events, giving you time to:
+ Save your work or checkpoint your applications
+ Shut down processes
+ Prepare for instance termination

The EventBridge event includes details about which instances will be terminated and the exact termination time. For more information, see [Instance interruption warning](monitor-interruptible-cr.md#instance-interruption-warning).

# Monitor interruptible Capacity Reservations with EventBridge and CloudTrail
<a name="monitor-interruptible-cr"></a>

Interruptible Capacity Reservations send EventBridge notifications and CloudTrail events to help you monitor and respond to capacity changes.

**Topics**
+ [

## EventBridge notifications
](#eventbridge-notifications)
+ [

## CloudTrail events
](#cloudtrail-events)

## EventBridge notifications
<a name="eventbridge-notifications"></a>

You receive two types of EventBridge notifications. For information about how to set up EventBridge notifications, see [Creating Amazon EventBridge rules](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html).

### Instance interruption warning
<a name="instance-interruption-warning"></a>

If you're running instances in an interruptible reservation, you receive this notification 2 minutes before your instances are terminated:

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Capacity Reservation Instance Interruption Warning",
    "source": "aws.ec2",
    "account": "[instance owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "resources": "[instance arn]",
    "region": "[region]",
    "detail": {
        "instance-id": "[instance-id]",
        "instance-action": "terminate",
        "instance-termination-time": "yyyy-mm-ddThh:mm:ssZ",
        "azId": "[availability-zone-id]"
    }
}
```

### Reclamation completion
<a name="reclamation-completion"></a>

If you own the source reservation, you receive this notification when capacity reclamation finishes:

```
{
    "version": "0",
    "id": "12345678-1234-1234-1234-123456789012",
    "detail-type": "EC2 Interruptible Capacity Reservation Allocation Reclamation Completed",
    "source": "aws.ec2",
    "account": "[source Capacity Reservation Owner Account ID]",
    "time": "[Current time in yyyy-mm-ddThh:mm:ssZ]",
    "region": "us-east-1",
    "resources": ["source_cr_arn"],
    "detail": {
        "sourceCapacityReservationId": "string",
        "instanceType": "string",
        "availabilityZoneId": "string",
        "TotalInstanceCount": "current total count in the source",
        "ReclaimedInstanceCount": "count of instances added to the source",
        "targetInstanceCount": "number"
    }
}
```

## CloudTrail events
<a name="cloudtrail-events"></a>

CloudTrail logs these events for interruptible Capacity Reservations:
+ `InterruptibleCapacityReservationCreated` — When you create an interruptible allocation
+ `InterruptibleCapacityReservationAllocationUpdated` — When you modify the allocation
+ `InterruptibleCapacityReservationCancelled` — When you cancel the allocation
+ `CapacityReservationModified` — When we modify the source reservation for allocation
+ `InterruptibleCapacityReservationInstancesTerminated` — When we terminate instances during reclamation