Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

プレイスメントグループ

インスタンスを基盤となるハードウェアに配置する方法を決定するプレイスメントグループで、インスタンスを起動または開始できます。プレイスメントグループを作成するときは、グループの次のいずれかの戦略を指定します。

  • クラスター — 2 つのインスタンスを単一のアベイラビリティーゾーン内の低レイテンシーグループにクラスタ化する

  • スプレッド — 基盤となるハードウェアにインスタンスを分散する

プレイスメントグループを作成するための料金は発生しません。

クラスタプレイスメントグループ

クラスタープレイスメントグループは、単一のアベイラビリティーゾーン内のインスタンスを論理的にグループ化したものです。プレースメントグループは、同じリージョン内のピア VPC にまたがることができます。クラスタープレイスメントグループの主な利点は、10 Gbps のフロー制限に加えて、非ブロッキング、非オーバーサブスクライブの完全に 2 分割されている接続であることです。つまり、プレイスメントグループ内のすべてのノードは、プレイスメントグループ内の他のすべてのノードと対話することができます。これは、オーバーサブスクリプションによる遅れなしに、10 Gpbs フローと 25 アグリゲートのフルラインレートで行われます。

低ネットワークレイテンシー、高ネットワークスループット、またはその両方から利点が得られるアプリケーションや、ネットワークトラフィックの大部分がグループのインスタンス間で発生する場合は、クラスタープレイスメントグループが推奨されます。プレイスメントグループで、最も低いレイテンシーと最も高いネットワークパフォーマンス (1 秒あたりパケット数) を実現するためには、拡張ネットワーキングをサポートするインスタンスタイプを選択します。詳細については、「拡張ネットワーキング」を参照してください。

単一の起動リクエストでは、プレイスメントグループ内で必要な数のインスタンスを起動することと、プレイスメントグループ内のすべてのインスタンスで同じインスタンスタイプを使用することをお勧めします。後でプレイスメントグループにさらにインスタンスを追加しようとした場合、またはプレイスメントグループ内で複数のインスタンスタイプを起動しようとした場合、容量不足エラーが発生する可能性が高くなります。

プレイスメントグループ内のインスタンスを停止して再起動しても、そのインスタンスは同じプレイスメントグループ内で実行されます。ただし、インスタンスに対して十分な容量がない場合、起動は失敗します。

既にインスタンスを実行中のプレイスメントグループ内のインスタンスを起動するときに容量エラーを受け取った場合は、プレイスメントグループ内のすべてのインスタンスを停止して開始し、もう一度起動を試みてください。インスタンスを再起動すると、リクエストされたすべてのインスタンスの容量があるハードウェアに移行される場合があります。

スプレッドプレイスメントグループ

スプレッドプレイスメントグループは、それぞれ異なるハードウェアに配置されるインスタンスのグループです。

スプレッドプレイスメントグループは、少数の重要なインスタンスが互いに分離して保持される必要があるアプリケーションに推奨されます。スプレッドプレイスメントグループでインスタンスを起動すると、インスタンスが同じ基本ハードウェアを共有するときに発生する可能性のある、同時障害のリスクが軽減されます。スプレッドプレースメントグループは、異なるハードウェアへのアクセスを提供するため、長時間のインスタンスタイプの混合やインスタンスの起動に適しています。

スプレッドプレイスメントグループは複数のアベイラビリティーゾーンにまたがることができ、グループごとにアベイラビリティーゾーンごとに最大 7 つの実行インスタンスを持つことができます。

スプレッドプレイスメントグループでインスタンスを開始または起動し、リクエストを実行するための固有のハードウェアが不足している場合、そのリクエストは失敗します。Amazon EC2 では、時間の経過とともにより別のハードウェアを利用できるようになりますので、後でリクエストを再試行できます。

プレイスメントグループのルールと制限

