プレイスメントグループとは
EC2インスタンスの物理的な配置戦略を制御する仕組みです。
通常、EC2はAWS側で自動的に分散配置されますが、プレイスメントグループを使うと、下記の物理配置の意図を明示できます。
- 近くに集める
- 離して配置する
- ラック単位で分散する
目的は、性能か耐障害性のどちらかです。
① クラスタープレイスメントグループ(Cluster)
概要
インスタンスを物理的に近い場所に集める配置方式。
特徴
- 超低レイテンシ
- 高スループット
- 同一AZ内のみ
- 障害に弱い(一緒に落ちる可能性)
向いている用途
- HPC(科学技術計算)
- 大規模分散処理
- 超高速通信が必要な処理
② スプレッドプレイスメントグループ(Spread)
概要
インスタンスを可能な限り物理的に分離する配置方式。
特徴
- ラック・電源・ネットワークを分散
- 障害影響を最小化
- 同一AZまたは複数AZ可
- 最大インスタンス数に制限あり(小規模向き)
向いている用途
- 重要だが台数が少ないシステム
- 同時障害を絶対に避けたい構成
③ パーティションプレイスメントグループ(Partition)
概要
グループ内を論理的なパーティションに分けて配置する方式。
特徴
- 各パーティションは物理的に分離
- 大規模クラスタ向け
- AZをまたげる
- 一部障害でも全体が止まらない
向いている用途
- HDFS
- Cassandra
- Kafka
- 大規模分散システム
3種類の比較
| 種類 | 目的 | 強み | 弱み | 台数制限 |
|---|---|---|---|---|
| Cluster | 性能 | 低レイテンシ | 障害に弱い | なし |
| Spread | 信頼性 | 同時障害回避 | AZあたり7台 | あり |
| Partition | 信頼性+拡張性 | 大規模対応 | 複雑 | 7パーティション/AZ(インスタンス数は無制限) |