如何建立 CloudWatch 日誌群組,並將其作為 EventBridge 規則的目標?

上次更新日期:2022 年 5 月 4 日

我想要將 Amazon CloudWatch 日誌群組新增為 Amazon EventBridge 規則的目標。該如何進行?

簡短描述

建立 EventBridge 規則時,您必須指定目標,且該目標的事件需與已傳送的規則相符。如需 EventBridge 的可用目標清單,請參閱 EventBridge 主控台中可用的目標。CloudWatch 日誌群組為其中一個可新增至 EventBridge 規則的目標。

解析度

注意:如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本

請使用下列步驟來設定 CloudWatch 日誌群組,以將其作為 EventBridge 規則的目標:

1.    開啟 EventBridge 主控台,然後選擇您要建立規則的區域。

2.    選擇 Create rule (建立規則),然後輸入任何有關該規則的資訊,例如事件模式或排程詳細資料。

3.    在 Select target (選取目標) 頁面上,選擇 CloudWatch 做為您的目標。

注意:若要將 CloudWatch 日誌群組新增為目標,您也可以:

請確認用作 EventBridge 規則之目標的日誌群組是以 /aws/events 為開頭。如果您在建立規則時,使用主控台建立新的日誌群組,EventBridge 會自動為您建立日誌群組。如果您想要新增現有的日誌群組,請注意,只有以 /aws/events 為開頭的日誌群組才會出現在下拉式清單中。

4.    若要將事件資料傳送至目標日誌群組,EventBridge 需要存取目標日誌群組的許可。EventBridge 會使用此許可建立日誌串流,並將事件推送至這些日誌串流。針對 CloudWatch 日誌群組,EventBridge 會使用以資源為基礎的政策來存取日誌群組。

如果您使用主控台將日誌群組新增至 EventBridge 規則,則日誌群組的資源型政策會自動更新。但是,如果您使用 AWS 開發套件/API/CDK/CLI,則必須手動更新日誌群組的資源型政策。此範例政策文件示範了在日誌群組的資源政策中,您必須定義的許可:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "TrustEventsToStoreLogEvent",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "events.amazonaws.com"
        ]
      },
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "arn:aws:logs:us-east-1:<your-account-id>:log-group:/aws/events/*:*"
    }
  ]
}

您無法使用主控台設定日誌群組中的資源政策。若要將這些許可新增至資源政策,請使用 PutResourcePolicy API 呼叫。然後,使用 describe-resource-policies 命令來檢查您的政策是否正確套用。

注意:目前的上限為每個區域、每個帳戶僅限 10 個政策。如果您超過此上限,請刪除任何未使用的政策或合併多個政策。

5.    EventBridge 服務使用 PutRule CLI 來建立規則。接著,它會使用 PutTargets API 或 put-targets CLI 命令,將目標新增至 EventBridge 規則。因此,使用 AWS 開發套件、CDK 或 CLI 時,您必須使用 PutTargets API 或 put-targets CLI,將日誌群組新增至您的 EventBridge 規則。


此文章是否有幫助?


您是否需要帳單或技術支援?