プレイスメントグループの操作 - Amazon Elastic Compute Cloud

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

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

プレイスメントグループは、次のいずれかの方法で作成できます。

Console
コンソールを使用してプレイスメントグループを作成するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. [プレイスメントグループを作成] を選択します。

  4. グループの名前を指定します。

  5. グループのプレイスメント方法を選択します。

    • [Spread] (スプレッド) を選択する場合は、スプレッドレベルを選択します。

      • [ラック] - 制限なし

      • [ホスト] - Outposts のみ

    • [パーティション] を選択した場合は、グループ内のパーティション数を指定します。

  6. プレースメントグループにタグを付けるには、タグの追加 を選択してから、キーと値を入力します。追加するタグごとに [Add tag] (タグを追加) を選択します。

  7. [グループを作成] を選択します。

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

create-placement-group コマンドを使用します。次の例では、cluster プレイスメント戦略を使用する、my-cluster という名前のプレイスメントグループを作成し、キー purpose と値 production を持つタグを適用します。

aws ec2 create-placement-group \ --group-name my-cluster \ --strategy cluster \ --tag-specifications 'ResourceType=placement-group,Tags={Key=purpose,Value=production}'
AWS CLI を使用してパーティションプレイスメントグループを作成するには

create-placement-group コマンドを使用します。--strategy パラメータに値として partition を指定し、--partition-count パラメータに必要なパーティション数を指定します。この例では、パーティションプレイスメントグループは HDFS-Group-A という名で、パーティションは 5 つ作成されています。

aws ec2 create-placement-group \ --group-name HDFS-Group-A \ --strategy partition \ --partition-count 5
PowerShell
AWS Tools for Windows PowerShell を使用してプレイスメントグループを作成するには

New-EC2PlacementGroup コマンドを使用します。

プレイスメントグループ情報を表示する

すべてのプレイスメントグループおよびそれらに関する情報は、次のいずれかの方法で表示できます。

Console
1 つまたは複数のプレイスメントグループに関する情報を表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[ネットワークとセキュリティ] の下にある [プレイスメントグループ] を選択します。

  3. [プレイスメントグループ] テーブルでは、プレイスメントグループごとに次の情報を表示できます。

    • [グループ名] – プレイスメントグループに付けた名前。

    • [グループ ID] - プレイスメントグループの ID。

    • [戦略] – プレイスメントグループのプレイスメント戦略。

    • [状態] — プレイスメントグループの状態。

    • [パーティション] – パーティションの数。戦略がパーティションの場合にのみ有効です。

    • [グループ ARN] – プレイスメントグループの Amazon リソースネーム (ARN)。

AWS CLI
すべてのプレイスメントグループの説明を表示するには

describe-placement-groups AWS CLI コマンドを使用します。

aws ec2 describe-placement-groups

レスポンスの例

{ "PlacementGroups": [ { "GroupName": "my-cluster-pg", "State": "available", "Strategy": "cluster", "GroupId": "pg-0123456789example", "GroupArn": "arn:aws:ec2:eu-west-1:111111111111:placement-group/my-cluster-pg" }, ... ] }
特定のプレイスメントグループの説明を表示するには

describe-placement-groups AWS CLI コマンドを使用します。--group-id または --group-name パラメータを指定できます。

プレイスメントグループ ID を指定します。

aws ec2 describe-placement-groups --group-id pg-0123456789example

プレイスメントグループ名を指定します。

aws ec2 describe-placement-groups --group-name my-cluster-pg

レスポンスの例

{ "PlacementGroups": [ { "GroupName": "my-cluster-pg", "State": "available", "Strategy": "cluster", "GroupId": "pg-0123456789example", "GroupArn": "arn:aws:ec2:eu-west-1:111111111111:placement-group/my-cluster-pg" } ] }

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

既存のプレイスメントグループを分類および管理しやすくするために、カスタムメタデータでタグ付けできます。タグの仕組みの詳細については、Amazon EC2 リソースのタグ付けを参照してください。

