我想使用 Amazon CloudWatch Logs 建立訂閱篩選條件,以將日誌串流至 Amazon Kinesis Data Streams。
解決方法
在同一個帳戶中為 Kinesis 資料串流設定訂閱篩選條件
如果您尚未擁有資料串流,請建立 Kinesis 資料串流。
**注意:**CloudWatch 日誌群組與 Kinesis 資料串流目的地的 AWS 區域必須相同。
建立具有自訂信任政策的 IAM 政策與角色
AWS Identity and Access Management (IAM) 角色必須具備 logs.yourregion.amazonaws.com 的信任權限,並允許 kinesis:PutRecord 權限。
使用自訂信任政策建立 IAM 角色。在 Custom trust policy (自訂信任政策) 區段中,輸入以下信任政策:
{ "Statement": {
"Effect": "Allow",
"Principal": {
"Service": "logs.region.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringLike": {
"aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT_ID:*"
}
}
}
}
**注意:**將 REGION 替換為您的區域,並將 ACCOUNT_ID 替換為您的 AWS 帳戶 ID。
在 Step 2: Add permissions (步驟 2:新增權限) 區段中,選擇 Edit (編輯),然後將以下政策陳述式新增至自訂政策:
{ "Statement": { "Effect": "Allow",
"Action": "kinesis:PutRecord",
"Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME"
}
}
**注意:**將 REGION 替換為您的區域,ACCOUNT_ID 替換為您的 AWS 帳戶 ID,並將 STREAM_NAME 替換為您的串流名稱。
前述政策專用於 Kinesis Data Streams。如需更多 Amazon Data Firehose 權限的資訊,請參閱授予對您 Firehose 資源的存取權。
建立訂閱篩選條件
請完成以下步驟:
- 開啟 CloudWatch console (CloudWatch 主控台)。
- 在導覽窗格中,選擇 Log Management (日誌管理)。
- 選取您的 Log group (日誌群組)。
- 選擇 Actions (動作),然後選擇 Subscription Filters (訂閱篩選條件)。
- 若要設定目的地,請選擇 Create Kinesis subscription filter (建立 Kinesis 訂閱篩選條件)。
- 選擇 Current account (目前帳戶)。
- 從下拉式清單中選取您的 Kinesis 資料串流。
- 選取您建立的 IAM 角色。
- 選擇一種發佈方法。如需更多發佈項目的資訊,請參閱概念。
- 在 Subscription filter pattern (訂閱篩選條件模式) 區段中,定義 filter pattern (篩選條件模式)。
- 為您的訂閱篩選條件輸入名稱。
- 使用現有的日誌事件資料驗證您的模式。
- 選擇 Start Streaming (開始串流)。
若要驗證您的資料串流是否正常運作,請檢閱以下訂閱篩選條件指標:
- ForwardedBytes: 轉發至訂閱目的地的壓縮位元組格式日誌事件磁碟區。
- ForwardedLogEvents: 轉發至訂閱目的地的日誌事件數量。
若要檢查將日誌事件串流至目的地時是否沒有錯誤,請檢閱以下指標:
- DeliveryErrors: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,收到錯誤的日誌事件數量。
- DeliveryThrottling: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,遭到限流的日誌事件數量。
在另一個帳戶中為 Kinesis 資料串流設定訂閱篩選條件
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
建立目的地
在資料接收者的帳戶中,建立目的地。
建立訂閱篩選條件
在來源帳戶中,完成以下步驟:
- 如果您在 AWS Organizations 中使用組織,請建立 IAM 角色。否則,請繼續執行步驟 2。
- 新增或驗證跨帳戶目的地的 IAM 權限。
- 建立日誌群組,以將事件傳送至 CloudWatch Logs。
- 建立訂閱篩選條件。
若要驗證您的資料串流是否正常運作,請檢閱以下訂閱篩選條件指標:
- ForwardedBytes: 轉發至訂閱目的地的壓縮位元組格式日誌事件磁碟區。
- ForwardedLogEvents: 轉發至訂閱目的地的日誌事件數量。
若要檢查將日誌事件串流至目的地時是否沒有錯誤,請檢閱以下指標:
- DeliveryErrors: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,收到錯誤的日誌事件數量。
- DeliveryThrottling: 顯示 CloudWatch Logs 在轉發資料至訂閱目的地時,遭到限流的日誌事件數量。
如果您有專用的 Kinesis 資料串流,請檢查資料串流的指標,以確認功能。
對於跨帳戶記錄問題,請參閱對 CloudWatch 跨帳戶設定進行疑難排解。
相關資訊
建立 IAM 政策與使用者
使用 Amazon Kinesis Data Streams 進行跨帳戶跨 AWS 區域的日誌資料共用