プレイスメントグループを使用する前に、次のルールに注意してください。

  • プレイスメントグループに指定する名前は、そのリージョンの AWS アカウント内で固有である必要があります。

  • プレイスメントグループをマージすることはできません。

  • インスタンスは、1 つのプレイスメントグループ内で一度に起動できます。複数のプレイスメントグループにまたがることはできません。

  • リザーブドインスタンス は、特定のアベイラビリティーゾーンの EC2 インスタンスに対してキャパシティーを予約します。キャパシティーの予約で、プレイスメントグループ内のインスタンスで使用できます。ただし、プレイスメントグループに対して明示的にキャパシティーを予約することはできません。

  • テナンシー host を持つインスタンスは、プレイスメントグループ内で起動できません。

  • 拡張ネットワークが可能なインスタンスの場合、同じリージョン内でのインスタンス間では、IPv4 または IPv6 アドレスで指定されたシングルフロートラフィックに最大 5 Gbps、マルチフロートラフィックに最大 25 Gbps を使用できます。フローは、1 つのポイントツーポイントネットワーク接続を表します。

クラスタープレイスメントグループには、以下のルールが適用されます。

  • クラスタープレイスメントグループにインスタンスを起動するときに使用できるインスタンスタイプは、次に示すもののみです。

    • 汎用: M4、M5、M5d

    • コンピューティングの最適化: C3、C4、C5、C5d、cc2.8xlarge

    • メモリ最適化: cr1.8xlarge、R3、R4、R5、R5d、X1、X1e、z1d

    • ストレージの最適化: D2、H1、hs1.8xlarge、I2、I3、i3.metal

    • 高速コンピューティング: F1、G2、G3、P2、P3

  • クラスタープレイスメントグループを、複数のアベイラビリティーゾーンで設定することはできません。

  • クラスタープレイスメントグループの 2 つのインスタンス間のトラフィックの最大ネットワークスループット速度は、2 つのインスタンスのうち遅い方に制限されます。高スループットの要件があるアプリケーションの場合、10–Gbps または 25–Gbps ネットワーク接続を備えたインスタンスタイプを選択します。

  • 拡張ネットワーキングに対して有効になっているインスタンスには、以下のルールが適用されます。

    • クラスタープレイスメントグループ内のインスタンス間では、シングルフロートラフィックに最大 10 Gbps を使用できます。

    • 同じリージョン内でのインスタンスと Amazon S3 バケットとの間では、パブリック IP アドレス空間または VPC エンドポイントを介したトラフィックに、使用可能なすべてのインスタンスの集計帯域幅を使用できます。

  • 複数のインスタンスタイプをクラスタープレイスメントグループに起動できます。ただし、これにより起動に成功するために必要な容量が使用可能になる可能性が低くなります。クラスタープレイスメントグループ内ですべてのインスタンスで同じインスタンスタイプを使用することをお勧めします。

  • インターネットへのネットワークトラフィックとオンプレミスリソースへの AWS Direct Connect 接続は、5 Gbps に制限されます。

スプレッドプレイスメントグループには、以下のルールが適用されます。

  • スプレッドプレイスメントグループは、アベイラビリティーゾーンごとに最大 7 つの実行インスタンスをサポートします。たとえば、アベイラビリティーゾーンが 3 つあるリージョンでは、グループ内に合計 21 個のインスタンス (ゾーンごとに 7 個) を実行することができます。同じゾーンと同じスプレッドプレースメントグループで 8 番目のインスタンスを開始しようとすると、インスタンスは起動しません。AZ に 7 つ以上のインスタンスが必要な場合は、複数のスプレッドプレースメントグループを使用することをお勧めします。これはグループ間のインスタンスの広がりを保証するものではありませんが、特定のクラスの障害からの影響を制限するために各グループの普及を保証します。

  • ハードウェア専有インスタンス または Dedicated Hosts では、スプレッドプレイスメントグループはサポートされていません。

プレイスメントグループの作成

Amazon EC2 コンソールまたはコマンドラインを使用して、プレイスメントグループを作成できます。

コンソールを使用してプレイスメントグループを作成するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Placement Group]、[Create Placement Group] の順に選択します。

  3. グループの名前と戦略を指定します。

  4. [Create] を選択します。

コマンドラインを使用してプレイスメントグループを作成するには

プレイスメントグループでのインスタンスの起動

