Placement Groups

  • When you launch a new EC2 instance, the EC2 service attempts to place the instance in such a way that all of your instances are spread out across underlying hardware to minimize correlated failures.

  • Can use placement groups to influence the placement of a group of interdependent instances to meet the needs of your workload.

Cluster Placement Groups

  • Packs instances close together within only 1 Availability Zone.

    • This means it has not got very high availability as all the instances are in one AZ.

  • This strategy enables workloads to achieve the low-latency network performance necessary for tightly-coupled node-to-node communication that is typical of HPC applications.

  • AWS recommends to:

    • Launch all instances at the same time.

    • Use the same instance type for all instances in the placement group.

  • Instances within a cluster placement group can use up to 10 Gbps for single-flow traffic.

    • Instances that are not within a cluster placement group can use up to 5 Gbps for single-flow traffic.

Spread Placement Groups

  • This strategy strictly places a small group of instances across distinct underlying hardware to reduce correlated failures.

  • Recommended for applications that have a small number of critical instances that should be kept separate from each other.

  • Launching instances in a spread placement group reduces the risk of simultaneous failures that might occur when instances share the same racks.

  • Can span multiple Availability Zones in the same Region.

  • You can only have a maximum of 7 running instances per Availability Zone per placement group.

Partition Placement Groups

  • This spreads your instances across logical partitions such that groups of instances in one partition do not share the underlying hardware with groups of instances in different partitions.

  • It is typically used by large distributed and replicated workloads, such as Hadoop, Cassandra, and Kafka.

  • Help reduce the likelihood of correlated hardware failures for your application.

  • EC2 divides each group into logical segments called partitions.

    • EC2 ensures that each partition within a placement group has its own set of racks.

    • No two partitions within a placement group share the same racks.

  • You can launch instances into a specific partition to have more control.

  • You can have partitions in multiple Availability Zones in the same Region.

  • You can only have a maximum of 7 partitions per Availability Zone.

    • However, you can have 100s of EC2 Instances in the placement group.

Spread vs Placement Groups

  • Spread Placement Groups:

    • Have individual instances all on separate hardware.

    • Recommended for applications that have a small number of critical instances that should be kept separate from each other.

  • Partition Placement Groups:

    • Described as large groups of instances where each group is placed on separate hardware.

    • Each partition comprises multiple instances.

    • The instances in a partition do not share racks with the instances in the other partitions, allowing you to contain the impact of a single hardware failure to only the associated partition.

Last updated