View a markdown version of this page

AWSSupport-DeploySESSendingLogsToCloudWatchLogs - AWS Systems Manager Automation Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-DeploySESSendingLogsToCloudWatchLogs

Description

AWSSupport-DeploySESSendingLogsToCloudWatchLogs 自動化 Runbook 可協助設定 Amazon Simple Email Service Amazon SES) 事件發佈至 Amazon CloudWatch Logs (CloudWatch Logs) 所需的基礎設施。此 Runbook 會設定擷取電子郵件傳送事件所需的元件,並將其存放在 CloudWatch Logs 中以進行監控和分析。如需 Amazon SES 事件發佈的詳細資訊,請參閱使用 Amazon SES 事件發佈監控電子郵件傳送

ApproveDeployAnalyticEnvironment 參數設定為 時approve,此 Runbook 會在您的帳戶中建立新的 AWS 資源 AWS 。除非設定為 ,否則 CloudFormation 堆疊會在 SleepTime 參數中指定的時間之後自動刪除0

如何運作?

此 Runbook 會執行下列動作:

  • 列出已針對 Amazon Simple Notification Service (Amazon SNS) 主題或交付串流設定事件目的地的現有組態集。

  • ApproveDeployAnalyticEnvironment 參數設定為 時,建立 Amazon SES 事件發佈至 CloudWatch Logs 所需的基礎設施approve

ApproveDeployAnalyticEnvironment 參數設定為 時approve, Runbook 會建立下列資源:

  • 名為 的 CloudFormation 堆疊AWSSupport-SESSendingLogsToCloudWatchLogs,其中包含:

    • 使用 AWS Key Management Service (AWS KMS) 加密的 Amazon SNS 主題

    • Amazon Simple Queue Service (Amazon SQS) 佇列

    • AWS Lambda 處理電子郵件傳送事件的 函數

    • AWS Identity and Access Management 具有 Amazon SQS 和 CloudWatch Logs 許可的 (IAM) 執行角色

    • CloudWatch Logs 日誌群組

    • AWS KMS 用於加密的金鑰

    • 具有事件目的地的 Amazon SES 組態設定

  • 基礎設施會在下列流程中處理電子郵件傳送事件:Amazon SES 電子郵件傳送事件 → Amazon SES 組態設定 → Amazon SNS 主題 → Amazon SQS 佇列 → Lambda 函數 → CloudWatch Logs

  • 提供 SesIdentity 參數時,將建立的組態集建立關聯為指定 Amazon SES 身分的預設組態集。

執行此自動化 (主控台)

文件類型

 自動化

擁有者

Amazon

平台

/

必要的 IAM 許可

AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。

  • cloudformation:CreateStack

  • cloudformation:DeleteStack

  • cloudformation:DescribeStackEvents

  • cloudformation:DescribeStacks

  • iam:CreateRole

  • iam:AttachRolePolicy

  • iam:PassRole

  • kms:CreateKey

  • kms:CreateAlias

  • lambda:CreateFunction

  • lambda:AddPermission

  • logs:CreateLogGroup

  • logs:PutRetentionPolicy

  • ses:CreateConfigurationSet

  • ses:CreateConfigurationSetEventDestination

  • ses:ListConfigurationSets

  • ses:PutEmailIdentityConfigurationSetAttributes

  • sns:CreateTopic

  • sns:Subscribe

  • sqs:CreateQueue

  • sqs:SetQueueAttributes

  • ssm:DescribeAutomationExecutions

範例政策:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PassRole", "kms:CreateKey", "kms:CreateAlias", "lambda:CreateFunction", "lambda:AddPermission", "logs:CreateLogGroup", "logs:PutRetentionPolicy", "ses:CreateConfigurationSet", "ses:CreateConfigurationSetEventDestination", "ses:ListConfigurationSets", "ses:PutEmailIdentityConfigurationSetAttributes", "sns:CreateTopic", "sns:Subscribe", "sqs:CreateQueue", "sqs:SetQueueAttributes", "ssm:DescribeAutomationExecutions" ], "Resource": "*" } ] }

指示

