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.