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

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

本部分中的主题介绍了如何使用 Amazon EventBridge 和 Amazon Simple Notification Service (Amazon SNS) 通知您有关 AWS Systems Manager 参数的更改。您可以创建 Eventbridge 规则,以在创建、更新或删除参数或参数标签版本的情况下通知您。尽最大努力发出事件。您可以收到与参数策略相关的更改或状态通知,例如,参数过期、将过期或者在指定时间段内未更改。

注意

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

本部分中的主题还介绍了如何针对特定参数事件在目标上启动其他操作。例如,您可以运行 AWS Lambda 函数来在参数过期或被删除后自动重新创建参数。您可以设置一个通知,以在数据库密码更新时调用 Lambda 函数。Lambda 函数可以强制您的数据库连接重置或使用新密码重新连接。Eventbridge 还支持在许多其他 AWS 服务中运行 Run Command 命令、自动化执行和操作。Run Command 和自动化都是 AWS Systems Manager 的功能。有关更多信息,请参阅 Amazon EventBridge 用户指南

开始前的准备工作

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

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

本主题说明了以下内容:

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

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

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

  2. 在导航窗格中,选择 Rules (规则),然后选择 Create rule (创建规则)

    –或者–

    如果 EventBridge 主页首先打开,请选择 Create rule (创建规则)

  3. 为规则输入名称和描述。

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

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

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

  6. 选择下一步

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

  8. 对于 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" ] } }
  9. 选择下一步

  10. 对于 Target 1(目标 1),选择一个目标类型和支持的资源。例如,如果选择 SNS topic (SNS 主题),为 Topic (主题) 选择一个选项。如果您选择 CodePipeline,则对于 Pipeline ARN(管道 ARN)输入一个管道 ARN。根据需要提供其他配置值。

    提示

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

  11. 选择下一步

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

  13. 选择下一步

  14. 选择创建规则