PlacementStrategy¶
-
class
aws_cdk.aws_ecs.
PlacementStrategy
(*args: Any, **kwargs)¶ Bases:
object
The placement strategies to use for tasks in the service. For more information, see Amazon ECS Task Placement Strategies.
Tasks will preferentially be placed on instances that match these rules.
- ExampleMetadata
infused
Example:
vpc = ec2.Vpc.from_lookup(self, "Vpc", is_default=True ) cluster = ecs.Cluster(self, "Ec2Cluster", vpc=vpc) cluster.add_capacity("DefaultAutoScalingGroup", instance_type=ec2.InstanceType("t2.micro"), vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC) ) task_definition = ecs.TaskDefinition(self, "TD", compatibility=ecs.Compatibility.EC2 ) task_definition.add_container("TheContainer", image=ecs.ContainerImage.from_registry("foo/bar"), memory_limit_mi_b=256 ) run_task = tasks.EcsRunTask(self, "Run", integration_pattern=sfn.IntegrationPattern.RUN_JOB, cluster=cluster, task_definition=task_definition, launch_target=tasks.EcsEc2LaunchTarget( placement_strategies=[ ecs.PlacementStrategy.spread_across_instances(), ecs.PlacementStrategy.packed_by_cpu(), ecs.PlacementStrategy.randomly() ], placement_constraints=[ ecs.PlacementConstraint.member_of("blieptuut") ] ) )
Methods
-
to_json
()¶ Return the placement JSON.
- Return type
Static Methods
-
classmethod
packed_by
(resource)¶ Places tasks on the container instances with the least available capacity of the specified resource.
- Parameters
resource (
BinPackResource
) –- Return type
-
classmethod
packed_by_cpu
()¶ Places tasks on container instances with the least available amount of CPU capacity.
This minimizes the number of instances in use.
- Return type
-
classmethod
packed_by_memory
()¶ Places tasks on container instances with the least available amount of memory capacity.
This minimizes the number of instances in use.
- Return type
-
classmethod
randomly
()¶ Places tasks randomly.
- Return type
-
classmethod
spread_across
(*fields)¶ Places tasks evenly based on the specified value.
You can use one of the built-in attributes found on
BuiltInAttributes
or supply your own custom instance attributes. If more than one attribute is supplied, spreading is done in order.- Parameters
fields (
str
) –- Default
attributes instanceId
- Return type
-
classmethod
spread_across_instances
()¶ Places tasks evenly across all container instances in the cluster.
- Return type