プレイスメントグループについて
EC2を起動する際に、インスタンスがどのホストOSに起動されたかを意識する必要はありません。しかし特定の用途では起動したインスタンス同士の物理的な配置が重要になる場合があります。プレイスメントグループを利用するとグループ内のインスタンスをルールに従った配置で起動することができ、インスタンス間での低遅延な通信や、ハードウェア障害による影響を軽減できます。
プレイスメントグループに設定可能なルール
クラスタプレイスメントグループ
グループ内のEC2インスタンスを単一AZ内の物理的に近い距離に配置します。各EC2インスタンス同士の通信は遅延が発生しにくく高速な通信が可能になります。所属するAZに何らかの障害が発生した場合はサービスが利用不可になってしまうため可用性は低くなりますがEC2インスタンス間の通信遅延を極力なくしたい場合に利用します。
パーティションプレイスメントグループ
グループをパーティションと呼ばれる論理グループに分割し、それぞれのパーティションに1つ以上のEC2インスタンスが所属します。各パーティションは1つラックが対応しており、ラックには独立した電源とネットワークが配備されています。グループ内の各パーティションはラックを共有しないのでハードウェア障害による影響を軽減します。
スプレッドプレイスメントグループ
グループ内のEC2インスタンスを異なるラック(ハードウェア)に配置します。パーティションプレイスメントグループではラック内に同一グループのEC2インスタンスを1つ以上配置しますが、スプレッドプレイスメントグループは同一グループのEC2インスタンスを1つしか配置しません。グループ内の各パーティションはラックを共有しないのでハードウェア障害による影響を軽減します。スプレッドプレイスメントグループは異なるAZにEC2インスタンスを配置することもできます。
パーティションとスプレッドの違い
少数のインスタンス群を分散させるのがスプレッドで、大規模なシステムに対応するのがパーティションです。
インスタンスメタデータについて
バッチ処理などを実行する際に、プライベートIPなどの自身のインスタンス情報が必要になる場合があります。EC2ではインスタンスメタデータという仕組みでインスタンスに関する情報を取得できます。メタデータにはインスタンスIDやパブリックIPアドレス、DNSホスト名、AMIのIDやIAMのクレデンシャル情報、所属するセキュリティグループなどが含まれます。