我想将 Amazon CloudWatch 日志组添加为 Amazon EventBridge 规则的目标。
解决方法
要将 CloudWatch 日志组配置为 EventBridge 规则的目标,可以使用 EventBridge 控制台。或者,可以使用 AWS 开发工具包、API、AWS Cloud Development Kit (AWS CDK) 或 AWS 命令行界面(AWS CLI)。
使用 EventBridge 控制台
完成以下步骤:
- 打开 EventBridge 控制台。
- 在导航窗格中,选择规则。
- 选择创建规则,然后输入规则的名称和可选描述。
**注意:**也可以将日志组添加到现有规则。
- 对于目标类型,选择 AWS 服务。
- 对于选择目标,选择 CloudWatch 日志组。
**注意:**要将 CloudWatch 日志组添加为目标,可以创建新的日志组或使用现有日志组。日志组必须以 /aws/events 开头。
当使用 EventBridge 控制台配置目标时,EventBridge 服务会自动更新日志组的资源策略,使该服务有权访问该日志组。
使用 AWS 开发工具包、API、AWS CDK 或 AWS CLI
**注意:**如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
完成以下步骤:
- 要向日志组的资源策略添加所需的权限,使 EventBridge 可以访问目标日志组,请使用 PutResourcePolicy API。或者,运行 put-resource-policy AWS CLI 命令。
具有所需权限的资源策略示例:
{
"Statement": [
{
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow",
"Principal": {
"Service": [
"events.amazonaws.com",
"delivery.logs.amazonaws.com"
]
},
"Resource": "arn:aws:logs:region:account:log-group:/aws/events/*:*",
"Sid": "TrustEventsToStoreLogEvent"
}
],
"Version": "2012-10-17"
}
**注意:**当前配额为每个 AWS 账户每个 AWS 区域 10 个策略。如果超过此配额,请删除未使用的策略或合并多个策略。
- 使用 DescribeResourcePolicies API 或运行 describe-resource-policies AWS CLI 命令来检查策略是否已正确应用。
- (可选)使用 PutRule API 或运行 put-rule AWS CLI 命令来创建规则。
- 使用 PutTargets API 或运行 put-targets AWS CLI 命令将日志组添加到 EventBridge 规则。
相关信息
Amazon EventBridge 目标
EventBridge 控制台中可用的目标
CloudWatch Logs 权限