我想將 Amazon CloudWatch 日誌群組作為目標新增至 Amazon EventBridge 規則中。
解決方法
若要將 CloudWatch 日誌群組設定為 EventBridge 規則的目標,您可以使用 EventBridge 主控台。或者,您也可以使用 AWS SDK、API、AWS Cloud Development Kit (AWS CDK) 或 AWS Command Line Interface (AWS CLI)。
使用 EventBridge 主控台
請完成下列步驟:
- 開啟 EventBridge 主控台。
- 在導覽窗格中,選擇規則。
- 選擇建立規則,然後輸入規則的名稱和選用描述。
**注意:**您也可以將日誌群組新增至現有規則。
- 對於目標類型,選擇 AWS 服務。
- 針對選取目標,選取 CloudWatch 日誌群組。
**注意:**若要將 CloudWatch 日誌群組新增為目標,您可以建立新的日誌群組或使用現有的日誌群組。日誌群組必須以 /aws/events 開頭。
當您使用 EventBridge 主控台設定目標時,EventBridge 服務會自動更新日誌群組的資源原則,以便服務具有存取日誌群組的權限。
使用 AWS SDK、API、AWS CDK 或 AWS CLI
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱 Troubleshoot AWS CLI errors。此外,請確定您使用的是最新的 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 權限