Simple Notification Service (SNS)
Kinesis + MQ
Databases & Analytics
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 modified 11mo ago