請依照下列步驟設定自動化:

  1. 在文件下的 Systems Manager AWSSupport-DeploySESSendingLogsToCloudWatchLogs中導覽至 。

  2. 選擇 Execute automation (執行自動化)。

  3. 針對輸入參數,輸入下列內容:

    • AutomationAssumeRole (選用):

      • 描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 IAM 角色的 Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。

      • 類型:AWS::IAM::Role::Arn

    • ApproveDeployAnalyticEnvironment (選用):

      • 描述:(選用) 部署 Amazon SES 事件發佈基礎設施的核准。輸入 approve 以建立 CloudFormation 堆疊和相關資源。如果保留空白,則 Runbook 只會顯示目前區域中具有 或 Amazon SNS 事件目的地的現有組態設定。

      • 類型:String

      • 允許模式: ^$|^approve$

      • 預設:""

    • SesIdentity (選用):

      • 描述:(選用) 要與新建立的組態集建立關聯的 Amazon SES 身分 (電子郵件地址或網域) 作為預設組態集。這將覆寫指定身分的任何現有預設組態設定。

      • 類型:String

      • 預設:""

    • CloudWatchLogGroupName (選用):

      • 描述:(選用) 為儲存 Amazon SES 電子郵件傳送事件而建立的 CloudWatch Logs 日誌群組名稱。

      • 類型:String

      • 允許模式: ^[0-9a-zA-Z_.#/\\-]{1,512}$

      • 預設:/ses/sending_event_logs

    • MaskPIIData (選用):

      • 描述:(選用) 指定是否在 CloudWatch Logs 中遮罩個人身分識別資訊 (PII) 資料,例如目的地電子郵件地址和電子郵件主旨。設定為 False 以在日誌中包含此資訊。

      • 類型:String

      • 允許的值: [True, False]

      • 預設:True

    • SleepTime (選用):

      • 描述:(選用) 在自動刪除 CloudFormation 堆疊之前等待的分鐘數。預設值為 24 小時 (1,440 分鐘),上限為 7 天 (10,080 分鐘)。設定為 0 以防止自動刪除。

      • 類型:String

      • 允許模式: ^(?:[0-9]|[1-9]\\d{1,3}|100[0-7][0-9])$

      • 預設:1440

    • RetainCloudWatchLogsOnDeletion (選用):

      • 描述:(選用) 指定是否在刪除 CloudFormation 堆疊時保留 CloudWatch Logs 日誌群組。設定為 False以刪除日誌群組與堆疊。

      • 類型:String

      • 允許的值: [True, False]

      • 預設:True

    • UniqueId (選用):

      • 描述:(選用) 工作流程的唯一識別符。

      • 類型:String

      • 允許模式: \\{\\{ automation:EXECUTION_ID \\}\\}|[a-zA-Z0-9-]+

      • 預設:{{ automation:EXECUTION_ID }}

      • 軸字元: 64

  4. 選取執行

  5. 自動化會啟動。

  6. 文件會執行下列步驟:

    • BranchOnValueOfParameterApproveDeployAnalyticEnvironment

      決定是否要根據ApproveDeployAnalyticEnvironment參數值部署 Amazon SES 事件發佈基礎設施。

    • GetEligibleConfigurationSets

      擷取現有的 Amazon SES 組態集,並識別已針對交付串流或 Amazon SNS 主題設定事件目的地的組態集。

    • CheckConcurrency

      確認不存在現有堆疊,而且沒有此 Runbook 的其他並行執行正在建立相同的堆疊。

    • DeploySesEventDestinations

      建立包含 Amazon SES 事件發佈基礎設施的 CloudFormation 堆疊,包括 Amazon SNS 主題、Amazon SQS 佇列、Lambda 函數和 CloudWatch Logs 日誌群組。

    • RelateConfigurationSetAsDefaultConfigurationSet

      將新建立的 Amazon SES 組態設定關聯為指定 Amazon SES 身分的預設組態設定 (如果提供)。

    • SleepBeforeDeleteCloudFormationStack

      等待 SleepTime 參數中指定的持續時間,然後繼續刪除 CloudFormation 堆疊。

    • DeleteCloudFormationStack

      在指定的時段之後刪除 CloudFormation 堆疊。

  7. 完成後,請檢閱輸出區段以取得執行的詳細結果。

參考

Systems Manager Automation