😸

EC2 インスタンスのプレイスメントグループ

に公開

プレイスメントグループとは?

プレイスメントグループは、複数のEC2インスタンスを特定の配置ルールに従ってまとめて配置する機能です。主に、性能(ネットワーク速度や耐障害性)を最適化したいときに使います。

プレイスメントグループの種類(3つ)

1. クラスタープレイスメントグループ(性能重視)

1つのアベイラビリティゾーン内にインスタンスを密集させて配置。通信速度が速く、遅延が少ない(低レイテンシー) ため、HPC(高性能コンピューティング)に向いています。
例えば、科学計算や機械学習など、インスタンス間の通信が重要な処理に使用されます。

2. パーティションプレイスメントグループ(耐障害性重視(分散))

インスタンスを論理的に分けた複数のグループ(パーティション)に分けて配置。パーティション同士は別々のハードウェアになるため、障害が一部に起きても他に影響しづらいです。
例えば、Hadoop、Kafka などの分散システムに最適です。

3. スプレッドプレイスメントグループ(高可用性重視(分離))

少数のインスタンスを物理ハードウェア全体に分散配置し、相関性の高い障害(同じ物理機器に依存することで起こる障害)を防ぎやすいです。
例えば、重要なアプリケーションのインスタンスを分散して冗長性を持たせたいときに使用されます。

プレイスメントグループを使わない場合

EC2が自動的に適度に分散配置してくれるので、通常は不要な場合もあります。
ただし、高性能や高可用性が必要な場合は、プレイスメントグループを使うと効果的です。

利用ルールと注意点

利用上のルールや注意点としては、下記のようなことが挙げられます。

  • 1つのインスタンスは1つのプレイスメントグループにしか入れない。
  • プレイスメントグループの合体(マージ)はできない。
  • Dedicated Hosts(専用ホスト)では使えない。
  • 停止や休止を許可されたSpotインスタンスは、プレイスメントグループでは起動できない。
  • 追加料金はなし(無料)。
  • オンデマンドキャパシティ予約やリザーブドインスタンスも一緒に使える。

参考

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/placement-groups.html

Discussion