Using I-ODCRs with AWS PCS
Interruptible On-Demand Capacity Reservations (I-ODCRs) let ODCR owners temporarily share unused reserved capacity with other accounts in their AWS organization. Consumer instances receive a 2-minute termination warning when the owner reclaims capacity, making I-ODCRs suitable for fault-tolerant workloads such as batch processing, ML training, and data analysis.
For more information about I-ODCRs, see Interruptible Capacity Reservations in the Amazon Elastic Compute Cloud User Guide.
How I-ODCRs work with AWS PCS
An I-ODCR is created from an existing source ODCR. The owner specifies how many instances to allocate to the interruptible reservation. Those instances are transferred from the source ODCR to the new I-ODCR. The owner can reclaim capacity at any time, which terminates consumer instances with a 2-minute notice.
Key characteristics:
I-ODCRs are targeted by default — consumers must reference the reservation ID in their launch configuration.
I-ODCRs cannot be added to Capacity Reservation groups.
Only one interruptible allocation can be created per source ODCR.
When the owner reclaims capacity, there is no fallback to On-Demand or Spot — consumer instances are terminated.
Configuring an AWS PCS compute node group to use an I-ODCR
You can configure an AWS PCS compute node group to use a shared I-ODCR by adding it to a launch template. Here are the steps:
-
Ensure you have access to the I-ODCR. The ODCR owner must share the interruptible reservation with your account using AWS Resource Access Manager (RAM). Once shared, the I-ODCR appears in your account under Capacity Reservations on the Amazon EC2 console.
-
Create a launch template that targets the I-ODCR. Reference the I-ODCR ID directly and set the market type to
interruptible-capacity-reservation. Here is an example launch template:{ "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-1234567890abcdef1" } }, "InstanceMarketOptions": { "MarketType": "interruptible-capacity-reservation" } } -
Create or update an AWS PCS compute node group to use the launch template. For more information, see AWS PCS compute node groups.
Set the
purchaseOptionof the compute node group toINTERRUPTIBLE_CAPACITY_RESERVATION.
Handling interruptions
When the I-ODCR owner reclaims capacity, consumer instances receive a 2-minute termination warning through Amazon EventBridge. To handle interruptions gracefully in your AWS PCS workloads:
Configure your applications to listen for EventBridge interruption events.
Implement checkpointing so jobs can save intermediate results and resume after interruption.
For compute node groups with a dynamic scaling configuration, set the minimum instance count to
0so the group can scale down gracefully when capacity is reclaimed.
For more information about monitoring interruption events, see Monitor interruptible Capacity Reservations with EventBridge in the Amazon Elastic Compute Cloud User Guide.
Example: Share and use hpc7a.96xlarge instances with an I-ODCR
This example walks through creating an I-ODCR from an existing ODCR and using it with an AWS PCS compute node group.
Step 1: Create the interruptible reservation from a source ODCR.
The ODCR owner creates an interruptible allocation of 16 instances from their existing 32-instance reservation:
aws ec2 create-interruptible-capacity-reservation-allocation \ --capacity-reservation-id cr-source1234567890a \ --instance-count 16
The source ODCR now shows 16 instances, and a new I-ODCR is created with 16 instances.
Step 2: Share the I-ODCR using AWS RAM.
The owner shares the I-ODCR with the consumer account:
aws ram create-resource-share \ --name "HPC-Interruptible-Share" \ --resource-arns arn:aws:ec2:us-east-2:123456789012:capacity-reservation/cr-interruptible456 \ --principals 987654321098
Step 3: Create a launch template targeting the I-ODCR.
The consumer creates a launch template:
{ "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationId": "cr-interruptible456" } }, "InstanceMarketOptions": { "MarketType": "interruptible-capacity-reservation" } }
Step 4: Create an AWS PCS compute node group using the launch template.
Create a dynamic compute node group with purchaseOption set to
INTERRUPTIBLE_CAPACITY_RESERVATION and the launch template referencing the
I-ODCR. Set the minimum instance count to 0 and the maximum to 16 (matching the I-ODCR capacity).
Billing considerations
The ODCR owner pays On-Demand rates for unused capacity in the I-ODCR (instances not launched by the consumer).
The consumer pays On-Demand rates only for instances they actually launch and use.
For more information, see Capacity Reservation pricing and billing in the Amazon Elastic Compute Cloud User Guide.