This is the new CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::EC2::PlacementGroup
Specifies a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.
A cluster placement group is a logical grouping of instances within a
single Availability Zone that benefit from low network latency, high network throughput. A
spread placement group places instances on distinct hardware. A
partition placement group places groups of instances in different
partitions, where instances in one partition do not share the same hardware with instances
in another partition.
For more information, see Placement Groups in the Amazon EC2 User Guide.
You can optionally specify the GroupName property in your template to
create a placement group with a specific name. If you don't specify a name,
CloudFormation generates a unique name. Updating the GroupName value
requires replacement of the placement group.
Syntax
To declare this entity in your CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::EC2::PlacementGroup", "Properties" : { "PartitionCount" :Integer, "SpreadLevel" :String, "Strategy" :String, "Tags" :[ Tag, ... ]} }
YAML
Type: AWS::EC2::PlacementGroup Properties: PartitionCount:IntegerSpreadLevel:StringStrategy:StringTags:- Tag
Properties
PartitionCount-
The number of partitions. Valid only when Strategy is set to
partition.Required: No
Type: Integer
Update requires: Replacement
SpreadLevel-
Determines how placement groups spread instances.
-
Host – You can use
hostonly with Outpost placement groups. -
Rack – No usage restrictions.
Required: No
Type: String
Allowed values:
host | rackUpdate requires: Replacement
-
Strategy-
The placement strategy.
Required: No
Type: String
Allowed values:
cluster | spread | partitionUpdate requires: Replacement
-
The tags to apply to the new placement group.
Required: No
Type: Array of Tag
Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the name of the placement group.
For more information about using the Ref function, see Ref.
Fn::GetAtt
The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.
GroupName-
The name of the placement group.
You can also specify
GroupNamein your template'sPropertiessection to create a placement group with a specific name. If you don't specify a name, CloudFormation generates a unique name. UpdatingGroupNamerequires replacement of the placement group.
Examples
Create a placement group
The following example declares a placement group with a cluster placement strategy.
JSON
"PlacementGroup" : { "Type" : "AWS::EC2::PlacementGroup", "Properties" : { "Strategy" : "cluster" } }
YAML
PlacementGroup: Type: AWS::EC2::PlacementGroup Properties: Strategy: cluster
Create a spread placement group with a specific name
The following example declares a placement group with a spread placement strategy
and a specific name. The placement group is created with the name
MySpreadGroup and spreads instances across distinct racks.
JSON
"PlacementGroup" : { "Type" : "AWS::EC2::PlacementGroup", "Properties" : { "GroupName" : "MySpreadGroup", "SpreadLevel" : "rack", "Strategy" : "spread" } }
YAML
PlacementGroup: Type: AWS::EC2::PlacementGroup Properties: GroupName: MySpreadGroup SpreadLevel: rack Strategy: spread
Create a partition placement group with a specific name
The following example declares a placement group with a partition placement strategy, three partitions, and a specific name.
JSON
"PlacementGroup" : { "Type" : "AWS::EC2::PlacementGroup", "Properties" : { "GroupName" : "MyPartitionGroup", "PartitionCount" : 3, "Strategy" : "partition" } }
YAML
PlacementGroup: Type: AWS::EC2::PlacementGroup Properties: GroupName: MyPartitionGroup PartitionCount: 3 Strategy: partition