class PlacementGroup (construct)
Language | Type name |
---|---|
![]() | Amazon.CDK.AWS.EC2.PlacementGroup |
![]() | github.com/aws/aws-cdk-go/awscdk/v2/awsec2#PlacementGroup |
![]() | software.amazon.awscdk.services.ec2.PlacementGroup |
![]() | aws_cdk.aws_ec2.PlacementGroup |
![]() | aws-cdk-lib » aws_ec2 » PlacementGroup |
Implements
IConstruct
, IDependable
, IResource
, IPlacement
Defines a placement group.
Placement groups give you fine-grained control over where your instances are provisioned.
Example
declare const instanceType: ec2.InstanceType;
const pg = new ec2.PlacementGroup(this, 'test-pg', {
strategy: ec2.PlacementGroupStrategy.SPREAD,
});
new ec2.Instance(this, 'Instance', {
vpc,
instanceType,
machineImage: ec2.MachineImage.latestAmazonLinux2023(),
placementGroup: pg,
});
Initializer
new PlacementGroup(scope: Construct, id: string, props?: PlacementGroupProps)
Parameters
- scope
Construct
- id
string
- props
Placement
Group Props
Construct Props
Name | Type | Description |
---|---|---|
partitions? | number | The number of partitions. |
placement | string | the name of this placement group. |
spread | Placement | Places instances on distinct hardware. |
strategy? | Placement | Which 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:
Placement
(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:
Placement
(optional, default: PlacementGroupStrategy.PARTITION
if partitions
is defined, CLUSTER
otherwise)
Which strategy to use when launching instances.
Properties
Name | Type | Description |
---|---|---|
env | Resource | The environment this resource belongs to. |
node | Node | The tree node. |
placement | string | The name of this placement group. |
stack | Stack | The stack in which this resource is defined. |
partitions? | number | The number of partitions. |
spread | Placement | Places instances on distinct hardware. |
strategy? | Placement | Which strategy to use when launching instances. |
env
Type:
Resource
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:
Placement
(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:
Placement
(optional)
Which strategy to use when launching instances.
Methods
Name | Description |
---|---|
apply | Apply the given removal policy to this resource. |
to | Returns a string representation of this construct. |
static from | Import a PlacementGroup by its arn. |
applyRemovalPolicy(policy)
public applyRemovalPolicy(policy: RemovalPolicy): void
Parameters
- policy
Removal
Policy
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
Import a PlacementGroup by its arn.