When you create an EC2 instance in AWS, it automatically tries to place the instance such a way that all of your instances are spread across underlying hardware to minimize any correlated failures, what this means is, if an instance is failed due to some underlying hardware issue, for example it failed due to a network fault, it is very much likely that other instances on the same network are likely to fail as well. You can use PlacementGroups to address this issue.

Depending on how you are using EC2 instances, there are types of strategies that you can choose and implement.

Reason for this is that, when you create instance it tries to place all your instances in the same hardware that suits your needs, but if you try to add more instances to the placement group later, or if you try to launch more than one instance type in the placement group, you increase your chances of getting an insufficient capacity error.

Key points to remember
Key points to remember
Rack spread level placement groups

A rack spread placement group can span multiple Availability Zones in the same Region. For rack spread level placement groups, you can have a maximum of seven running instances per Availability Zone per group.

EC2 PlacementGroup spread strategy

The above image shows seven instances in a single Availability Zone that are placed into a spread placement group. The seven instances are placed on seven different racks, each rack has its own network and power source.

Host level spread placement groups

Host spread level placement groups are only available with AWS Outposts. For host spread level placement groups, there are no restrictions for running instances per Outposts. For more information, see Placement groups on AWS Outposts.

There are certain rules and limitation on each type of PlacementGroup, details can be found here AWS PlacementGroups.

General Rules and Limitations