CapacityReservation
The CapacityReservation resource allows you to manage AWS EC2 CapacityReservations which provide dedicated capacity for EC2 instances in specific Availability Zones.
Minimal Example
Section titled “Minimal Example”Create a basic EC2 CapacityReservation with essential properties.
import AWS from "alchemy/aws/control";
const capacityReservation = await AWS.EC2.CapacityReservation("myCapacityReservation", { instanceCount: 5, instanceType: "t3.medium", instancePlatform: "Linux/UNIX", availabilityZone: "us-west-2a"});
Advanced Configuration
Section titled “Advanced Configuration”Configure an EC2 CapacityReservation with additional options like EBS optimization and tagging.
const advancedCapacityReservation = await AWS.EC2.CapacityReservation("advancedCapacityReservation", { instanceCount: 10, instanceType: "m5.large", instancePlatform: "Linux/UNIX", availabilityZone: "us-west-2b", ebsOptimized: true, tagSpecifications: [{ resourceType: "capacity-reservation", tags: { Name: "AdvancedCapacityReservation", Environment: "Production" } }]});
Specifying End Dates
Section titled “Specifying End Dates”Create a CapacityReservation with a specified end date and billing owner ID.
const timedCapacityReservation = await AWS.EC2.CapacityReservation("timedCapacityReservation", { instanceCount: 20, instanceType: "c5.xlarge", instancePlatform: "Linux/UNIX", availabilityZone: "us-east-1a", endDate: "2024-12-31T23:59:59Z", unusedReservationBillingOwnerId: "123456789012"});
Using Placement Groups
Section titled “Using Placement Groups”Configure a CapacityReservation to use a specific placement group.
const placementGroupCapacityReservation = await AWS.EC2.CapacityReservation("placementGroupCapacityReservation", { instanceCount: 6, instanceType: "r5.2xlarge", instancePlatform: "Linux/UNIX", availabilityZone: "us-east-1b", placementGroupArn: "arn:aws:ec2:us-east-1:123456789012:placement-group/myPlacementGroup"});