プレイスメントグループにタグを付けると、プレイスメントグループに起動されたインスタンスは自動的にタグ付けされなくなります。プレイスメントグループに起動されるインスタンスには、明示的にタグを付ける必要があります。詳細については、インスタンスを起動するときのタグの追加を参照してください。

タグの表示、追加、および削除は、以下のいずれかの方法で行います。

Console
既存のプレイスメントグループのタグを表示、追加、または削除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. プレイスメントグループを選択し、[アクション]、[タグの管理] の順に選択します。

  4. [タグを管理] 画面には、プレイスメントグループに割り当てられているタグが表示されます。

    • タグを追加するには、[Add tag] を選択し、タグのキーと値を入力します。プレイスメントグループごとに最大 50 個のタグを追加できます。詳細については、タグの制限を参照してください。

    • タグを削除するには、削除するタグの横にある [Remove] を選択します。

  5. [Save] を選択します。

AWS CLI
プレイスメントグループタグを表示するには

describe-tags コマンドを使用して、指定したリソースのタグを表示します。次の例では、すべてのプレイスメントグループのタグの説明を表示します。

aws ec2 describe-tags \ --filters Name=resource-type,Values=placement-group
{ "Tags": [ { "Key": "Environment", "ResourceId": "pg-0123456789EXAMPLE", "ResourceType": "placement-group", "Value": "Production" }, { "Key": "Environment", "ResourceId": "pg-9876543210EXAMPLE", "ResourceType": "placement-group", "Value": "Production" } ] }

describe-tags コマンドを使用し、ID を指定してプレイスメントグループのタグを表示することもできます。次の例では、pg-0123456789EXAMPLE のタグの説明を表示します。

aws ec2 describe-tags \ --filters Name=resource-id,Values=pg-0123456789EXAMPLE
{ "Tags": [ { "Key": "Environment", "ResourceId": "pg-0123456789EXAMPLE", "ResourceType": "placement-group", "Value": "Production" } ] }

プレイスメントグループの説明を表示して、プレイスメントグループのタグを表示することもできます。

describe-placement-groups コマンドを使用して、指定したプレイスメントグループの設定を表示します。この設定には、プレイスメントグループに指定されたタグがすべて含まれます。

aws ec2 describe-placement-groups \ --group-name my-cluster
{ "PlacementGroups": [ { "GroupName": "my-cluster", "State": "available", "Strategy": "cluster", "GroupId": "pg-0123456789EXAMPLE", "Tags": [ { "Key": "Environment", "Value": "Production" } ] } ] }
AWS CLI を使用して既存のプレイスメントグループにタグを付けるには

create-tags コマンドを使用して、既存のリソースにタグ付けできます。次の例では、既存のプレイスメントグループに Key=Cost-CenterValue=CC-123 のタグが付けられています。

aws ec2 create-tags \ --resources pg-0123456789EXAMPLE \ --tags Key=Cost-Center,Value=CC-123
AWS CLI を使用してタグをプレイスメントグループから削除するには

delete-tags コマンドを使用して、既存のリソースからタグを削除できます。例については、AWS CLI コマンドリファレンスを参照してください。

PowerShell
プレイスメントグループタグを表示するには

Get-EC2Tag コマンドを使用します。

特定のプレイスメントグループのタグの説明を表示するには

Get-EC2PlacementGroup コマンドを使用します。

既存のプレイスメントグループ名にタグを付けるには

New-EC2Tag コマンドを使用します。

プレイスメントグループからタグを削除するには

Remove-EC2Tag コマンドを使用します。

プレイスメントグループ内でインスタンスを起動する方法

プレイスメントグループのルールと制限が満たされている場合、次のいずれかの方法を使用してプレイスメントグループ内でインスタンスを起動できます。