プレイスメントグループで起動するインスタンスに特化した AMI を作成できます。これを行うには、インスタンスを起動し、インスタンスに必要なソフトウェアとアプリケーションをインストールします。次に、インスタンスから AMI を作成します。詳細については、Amazon EBS-Backed Linux AMI の作成を参照してください。

コンソールを使用してプレイスメントグループにインスタンスを起動するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. [インスタンスの作成] を選択します。指示どおりにウィザードを完了し、次の操作を行うように注意します。

    • [Choose an Amazon Machine Image (AMI)] ページで、AMI を選択します。作成した AMI を選択するには、[My AMIs] を選択します。

    • [Choose an Instance Type] ページはで、プレイスメントグループ内で起動できるインスタンスタイプを選択します。

    • [Configure Instance Details] で、このプレイスメントグループ内で必要になるインスタンスの総数を入力します。これは、後でプレイスメントグループにインスタンスを追加できない場合があるためです。

    • [Configure Instance Details] ページで、[Placement Group] から、作成したプレイスメントグループを選択します。このページで [Placement group] リストが表示されない場合は、このオプションは他では利用できないため、プレイスメントグループで起動できるインスタンスタイプを選択していることを確認してください。

コマンドラインを使用してプレイスメントグループにインスタンスを起動するには

  1. 次のコマンドのいずれかを使用して、インスタンス用の AMI を作成します。

  2. 次のオプションのいずれかを使用して、プレイスメントグループでインスタンスを起動します。

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

プレイスメントグループへの既存のインスタンスの移動、別のプレイスメントグループへのインスタンスの移動、またはプレイスメントグループからのインスタンスの削除を行うことができます。開始する前に、インスタンスの状態が stopped である必要があります。

コマンドラインまたは AWS SDK を使用したインスタンスのプレイスメントグループを変更できます。

コマンドラインを使用してプレイスメントグループにインスタンスを移動するには

  1. 次のいずれかのコマンドを使用して、インスタンスを停止します。

  2. modify-instance-placement コマンド (AWS CLI) を使用し、インスタンスの移動先のプレイスメントグループの名前を指定します。

    aws ec2 modify-instance-placement --instance-id i-0aa51192b00939a40 --group-name MySpreadGroup

    または、Edit-EC2InstancePlacement コマンド (AWS Tools for Windows PowerShell) を使用することもできます。

  3. 次のいずれかのコマンドを使用して、インスタンスを再起動します。

コマンドラインを使用してプレイスメントグループからインスタンスを削除するには

  1. 次のいずれかのコマンドを使用して、インスタンスを停止します。

  2. modify-instance-placement コマンド (AWS CLI) を使用し、グループ名の空の文字列を指定します。

    aws ec2 modify-instance-placement --instance-id i-0aa51192b00939a40 --group-name ""

    または、Edit-EC2InstancePlacement コマンド (AWS Tools for Windows PowerShell) を使用することもできます。

  3. 次のいずれかのコマンドを使用して、インスタンスを再起動します。

プレイスメントグループを削除する

プレイスメントグループを交換する必要がある場合、または不要になった場合は、そのプレイスメントグループを削除できます。プレイスメントグループを削除する前に、プレイスメントグループに起動したすべてのインスタンスを削除するか、別のプレイスメントグループに移動する必要があります。

コンソールを使用してインスタンスを終了または移動し、プレイスメントグループを削除するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. プレイスメントグループのすべてのインスタンスを選択して終了しますインスタンスを終了する前に、そのインスタンスがプレイスメントグループ内にあることを確認できます。そのためには、詳細ペインで [Placement Group] の値をチェックします。

    または、「インスタンスのプレイスメントグループの変更」のステップに従い、インスタンスを別のプレイスメントグループに移動します。

  4. ナビゲーションペインで、[Placement Groups] を選択します。

  5. プレイスメントグループを選択し、[Delete Placement Group] を選択します。

  6. 確認を求めるメッセージが表示されたら、[Delete] を選択します。

コマンドラインを使用してインスタンスを終了し、プレイスメントグループを削除するには

次のいずれかのコマンドセットを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。