aws-cdk-lib.aws_stepfunctions_tasks.EcsEc2LaunchTargetOptions

interface EcsEc2LaunchTargetOptions

LanguageType name
.NETAmazon.CDK.AWS.StepFunctions.Tasks.EcsEc2LaunchTargetOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsstepfunctionstasks#EcsEc2LaunchTargetOptions
Javasoftware.amazon.awscdk.services.stepfunctions.tasks.EcsEc2LaunchTargetOptions
Pythonaws_cdk.aws_stepfunctions_tasks.EcsEc2LaunchTargetOptions
TypeScript (source)aws-cdk-lib » aws_stepfunctions_tasks » EcsEc2LaunchTargetOptions

Options to run an ECS task on EC2 in StepFunctions and ECS.

Example

const vpc = ec2.Vpc.fromLookup(this, 'Vpc', {
  isDefault: true,
});

const cluster = new ecs.Cluster(this, 'Ec2Cluster', { vpc });
cluster.addCapacity('DefaultAutoScalingGroup', {
  instanceType: new ec2.InstanceType('t2.micro'),
  vpcSubnets: { subnetType: ec2.SubnetType.PUBLIC },
});

const taskDefinition = new ecs.TaskDefinition(this, 'TD', {
  compatibility: ecs.Compatibility.EC2,
});

taskDefinition.addContainer('TheContainer', {
  image: ecs.ContainerImage.fromRegistry('foo/bar'),
  memoryLimitMiB: 256,
});

const runTask = new tasks.EcsRunTask(this, 'Run', {
  integrationPattern: sfn.IntegrationPattern.RUN_JOB,
  cluster,
  taskDefinition,
  launchTarget: new tasks.EcsEc2LaunchTarget({
    placementStrategies: [
      ecs.PlacementStrategy.spreadAcrossInstances(),
      ecs.PlacementStrategy.packedByCpu(),
      ecs.PlacementStrategy.randomly(),
    ],
    placementConstraints: [
      ecs.PlacementConstraint.memberOf('blieptuut'),
    ],
  }),
  propagatedTagSource: ecs.PropagatedTagSource.TASK_DEFINITION,
});

Properties

NameTypeDescription
placementConstraints?PlacementConstraint[]Placement constraints.
placementStrategies?PlacementStrategy[]Placement strategies.

placementConstraints?

Type: PlacementConstraint[] (optional, default: None)

Placement constraints.


placementStrategies?

Type: PlacementStrategy[] (optional, default: None)

Placement strategies.