Console
プレイスメントグループ内でインスタンスを起動するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. EC2 コンソールダッシュボードの [インスタンスの起動] ボックスで、[インスタンスの起動] を選択します。指示どおりにフォームを完了し、次の操作を行うように注意します。

    • [Instance type] (インスタンスタイプ) で、プレイスメントグループに起動できるインスタンスタイプを選択します。

    • [Summary] (概要) ボックスの [Number of instances] (インスタンスの数) で、このプレイスメントグループで必要なインスタンスの総数を入力します。これは、後でプレイスメントグループにインスタンスを追加できない場合があるためです。

    • [Advanced details] (高度な詳細) の [Placement group name] (プレイスメントグループ名) で、インスタンスを新規または既存のプレイスメントグループに追加することを選択できます。パーティション戦略のあるプレイスメントグループを選択する場合は、[Target partition] (ターゲットパーティション) で、インスタンスを起動するパーティションを選択します。

AWS CLI
プレイスメントグループ内でインスタンスを起動するには

run-instances コマンドを使用し、--placement "GroupName = my-cluster" パラメータを使用してプレイスメントグループ名を指定します。次の例で、プレイスメントグループ名は my-cluster です。

aws ec2 run-instances --placement "GroupName = my-cluster"
AWS CLI を使用してパーティションプレイスメントグループの特定のパーティション内でインスタンスを起動するには

run-instances コマンドを使用して、--placement "GroupName = HDFS-Group-A, PartitionNumber = 3" パラメータを使用するグループプレイスメントグループ名とパーティションを指定します。この例では、パーティションプレイスメントグループは HDFS-Group-A という名で、パーティション数は 3 です。

aws ec2 run-instances --placement "GroupName = HDFS-Group-A, PartitionNumber = 3"
PowerShell
AWS Tools for Windows PowerShell を使用してプレイスメントグループ内でインスタンスを起動するには

New-EC2Instance コマンドを使用し、-Placement_GroupName パラメータを使用してプレイスメントグループ名を指定します。

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

次のいずれかの方法を使用して、インスタンスのプレイスメント情報を表示できます。AWS CLI を使用して、パーティション番号でパーティションプレイスメントグループをフィルターすることもできます。

Console
インスタンスのプレイスメントグループとパーティション番号を表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択します。

  4. [Details] (詳細) タブの [Host and placement group] (ホストとプレイスメントグループ) で、[Placement group] (プレイスメントグループ) を見つけます。プレイスメントグループにインスタンスがない場合、フィールドは空になります。それ以外の場合は、プレイスメントグループの名前が含まれます。プレイスメントグループがパーティションプレイスメントグループの場合、[Partition number (パーティション番号)] にはインスタンスのパーティション番号が含まれます。

AWS CLI
パーティションプレイスメントグループのインスタンスのパーティション番号を表示するには

describe-instancesコマンドを使用して --instance-id パラメータを指定します。

aws ec2 describe-instances --instance-id i-0123a456700123456

レスポンスにはプレイスメント情報が含まれています。この情報にはインスタンスのプレイスメントグループ名とパーティション番号が含まれます。

"Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 3, "Tenancy": "default" }
特定のパーティションプレイスメントグループとパーティション番号のインスタンスにフィルターを適用するには

describe-instances コマンドを使用して、--filters および placement-group-name フィルターを持つ placement-partition-number パラメータを指定します。この例では、パーティションプレイスメントグループは HDFS-Group-A という名で、パーティション数は 7 です。

aws ec2 describe-instances --filters "Name = placement-group-name, Values = HDFS-Group-A" "Name = placement-partition-number, Values = 7"

レスポンスは、指定されたプレイスメントグループ内の指定されたパーティション内にあるすべてのインスタンスをリストします。次の出力例は、返されたインスタンスのインスタンス ID、インスタンスタイプ、および配置情報のみを示しています。

"Instances": [ { "InstanceId": "i-0a1bc23d4567e8f90", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } { "InstanceId": "i-0a9b876cd5d4ef321", "InstanceType": "r4.large", }, "Placement": { "AvailabilityZone": "us-east-1c", "GroupName": "HDFS-Group-A", "PartitionNumber": 7, "Tenancy": "default" } ],

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

