在 Resource Groups 中开启组生命周期事件 - Amazon Resource Groups
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Resource Groups 中开启组生命周期事件

要接收有关资源组生命周期更改的通知,可以在组生命周期事件上接收通知。然后,Resource Groups 会提供有关组对 Amazon EventBridge 更改的信息。在 EventBridge 中,您可以使用在 EventBridge 服务中定义的规则来评估更改并采取行动。

最小权限

要在 Amazon Web Services 账户 中开启组生命周期事件,您必须以具有以下权限的 Amazon Identity and Access Management(IAM)主体身份登录:

  • resource-groups:UpdateAccountSettings

  • iam:CreateServiceLinkedRole

  • events:PutRule

  • events:PutTargets

  • events:DescribeRule

  • events:ListTargetsByRule

  • cloudformation:DescribeStacks

  • cloudformation:ListStackResources

  • tag:GetResources

当您最初在 Amazon Web Services 账户 中开启组生命周期事件时,Resource Groups 会创建一个名为 AWSServiceRoleForResourceGroups 的服务关联角色。此托管角色有权使用 Resource Groups 托管的 EventBridge 规则。该规则会监控附加到您资源的标签以及您账户中的 Amazon CloudFormation 堆栈是否有任何更改。然后,Resource Groups 将这些更改发布到 Amazon EventBridge 中的默认事件总线。该服务还会创建名为 Managed.ResourceGroups.TagChangeEvents 的 EventBridge 托管规则。此规则捕获您的资源标签更改的详细信息。这可让 Resource Groups 生成成员资格事件,然后发送到 EventBridge 以供您的自定义规则处理。然后,您的 EventBridge 规则可以通过向规则的配置目标发送通知来响应事件。

完成这些步骤后,查找这些事件的规则应该会在几分钟后开始接收它们。

可通过以下两种方式开启组生命周期事件:使用 Amazon Web Services Management Console 或使用来自 Amazon CLI 或其中一个 SDK API 的命令。

Amazon Web Services Management Console
在 Resource Groups 控制台中开启组生命周期事件
  1. 在 Resource Groups 控制台中打开设置页面。

  2. 组生命周期事件部分中,选择通知已关闭旁边的开关。

  3. 在确认对话框中,选择开启通知

    功能开关显示通知已开启

至此,该过程的第一部分完成。开启事件通知后,您可以在 Amazon EventBridge 中创建规则,用于捕获事件并将其发送给特定 Amazon Web Services 进行处理。

Amazon CLI
使用 Amazon CLI 或 Amazon SDK 开启组生命周期事件

以下示例说明如何使用 Amazon CLI 来开启 Resource Groups 中的组生命周期事件。输入带有服务主体参数的命令,如图所示。输出显示该功能的当前状态和所需状态。

$ aws resource-groups update-account-settings \ --group-lifecycle-events-desired-status ACTIVE { "AccountSettings": { "GroupLifecycleEventsDesiredStatus": "ACTIVE", "GroupLifecycleEventsStatus": "IN_PROGRESS" } }

您可以通过运行以下示例命令来确认该功能已开启。当两个状态字段显示相同的值时,操作即告完成。

$ aws resource-groups get-account-settings { "AccountSettings": { "GroupLifecycleEventsDesiredStatus": "ACTIVE", "GroupLifecycleEventsStatus": "ACTIVE" } }

有关更多信息,请参阅以下资源: