View a markdown version of this page

基于 Parameter Store 事件设置通知或触发操作 - AWS Systems Manager

基于 Parameter Store 事件设置通知或触发操作

可以使用 Amazon EventBridge 和 Amazon Simple Notification Service(Amazon SNS)通知您有关 AWS Systems Manager 参数更改的信息。尽最大努力发出事件。例如,您可以创建将执行以下操作的规则:

  • 在创建、更新或删除参数或参数标签版本时通知您。

  • 通知您与参数策略相关的更改或状态,例如,参数过期、即将过期或在指定时间段内未更改。

    注意

    参数策略可用于使用高级参数层的参数。需支付费用。有关更多信息,请参阅在 Parameter Store 中分配参数策略在 Parameter Store 中选择参数层级

  • 针对特定参数事件在目标上启动其他操作。例如,您可以运行 AWS Lambda 函数来在参数过期或被删除后自动重新创建参数。您可以设置通知,以在存储获批准的 AMI ID 的参数更新时调用 Lambda 函数。Lambda 函数可以更新启动模板或启动使用该新 AMI ID 的部署工作流。

Eventbridge 还支持在许多其他 AWS 服务中运行 Run Command 命令、自动化执行和操作。Run Command 和 Automation 都是 AWS Systems Manager 中的工具。有关更多信息,请参阅 Amazon EventBridge 用户指南

开始前的准备工作

创建您需要的任何资源,以便为您创建的规则指定目标操作。例如,如果您创建的规则是关于发送通知,首先创建 Amazon SNS 主题。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南中的 Amazon SNS 入门

为参数和参数策略配置 Eventbridge 规则

本主题说明了以下内容:

  • 如何创建将根据您的 AWS 账户中一个或多个参数发生的事件调用某个目标的 Eventbridge 规则。

  • 如何创建将根据您的 AWS 账户中一个或多个参数策略发生的事件调用目标的 Eventbridge 规则。创建高级参数时,您需要指定参数到期时间、在参数到期前多长时间接收通知以及在参数保持不变时等待多长时间后发送通知。您可以按照以下过程为这些事件设置通知。有关更多信息,请参阅在 Parameter Store 中分配参数策略在 Parameter Store 中选择参数层级

为某个 Systems Manager 参数或参数策略配置 EventBridge 规则
  1. 访问 https://console.aws.amazon.com/events/,打开 Amazon EventBridge 控制台。

  2. 选择带事件模式的 EventBridge 规则,然后选择创建规则

  3. 如果尚未选择高级生成器,请选择该选项。

  4. 为规则输入名称和描述。然后选择下一步

    规则不能与同一区域中的另一个规则和同一事件总线上的名称相同。

  5. 对于事件总线,请选择要与此规则关联的事件总线。如果您希望此规则根据来自您自己的 AWS 账户的匹配事件启动,请选择 defaul(默认)。当您账户中的某个 AWS 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  6. 对于 Rule type(规则类型),保留默认值 Rule with an event pattern(具有事件模式的规则)。

  7. 选择下一步

  8. 对于事件源,选中默认值 AWS 事件或 EventBridge 合作伙伴事件。您可以跳过 Sample event(示例事件)部分。

  9. 对于 Event pattern(事件模式),执行以下操作:

    • 选择 Custom patterns (JSON editor) [自定义模式(JSON 编辑器)]。

    • 对于 Event pattern(事件模式),根据您是要为参数还是为参数策略创建规则,将下面的任意一项内容粘贴到对话框中:

      Parameter
      { "source": [ "aws.ssm" ], "detail-type": [ "Parameter Store Change" ], "detail": { "name": [ "parameter-1-name", "/parameter-2-name/level-2", "/parameter-3-name/level-2/level-3" ], "operation": [ "Create", "Update", "Delete", "LabelParameterVersion" ] } }
      Parameter policy
      { "source": [ "aws.ssm" ], "detail-type": [ "Parameter Store Policy Action" ], "detail": { "parameter-name": [ "parameter-1-name", "/parameter-2-name/level-2", "/parameter-3-name/level-2/level-3" ], "policy-type": [ "Expiration", "ExpirationNotification", "NoChangeNotification" ] } }
    • 修改要对其执行操作的参数和操作的内容,如下面的示例所示。

      Parameter

      在此例中,在名为 /Oncall/Project/Teamlead 的参数更新时将执行一项操作:

      { "source": [ "aws.ssm" ], "detail-type": [ "Parameter Store Change" ], "detail": { "name": [ "/Oncall", "/Project/Teamlead" ], "operation": [ "Update" ] } }
      Parameter policy

      在此例中,每当名为 /OncallDuties 的参数过期且被删除时都将执行一项操作:

      { "source": [ "aws.ssm" ], "detail-type": [ "Parameter Store Policy Action" ], "detail": { "parameter-name": [ "/OncallDuties" ], "policy-type": [ "Expiration" ] } }
  10. 选择下一步

  11. 对于 Target 1(目标 1),选择一个目标类型和支持的资源。例如,假设您选择了 AWS 服务,然后选择了 SNS 主题,请相应选择主题。如果您选择 CodePipeline,则对于 Pipeline ARN(管道 ARN)输入一个管道 ARN。根据需要提供其他配置值。

    提示

    如果您需要为此规则添加其他目标,请选择 Add another target(添加其他目标)。

  12. 选择下一步

  13. (可选)为规则输入一个或多个标签。有关更多信息,请参阅《Amazon EventBridge 用户指南》中的 Amazon EventBridge 标签

  14. 选择下一步

  15. 选择 Create rule(创建规则)。