我想要將 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,則必須手動更新日誌群組的資源型政策。此範例政策文件示範了在日誌群組的資源政策中,您必須定義的許可:
{
"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"
}
您無法使用主控台設定日誌群組中的資源政策。若要將這些許可新增至資源政策,請使用 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 規則。
相關資訊
CloudWatch 日誌許可