使用置放群组 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用置放群组

创建置放群组

您可以使用以下一种方法创建置放群组。

Console
使用控制台创建置放群组
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Placement Groups

  3. 选择创建置放群组

  4. 指定群组的名称。

  5. 选择适用于群组的置放策略。

    • 如果选择 Spread(分布),则需要选择分布级别。

      • 机架:无限制

      • 主机:仅适用于 Outposts

    • 如果选择 Partition (分区),则选择群组中的分区数。

  6. 要标记置放群组,请选择 Add tag(添加标签),然后输入键和值。为每个要添加的标签选择 Add tag(添加标签)。

  7. 选择创建组

Amazon CLI
使用 Amazon CLI 创建置放群组

使用 create-placement-group 命令。以下示例创建一个名为 my-cluster 的置放群组,它使用 cluster 放置策略,并应用键为 purpose 且值为的 production 标签。

aws ec2 create-placement-group \ --group-name my-cluster \ --strategy cluster \ --tag-specifications 'ResourceType=placement-group,Tags={Key=purpose,Value=production}'
使用 Amazon 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
使用 Amazon Tools for Windows PowerShell 创建置放群组

使用 New-EC2PlacementGroup 命令。

查看置放群组信息

您可以使用以下方法之一查看所有置放群组以及它们的相关信息。

Console
查看有关一个或多个置放群组的信息
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中的网络和安全下,选择置放群组

  3. 置放群组表中,您可以查看每个置放群组的以下信息:

    • 群组名称 - 您为置放群组提供的名称。

    • 群组 ID – 置放群组的 ID。

    • 策略 - 置放群组的置放策略。

    • 状态 - 置放群组的状态。

    • 分区 – 分区的数量。仅当策略为分区时才有效。

    • 群组 ARN – 置放群组的 Amazon 资源名称(ARN)。

Amazon CLI
描述您的所有置放群组

使用 describe-placement-groups Amazon 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 Amazon 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. 选择置放群组,然后依次选择 Actions (操作)Manage tags (管理标签)

  4. 管理标签屏幕显示分配给置放群组的所有标签。

    • 要添加标签,请选择 Add tag (添加标签),然后输入标签键和值。每个置放群组最多可添加 50 个标签。有关更多信息,请参阅标签限制

    • 要删除标签,请选择要删除的标签旁边的 Remove (删除)

  5. 选择保存

Amazon 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" } ] } ] }
使用 Amazon CLI 标记现有置放群组

可以使用 create-tags 命令标记现有的资源。在以下示例中,使用 Key=Cost-CenterValue=CC-123 标记现有置放群组。

aws ec2 create-tags \ --resources pg-0123456789EXAMPLE \ --tags Key=Cost-Center,Value=CC-123
使用 Amazon CLI 从置放群组中删除标签

您可以使用 delete-tag 命令从现有资源中删除标签。有关示例,请参阅 Amazon CLI Command Reference 中的示例

PowerShell
查看置放群组标签

使用 Get-EC2Tag 命令。

描述特定置放群组的标签

使用 Get-EC2PlacementGroup 命令。

标记现有置放群组

使用 New-EC2Tag 命令。

从置放群组中删除标签

使用 Remove-EC2Tag 命令。

在置放群组中启动实例

如果使用以下一种方法满足置放群组规则和限制,则可以在置放群组中启动实例。

Console
在置放群组中启动实例
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 从 EC2 控制台控制面板的启动实例框中,选择启动实例。根据提示填写表单,注意完成以下操作:

    • Instance type(实例类型)下,选择可以启动到置放群组中的实例类型。

    • Number of instances(实例数)下的 Summary(汇总)框中,输入该置放群组中需要的实例总数,因为此后可能无法向其中添加实例。

    • Advanced details(高级详细信息)下,对于 Placement group name(置放群组名称),您可以选择将实例添加到某个新置放群组或现有置放群组。如果选择具有分区策略的置放群组,则对于 Target partition(目标分区),选择要在其中启动实例的分区。

Amazon CLI
在置放群组中启动实例

使用 run-instances 命令,并使用 --placement "GroupName = my-cluster" 参数指定置放群组名称。在此示例中,置放群组名为 my-cluster

aws ec2 run-instances --placement "GroupName = my-cluster"
使用 Amazon 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
使用 Amazon Tools for Windows PowerShell 在置放群组中启动实例

使用 New-EC2Instance 命令并使用 -Placement_GroupName 参数指定置放群组名称。

描述置放群组中的实例

您可以使用以下一种方法查看实例的置放信息。您还可以使用 Amazon CLI 按分区编号筛选分区置放群组。

Console
查看实例的置放群组和分区编号
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例。

  4. Details (详细信息) 选项卡中的 Host and placement group (主机和置放群组) 下,找到 Placement group (置放群组)。如果实例未在任何置放群组中,则此字段为空。否则,此字段将包含相应置放群组的名称。如果该置放群组是分区置放群组,则分区编号中将包含该实例的分区编号。

Amazon 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 命令并指定具有 --filtersplacement-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. 选择保存

Amazon CLI
将实例移动到置放群组
  1. 使用 stop-instances 命令停止实例。

  2. 使用 modify-instance-placement 命令,并指定置放群组的名称,实例将移动到该置放群组。

    aws ec2 modify-instance-placement \ --instance-id i-0123a456700123456 \ --group-name MySpreadGroup
  3. 使用 start-instances 命令启动实例。

PowerShell
使用 Amazon 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. 选择保存

Amazon CLI
从置放群组中删除实例
  1. 使用 stop-instances 命令停止实例。

  2. 使用 modify-instance-placement 命令,并为置放群组名称指定一个空字符串。

    aws ec2 modify-instance-placement \ --instance-id i-0123a456700123456 \ --group-name ""
  3. 使用 start-instances 命令启动实例。

PowerShell
使用 Amazon 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. 选择该置放群组,然后依次选择操作删除

  4. 提示进行确认时,输入 Delete,然后选择 Delete(删除)。

Amazon CLI
删除置放群组

使用 delete-placement-group 命令并指定置放群组名称以删除置放群组。在此示例中,置放群组名称为 my-cluster

aws ec2 delete-placement-group --group-name my-cluster
PowerShell
使用 Amazon Tools for Windows PowerShell 删除置放群组

使用 Remove-EC2PlacementGroup 命令删除置放群组。