aws ec2 placement_group group placement

Placement Group is a strategy to define how EC2 instances can be placed in the AWS infrastructure. It is like a mechanism how we group our EC2 instances.

Few strategies:

  • Cluster: it clusters instances in a low-latency group in the single AZ
  • Spread: it speads all instances across underlying hardwares.
  • Partition: it speads all instances accross many partitions (racks) within a AZ.

Cluster

All instances in the same Rack and Same AZ

EC2 same rack same Az

Link to original

Pros: Great network Cons: Fail all at the same time Use case:

  • App with low-latency and need great high-throughput network
  • Big Data job to complete it fast

Spread

Spread all instances to many hardwares in multiple AZs. So if there are 2 instances on 2 hardwares. If one of those hardware fails, it does not impact to other intances.

Multi AZ

Link to original

Pros:

  • Reduce risk for simutaneous failure
  • Can span app accross AZs
  • EC2 on many physical hardwares. Cons:
  • Limit max 7 instace per AZ per one Placement Group. So it limits the size of our application. Use case:
  • Application that need high availability
  • Critical application where each instance must be isolated from failure from each other.

Partition

Spread all instances to many rack (partition) in multiple AZs in same region

Rack

Link to original

Specifications:

  • Max 7 partition per AZ.
  • Instances can be spanned across AZs in the same region
  • Upto 100s of EC2 instances.
  • Instance in a rack does not share hardware physical rack with other instances in another racks.
  • Failure in a partition is isolated from other partitions.
  • We can get partition information inside EC2 via metadata.

Use case:

  • For application that needs partition aware like Big Data app: Kafka, Hadoop, Cassandra, HDFS, HBase.