我想使用 Amazon Simple Notification Service (Amazon SNS) 為 AWS Systems Manager 建立修補通知。
解決方法
若要建立可自訂的通知,請將 Amazon SNS 與 Patch Manager (AWS Systems Manager 的一項功能) 整合,並在修補時使用 Run 命令。當您將修補新增為維護時段中的 Run 命令任務時,也可以使用此功能。
注意:當您使用立即修補 (隨需修補) 或修補政策時,無法使用 Amazon SNS 通知。
為修補通知建立 SNS 主題
建立 SNS 主題,並記下主題 ARN。然後,使用您偏好的聯絡資訊訂閱該主題。
**注意:**若要建立可自訂的通知,請設定修補的維護時段。
設定所需的 IAM 政策和角色
為 Systems Manager 建立 AWS Identity and Access Management (IAM) 政策和 IAM 角色,以發佈到 SNS 主題。如果您不想使用維護時段來接收修補通知,請繼續執行在 Run 命令中指定 SNS 主題。
若要在維護時段中使用該角色,您必須編輯維護時段服務角色,以允許其傳遞新的 IAM 角色。在 Resource (資源) 下,指定您所建立角色的 ARN。如需詳細資訊,請參閱使用主控台控制對維護時段的存取權。您可以建立新政策,或使用所需權限更新維護時段的內嵌政策。
權限範例:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::ACCOUNT_ID:role/SNS-TOPIC-ROLE"
}
]
}
**注意:**將 arn:aws:iam::ACCOUNT_ID:role/SNS-TOPIC-ROLE 替換為您的 IAM 角色 ARN。
在 Run 命令中指定 SNS 主題
請完成下列步驟:
- 開啟 Systems Manager console (Systems Manager 主控台)。
- 在導覽窗格中,選擇 Run command (Run 命令)。
- 選擇 AWS-RunPatchBaseline。
- 設定 AWS-RunPatchBaseline 參數。
- 在 SNS notifications (SNS 通知) 中,請選取 Enable SNS notifications (啟用 SNS 通知)。
- 在 IAM role (IAM 角色) 中,輸入新的 IAM 角色。
- 在 SNS topic (SNS 主題) 中,輸入 SNS 主題 ARN。
- (選用) 在 Event type (事件類型) 中,選取您想要接收通知的事件類型,例如逾時或失敗嘗試。
- 選擇 Save changes (儲存變更)。
(選用) 在維護時段內指定 SNS 主題
如果您使用維護時段,請完成以下步驟:
- 開啟 Systems Manager console (Systems Manager 主控台)。
- 在導覽窗格中,選擇 Maintenance windows (維護時段)。
- 選取執行修補的維護時段。
- 在 Tasks (任務) 中,選擇 AWS-RunPatchBaseline,然後選擇 Edit (編輯)。
- 在 SNS notifications (SNS 通知) 中,請選取 Enable SNS notifications (啟用 SNS 通知)。
- 在 IAM role (IAM 角色) 中,輸入新的 IAM 角色。
- 在 SNS topic (SNS 主題) 中,輸入 SNS 主題 ARN。
- (選用) 在 Event type (事件類型),選取您想要接收通知的事件類型。
- 選擇 Save changes (儲存變更)。
修補維護電子郵件通知範例:
{"commandId":"abcdef12-1234-1234-1234-abcdef123456", "documentName":"AWS-RunPatchBaseline",
"instanceId":"i-abcdefg1234567",
"requestedDateTime":"2023-01-01T00:00:00.000Z",
"status":"Failed",
"detailedStatus":"Failed",
"eventTime":"2023-01-1T00:02:00.00Z"}
相關資訊
使用 Amazon SNS 通知監控 Systems Manager 狀態變化
透過 AWS 組織中的電子郵件和 Slack 通知自動產生 Systems Manager 修補報告