enum CapacityOptionType
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.ECS.CapacityOptionType |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsecs#CapacityOptionType |
Java | software.amazon.awscdk.services.ecs.CapacityOptionType |
Python | aws_cdk.aws_ecs.CapacityOptionType |
TypeScript (source) | aws-cdk-lib » aws_ecs » CapacityOptionType |
The capacity option type for instances launched by a Managed Instances Capacity Provider.
Example
declare const vpc: ec2.Vpc;
const cluster = new ecs.Cluster(this, 'Cluster', { vpc });
const securityGroup = new ec2.SecurityGroup(this, 'SecurityGroup', {
vpc,
description: 'Security group for managed instances',
});
const miCapacityProvider = new ecs.ManagedInstancesCapacityProvider(this, 'MICapacityProvider', {
capacityOptionType: ecs.CapacityOptionType.SPOT,
subnets: vpc.privateSubnets,
securityGroups: [securityGroup],
instanceRequirements: {
vCpuCountMin: 1,
memoryMin: Size.gibibytes(2),
},
});
// Optionally configure security group rules using IConnectable interface
miCapacityProvider.connections.allowFrom(ec2.Peer.ipv4(vpc.vpcCidrBlock), ec2.Port.tcp(80));
// Add the capacity provider to the cluster
cluster.addManagedInstancesCapacityProvider(miCapacityProvider);
const taskDefinition = new ecs.TaskDefinition(this, 'TaskDef', {
memoryMiB: '512',
cpu: '256',
networkMode: ecs.NetworkMode.AWS_VPC,
compatibility: ecs.Compatibility.MANAGED_INSTANCES,
});
taskDefinition.addContainer('web', {
image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
memoryReservationMiB: 256,
});
new ecs.FargateService(this, 'FargateService', {
cluster,
taskDefinition,
minHealthyPercent: 100,
capacityProviderStrategies: [
{
capacityProvider: miCapacityProvider.capacityProviderName,
weight: 1,
},
],
});
Members
| Name | Description |
|---|---|
| ON_DEMAND | Launch instances as On-Demand instances. |
| SPOT | Launch instances as Spot instances. |
ON_DEMAND
Launch instances as On-Demand instances.
SPOT
Launch instances as Spot instances.

.NET
Go
Java
Python
TypeScript (