インスタンスのプレイスメントグループは、次の方法で変更できます。

  • 既存のインスタンスをプレイスメントグループに移動する

  • プレイスメントグループ間でインスタンスを移動する

インスタンスを移動できるようになる前に、インスタンスを stopped 状態にする必要があります。

Console
プレイスメントグループにインスタンスを移動するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択し、[インスタンスの状態][インスタンスを停止] を選択します。

  4. 選択したインスタンスについて、[アクション][インスタンス設定][インスタンスの配置の変更] を選択します。

  5. [配置グループ] について、インスタンスの移動先のプレイスメントグループを選択します。

  6. [保存] を選択します。

AWS CLI
プレイスメントグループにインスタンスを移動するには
  1. stop-instances コマンドを使用して、インスタンスを停止します。

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

    aws ec2 modify-instance-placement \ --instance-id i-0123a456700123456 \ --group-name MySpreadGroup
  3. start-instances コマンドを使用してインスタンスを起動します。

PowerShell
AWS Tools for Windows PowerShell を使用してプレイスメントグループにインスタンスを移動するには
  1. Stop-EC2Instance コマンドを使用してインスタンスを停止します。

  2. Edit-EC2InstancePlacement コマンドを使用し、インスタンスの移動先のプレイスメントグループの名前を指定します。

  3. Start-EC2Instance コマンドを使用してインスタンスを起動します。

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

プレイスメントグループから、次のいずれかの方法でインスタンスを削除できます。

インスタンスを移動または削除するには、まずインスタンスが stopped 状態になっている必要があります。

Console
プレイスメントグループからインスタンスを削除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択し、[インスタンスの状態][インスタンスを停止] を選択します。

  4. 選択したインスタンスについて、[アクション][インスタンス設定][インスタンスの配置の変更] を選択します。

  5. [配置グループ] には [なし] を選択します。

  6. [Save] を選択します。

AWS CLI
プレイスメントグループからインスタンスを削除するには
  1. stop-instances コマンドを使用して、インスタンスを停止します。

  2. modify-instance-placement コマンドを使用し、プレイスメントグループ名に空の文字列を指定します。

    aws ec2 modify-instance-placement \ --instance-id i-0123a456700123456 \ --group-name ""
  3. start-instances コマンドを使用してインスタンスを起動します。

PowerShell
AWS Tools for Windows PowerShell を使用してプレイスメントグループからインスタンスを削除するには
  1. Stop-EC2Instance コマンドを使用してインスタンスを停止します。

  2. Edit-EC2InstancePlacement コマンドを使用し、プレイスメントグループ名に空の文字列を指定します。

  3. Start-EC2Instance コマンドを使用してインスタンスを起動します。

プレイスメントグループの削除

プレイスメントグループを交換する必要がある場合、または不要になった場合は、そのプレイスメントグループを削除できます。プレイスメントグループを削除するには、次のいずれかの方法を使用できます。

前提条件

削除するプレイスメントグループにはインスタンスが含まれていないことが必要です。プレイスメントグループ内で起動したすべてのインスタンスを終了し、インスタンスを別のプレイスメントグループに移動するか、プレイスメントグループから削除することができます。

Console
プレイスメントグループを削除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. プレイスメントグループを選択し、[Actions (アクション)]、[Delete (削除)] の順に選択します。

  4. 確認を求められたら、Deleteと入力し、[削除] を選択します。

AWS CLI
プレイスメントグループを削除するには

delete-placement-group コマンドを使用し、削除するプレイスメントグループの名前を指定します。次の例で、プレイスメントグループ名は my-cluster です。

aws ec2 delete-placement-group --group-name my-cluster
PowerShell
AWS Tools for Windows PowerShell を使用してプレイスメントグループを削除するには

Remove-EC2PlacementGroup コマンドを使用してプレイスメントグループを削除します。