PlacementGroupProps

class aws_cdk.aws_ec2.PlacementGroupProps(*, partitions=None, placement_group_name=None, spread_level=None, strategy=None)

Bases: object

Props for a PlacementGroup.

Parameters:
  • partitions (Union[int, float, None]) – The number of partitions. Valid only when Strategy is set to partition. Default: 0

  • placement_group_name (Optional[str]) – the name of this placement group. Default: - generated by CFN

  • spread_level (Optional[PlacementGroupSpreadLevel]) – Places instances on distinct hardware. Spread placement groups are recommended for applications that have a small number of critical instances that should be kept separate from each other. Launching instances in a spread level placement group reduces the risk of simultaneous failures that might occur when instances share the same equipment. Spread level placement groups provide access to distinct hardware, and are therefore suitable for mixing instance types or launching instances over time. If you start or launch an instance in a spread placement group and there is insufficient unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware available over time, so you can try your request again later. Placement groups can spread instances across racks or hosts. You can use host level spread placement groups only with AWS Outposts. Default: - no spread level

  • strategy (Optional[PlacementGroupStrategy]) – Which strategy to use when launching instances. Default: - PlacementGroupStrategy.PARTITION if partitions is defined, CLUSTER otherwise

ExampleMetadata:

fixture=with-vpc infused

Example:

# instance_type: ec2.InstanceType


pg = ec2.PlacementGroup(self, "test-pg",
    strategy=ec2.PlacementGroupStrategy.SPREAD
)

ec2.Instance(self, "Instance",
    vpc=vpc,
    instance_type=instance_type,
    machine_image=ec2.MachineImage.latest_amazon_linux2023(),
    placement_group=pg
)

Attributes

partitions

The number of partitions.

Valid only when Strategy is set to partition.

Default:

0

placement_group_name

the name of this placement group.

Default:
  • generated by CFN

Attribute:

true

spread_level

Places instances on distinct hardware.

Spread placement groups are recommended for applications that have a small number of critical instances that should be kept separate from each other. Launching instances in a spread level placement group reduces the risk of simultaneous failures that might occur when instances share the same equipment. Spread level placement groups provide access to distinct hardware, and are therefore suitable for mixing instance types or launching instances over time. If you start or launch an instance in a spread placement group and there is insufficient unique hardware to fulfill the request, the request fails. Amazon EC2 makes more distinct hardware available over time, so you can try your request again later. Placement groups can spread instances across racks or hosts. You can use host level spread placement groups only with AWS Outposts.

Default:
  • no spread level

strategy

Which strategy to use when launching instances.

Default:
  • PlacementGroupStrategy.PARTITION if partitions is defined, CLUSTER otherwise