本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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
-
可以在查询中更改组所基于的资源类型或标签以更新基于标签的组。您还可以添加或更改组的描述。
-
在导航窗格中的保存的资源组
下面,选择该组的名称,然后选择编辑。 注意
您只能更新自己拥有的资源组。所有者列显示每个资源组的账户所有权。账户所有者不是您已登录账户的任何组都是在 Amazon License Manager 中创建的。有关更多信息,请参阅 License Manager 用户指南中的 Amazon License Manager 中的主机资源组。
-
在编辑组页面上的分组条件下,添加或移除资源类型。您最多可以在查询中包含 20 种资源类型。要删除资源类型,请在该资源类型的标签上选择 X。选择查看组资源以查看更改如何影响您的组的资源成员。在本演练中,我们在查询中添加资源类型 AWS::RDS::DBInstance。
-
仍在分组条件下,根据需要编辑标签。在该示例中,我们筛选具有 Stage 标签键并添加 Test 标签值的资源。标签值是可选的,但会进一步缩小查询的结果。要删除标签,请在其标签上选择 X。
-
在其他信息中,您可以编辑组描述。在创建组后,您无法编辑组的名称。
-
(可选)在组标签中,您可以添加或移除标签。组标签是有关资源组的元数据。它们不会影响成员资源。要更改资源组的查询返回的资源,请在分组条件下编辑标签。
如果计划将此组作为较大组的成员,则组标签非常有用。要创建组,必须至少指定标签键。因此,请务必在组标签中为计划嵌套到较大组中的组添加至少一个标签键。
-
选择之前的组资源以检索账户中与指定标签键匹配的 EC2 实例、S3 存储桶和 Amazon RDS 数据库实例的更新列表。如果在列表中看不到所需的资源,请确保使用在分组条件中指定的标签标记了资源。
-
在完成后,选择保存更改。
- Amazon CLI & Amazon SDKs
-
在 Amazon CLI 中,您使用两个不同的命令更新组的查询和更新资源组的描述。不能编辑现有组的名称。在 Amazon CLI 中,您可以将基于标签的组更改为基于 CloudFormation 堆栈的组,反之亦然。
-
如果您不想更改组的描述,请跳过此步骤并转到下一步。在 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."
该命令会返回一个完整、更新的组描述。
-
要更新组的查询和标签,请键入以下命令。将组名称、资源类型、标签键和标签值替换为您自己的值。然后按 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 堆栈的组更改为基于标签的组。但是,您可以更改该组所基于的堆栈,也可以更改要包含在组中的堆栈资源类型。您还可以添加或更改组的描述。
-
在导航窗格中的保存的资源组
下面,选择该组的名称,然后选择编辑。 -
注意
您只能更新自己拥有的资源组。所有者列显示每个资源组的账户所有权。账户所有者不是您已登录账户的任何组都是在 Amazon License Manager 中创建的。有关更多信息,请参阅 License Manager 用户指南中的 Amazon License Manager 中的主机资源组。
-
在编辑组页面上的分组条件下,要更改组所基于的堆栈,请从下拉列表中选择该堆栈。只能将资源组基于一个堆栈。要筛选堆栈列表,请开始键入堆栈的名称。仅在列表中显示具有支持的状态的堆栈。有关支持的状态列表,请参阅本指南中的在 Amazon Resource Groups 中创建基于查询的组。
-
添加或删除资源类型。仅在下拉列表中显示堆栈中的可用资源类型。默认值为所有受支持的资源类型。您最多可以在查询中包含 20 种资源类型。要删除资源类型,请在该资源类型的标签上选择 X。有关可以包含在组中的受支持资源类型的更多信息,请参阅可以与标签编辑器一起 Amazon Resource Groups 使用的资源类型。
-
选择之前的组资源以检索 Amazon CloudFormation 堆栈中与选定资源类型匹配的资源列表。
-
在其他信息中,您可以编辑组描述。在创建组后,您无法编辑组的名称。
-
在组标签中,添加或删除标签。组标签是有关资源组的元数据。它们不会影响成员资源。要更改资源组的查询返回的资源,请在分组条件中编辑标签。
如果计划将此组作为较大组的成员,则组标签非常有用。要创建组,必须至少指定标签键。因此,请务必在组标签中为计划嵌套到较大组中的组添加至少一个标签键。
-
在完成后,选择保存更改。
- Amazon CLI & Amazon SDKs
-
在 Amazon CLI 中,您使用两个不同的命令更新组的查询和更新资源组的描述。不能编辑现有组的名称。在 Amazon CLI 中,您可以将基于标签的组更改为基于 CloudFormation 堆栈的组,反之亦然。
-
如果您不想更改组的描述,请跳过此步骤并转到下一步。运行以下命令,将组名称和描述的值替换为自己的值。
$
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."
该命令会返回一个完整、更新的组描述。
-
要更新组的查询和标签,请运行以下命令。将组名称、堆栈标识符和资源类型的值替换为您自己的值。要添加资源类型,请在命令中提供完整的资源类型列表,而不是仅提供添加的资源类型。您最多可以在查询中包含 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\"]}"}'
该命令会返回已更新的查询作为结果。
-