更新组Amazon Resource Groups - Amazon Resource Groups和标签
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

更新组Amazon Resource Groups

要在 Resource Groups 中更新基于标签的资源组,可以编辑作为组基础的查询和标签。只能通过对查询或标签应用更改来在组中添加和删除资源。不能选择要在组中添加或删除的特定资源。在组中添加或删除特定资源的最佳方法是编辑资源的标签。然后验证资源组标签查询是包含还是省略标签,具体取决于您是否在组中需要该资源。

要更新Amazon CloudFormation基于堆栈的资源组,您可以选择不同的堆栈。您还可以在堆栈中添加或删除要作为组的一部分的资源类型。要更改堆栈中的可用资源,请更新用于创建堆栈的 Amazon CloudFormation 模板,然后在 Amazon CloudFormation 中更新堆栈。有关如何更新Amazon CloudFormation堆栈,请参阅Amazon CloudFormation堆栈更新中的Amazon CloudFormation用户指南。

在 Amazon CLI 中,您可以使用两个命令更新组。

  • update-group,用于更新组的描述。

  • update-group-query,用于更新用于确定组成员资源的资源查询和标签。

在控制台中,您无法更改Amazon CloudFormation基于堆栈的组更改为基于标签的查询组,反之亦然。但是,您可以使用 Resource Groups API(包括Amazon CLI。

更新基于标记的查询组

Console

可以在查询中更改组所基于的资源类型或标签以更新基于标签的组。您还可以添加或更改组的描述。

  1. 登录到 Amazon Resource Groups 控制台

  2. 在导航窗格中的保存的资源组,选择相应组的名称,然后选择编辑

    注意

    您只能更新您拥有的资源组。这些区域有:所有者列显示每个资源组的帐户所有权。帐户所有者不是您登录到的帐户所有者的任何群组都在Amazon License Manager。有关更多信息,请参阅 。在中的主机资源组Amazon License Manager中的License Manager 用户指南

  3. 在存储库的编辑组页面,在分组标准,添加或删除资源类型。您最多可以在查询中包含 20 种资源类型。要删除资源类型,请在该资源类型的标签上选择 X。选择查看组资源以查看更改如何影响您的组的资源成员。在本演练中,我们在查询中添加资源类型 AWS::RDS::DBInstance

  4. 仍然在分组标准,请根据需要编辑标签。在该示例中,我们筛选具有 Stage 标签键并添加 Test 标签值的资源。标签值是可选的,但会进一步缩小查询的结果。要删除标签,请在其标签上选择 X

  5. 其他信息中,您可以编辑组描述。在创建组后,您无法编辑组的名称。

  6. (可选)在组标签,您可以添加或删除标签。组标签是有关资源组的元数据。它们不会影响成员资源。要更改资源组的查询返回的资源,请在分组标准

    如果计划将此组作为较大组的成员,则组标签非常有用。需要至少指定标签键才能创建组。因此,请务必在组标签添加到您计划嵌套到较大组中的组中。

  7. 选择预览组资源以检索您的账户中与指定标签键匹配的 EC2 实例、S3 存储桶和 Amazon RDS 数据库实例的更新列表。如果在列表中看不到所需的资源,请确保使用在分组条件中指定的标签标记了资源。

  8. 在完成后,选择保存更改

Amazon CLI & Amazon SDKs

在 Amazon CLI 中,您使用两个不同的命令更新组的查询和更新资源组的描述。不能编辑现有组的名称。在Amazon CLI,您可以将基于标签的组更改为基于 CloudFormation 堆栈的组,反之亦然。

  1. 如果您不想更改组的描述,请跳过此步骤并转到下一步。在 Amazon CLI 会话中,键入以下内容,然后按 Enter,以将组名称和描述替换为您自己的值。

    $ aws resource-groups update-group \ --group-name resource-group-name \ --description "description_text"

    以下命令是一个示例。

    $ aws resource-groups update-group \ --group-name my-resource-group \ --description "EC2 instances, S3 buckets, and RDS DBs that we are using for the test stage."

    该命令会返回一个完整、更新的组描述。

  2. 要更新组的查询和标签,请键入以下命令。将组名称、资源类型、标签键和标签值替换为您自己的值。然后Enter。您最多可以在查询中包含 20 种资源类型。

    $ aws resource-groups update-group-query \ --group-name resource-group-name \ --resource-query '{"Type":"TAG_FILTERS_1_0","Query":"{\"ResourceTypeFilters\":[\"resource_type1\",\"resource_type2\"],\"TagFilters\":[{\"Key\":\"Key1\",\"Values\":[\"Value1\",\"Value2\"]},{\"Key\":\"Key2\",\"Values\":[\"Value1\",\"Value2\"]}]}"}'

    以下命令是一个示例。

    $ aws resource-groups update-group-query \ --group-name my-resource-group \ --resource-query '{"Type":"TAG_FILTERS_1_0","Query":"{\"ResourceTypeFilters\":[\"AWS::EC2::Instance\",\"AWS::S3::Bucket\",\"AWS::RDS::DBInstance\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}"}'

    该命令会返回已更新的查询作为结果。

更新Amazon CloudFormation基于堆栈的组

Console

您无法更改Amazon CloudFormation基于堆栈的组更改为基于标签的组。Amazon Web Services Management Console。但是,您可以更改组所基于的堆栈,或更改要包含在组中的堆栈资源类型。您还可以添加或更改组的描述。

  1. 登录到 Amazon Resource Groups 控制台

  2. 在导航窗格中的保存的资源组,选择相应组的名称,然后选择编辑

  3. 注意

    您只能更新您拥有的资源组。这些区域有:所有者列显示每个资源组的帐户所有权。帐户所有者不是您登录到的帐户所有者的任何群组都在Amazon License Manager。有关更多信息,请参阅 。在中的主机资源组Amazon License Manager中的License Manager 用户指南

  4. 在存储库的编辑组页面,在分组标准,要更改组所基于的堆栈,请从下拉列表中选择堆栈。只能将资源组基于一个堆栈。要筛选堆栈列表,请开始键入堆栈的名称。仅在列表中显示具有支持的状态的堆栈。有关支持的状态列表,请参阅本指南中的构建查询和组Amazon Resource Groups

  5. 添加或删除资源类型。仅在下拉列表中显示堆栈中的可用资源类型。默认值为所有受支持的资源类型。您最多可以在查询中包含 20 种资源类型。要删除资源类型,请在该资源类型的标签上选择 X。有关可以包含在组中的受支持资源类型的更多信息,请参阅你可以使用的资源Amazon Resource Groups标签编辑器

  6. 选择预览组资源以检索资源列表Amazon CloudFormation堆栈,以匹配您选择的资源类型。

  7. 其他信息中,您可以编辑组描述。在创建组后,您无法编辑组的名称。

  8. 组标签中,添加或删除标签。组标签是有关资源组的元数据。它们不会影响成员资源。要更改资源组的查询返回的资源,请在分组条件中编辑标签。

    如果计划将此组作为较大组的成员,则组标签非常有用。需要至少指定标签键才能创建组。因此,请务必在组标签添加到您计划嵌套到较大组中的组中。

  9. 在完成后,选择保存更改

Amazon CLI & Amazon SDKs

在 Amazon CLI 中,您使用两个不同的命令更新组的查询和更新资源组的描述。不能编辑现有组的名称。在Amazon CLI,您可以将基于标签的组更改为基于 CloudFormation 堆栈的组,反之亦然。

  1. 如果您不想更改组的描述,请跳过此步骤并转到下一步。运行以下命令,从而将组名称和描述替换为您自己的值。

    $ aws resource-groups update-group \ --group-name "resource-group-name" \ --description "description_text"

    以下命令是一个示例。

    $ aws resource-groups update-group \ --group-name "My-CFN-stack-group" \ --description "EC2 instances, S3 buckets, and RDS DBs that we are using for the test stage."

    该命令会返回一个完整、更新的组描述。

  2. 要更新组的查询和标签,请运行以下命令。将组名称、堆栈标识符和资源类型替换为您自己的值。要添加资源类型,请在命令中提供完整的资源类型列表,而不是仅提供添加的资源类型。您最多可以在查询中包含 20 种资源类型。

    stack_identifier 是堆栈 ARN,如示例命令中所示。

    $ aws resource-groups update-group-query \ --group-name resource-group-name \ --description "description" \ --resource-query '{"Type":"CLOUDFORMATION_STACK_1_0","Query":"{\"StackIdentifier\":\"stack_identifier\",\"ResourceTypeFilters\":[\"resource_type1\",\"resource_type2\"]}"}'

    以下命令是一个示例。

    $ aws resource-groups update-group-query \ --group-name "my-resource-group" \ --description "Updated CloudFormation stack-based group" \ --resource-query '{"Type":"CLOUDFORMATION_STACK_1_0","Query":"{\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:810000000000:stack\/AWStestuseraccount\/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE\",\"ResourceTypeFilters\":[\"AWS::EC2::Instance\",\"AWS::S3::Bucket\"]}"}'

    该命令会返回已更新的查询作为结果。