如何新增 CloudWatch 日誌群組作為 EventBridge 規則的目標使用?

1 分的閱讀內容
0

我想將 Amazon CloudWatch 日誌群組作為目標新增至 Amazon EventBridge 規則中。

解決方法

若要將 CloudWatch 日誌群組設定為 EventBridge 規則的目標,您可以使用 EventBridge 主控台。或者,您也可以使用 AWS SDK、API、AWS Cloud Development Kit (AWS CDK) 或 AWS Command Line Interface (AWS CLI)。

使用 EventBridge 主控台

請完成下列步驟:

  1. 開啟 EventBridge 主控台
  2. 在導覽窗格中,選擇規則
  3. 選擇建立規則,然後輸入規則的名稱和選用描述。
    **注意:**您也可以將日誌群組新增至現有規則。
  4. 對於目標類型,選擇 AWS 服務
  5. 針對選取目標,選取 CloudWatch 日誌群組
    **注意:**若要將 CloudWatch 日誌群組新增為目標,您可以建立新的日誌群組或使用現有的日誌群組。日誌群組必須以 /aws/events 開頭。

當您使用 EventBridge 主控台設定目標時,EventBridge 服務會自動更新日誌群組的資源原則,以便服務具有存取日誌群組的權限。

使用 AWS SDK、API、AWS CDK 或 AWS CLI

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱 Troubleshoot AWS CLI errors。此外,請確定您使用的是最新的 AWS CLI 版本

請完成下列步驟:

  1. 若要將所需的權限新增至日誌群組的資源原則,以便 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 個原則。如果超過此配額,請刪除未使用的原則或合併多個原則。
  2. 使用 DescribeResourcePolicies API 或執行 describe-resource-policies AWS CLI 命令來檢查您的原則是否正確套用。
  3. (選擇性) 使用 PutRule API 或執行 put-rule AWS CLI 命令來建立規則。
  4. 使用 PutTargets API 或執行 put-targets AWS CLI 命令,將日誌群組新增至 EventBridge 規則。

相關資訊

Amazon EventBridge 目標

EventBridge 主控台中可用的目標

CloudWatch Logs 權限