aws-cdk-lib.aws_ec2.PlacementGroup

class PlacementGroup (construct)

LanguageType name
.NETAmazon.CDK.AWS.EC2.PlacementGroup
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsec2#PlacementGroup
Javasoftware.amazon.awscdk.services.ec2.PlacementGroup
Pythonaws_cdk.aws_ec2.PlacementGroup
TypeScript (source)aws-cdk-lib » aws_ec2 » PlacementGroup

Implements IConstruct, IDependable, IResource, IPlacementGroup

Defines a placement group.

Placement groups give you fine-grained control over where your instances are provisioned.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
const placementGroup = new ec2.PlacementGroup(this, 'MyPlacementGroup', /* all optional props */ {
  partitions: 123,
  placementGroupName: 'placementGroupName',
  spreadLevel: ec2.PlacementGroupSpreadLevel.HOST,
  strategy: ec2.PlacementGroupStrategy.CLUSTER,
});

Initializer

new PlacementGroup(scope: Construct, id: string, props?: PlacementGroupProps)

Parameters

  • scope Construct
  • id string
  • props PlacementGroupProps

Construct Props

NameTypeDescription
partitions?numberThe number of partitions.
placementGroupName?stringthe name of this placement group.
spreadLevel?PlacementGroupSpreadLevelPlaces instances on distinct hardware.
strategy?PlacementGroupStrategyWhich strategy to use when launching instances.

partitions?

Type: number (optional, default: 0)

The number of partitions.

Valid only when Strategy is set to partition.


placementGroupName?

Type: string (optional, default: generated by CFN)

the name of this placement group.


spreadLevel?

Type: PlacementGroupSpreadLevel (optional, default: no 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.


strategy?

Type: PlacementGroupStrategy (optional, default: PlacementGroupStrategy.PARTITION if partitions is defined, CLUSTER otherwise)

Which strategy to use when launching instances.

Properties

NameTypeDescription
envResourceEnvironmentThe environment this resource belongs to.
nodeNodeThe tree node.
placementGroupNamestringThe name of this placement group.
stackStackThe stack in which this resource is defined.
partitions?numberThe number of partitions.
spreadLevel?PlacementGroupSpreadLevelPlaces instances on distinct hardware.
strategy?PlacementGroupStrategyWhich strategy to use when launching instances.

env

Type: ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


node

Type: Node

The tree node.


placementGroupName

Type: string

The name of this placement group.


stack

Type: Stack

The stack in which this resource is defined.


partitions?

Type: number (optional)

The number of partitions.

Valid only when Strategy is set to PARTITION.


spreadLevel?

Type: PlacementGroupSpreadLevel (optional)

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.


strategy?

Type: PlacementGroupStrategy (optional)

Which strategy to use when launching instances.

Methods

NameDescription
applyRemovalPolicy(policy)Apply the given removal policy to this resource.
toString()Returns a string representation of this construct.
static fromPlacementGroupName(scope, id, placementGroupName)Import a PlacementGroup by its arn.

applyRemovalPolicy(policy)

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).


toString()

public toString(): string

Returns

  • string

Returns a string representation of this construct.


static fromPlacementGroupName(scope, id, placementGroupName)

public static fromPlacementGroupName(scope: Construct, id: string, placementGroupName: string): IPlacementGroup

Parameters

  • scope Construct
  • id string
  • placementGroupName string

Returns

  • IPlacementGroup

Import a PlacementGroup by its arn.