基于 Parameter Store 事件设置通知或触发操作 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

本节中的主题说明了如何使用亚马逊 EventBridge 和亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 来通知您有关参数变更的信息。Amazon Systems Manager您可以创建 EventBridge 规则,以便在创建、更新或删除参数或参数标签版本时通知您。尽最大努力发出事件。您可以收到与参数策略相关的更改或状态通知,例如,参数过期、将过期或者在指定时间段内未更改。

注意

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

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

开始前的准备工作

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

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

本主题说明了以下内容:

  • 如何创建 EventBridge 规则,根据发生在您的中的一个或多个参数上的事件来调用目标。Amazon Web Services 账户

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

为 Systems Manager 参数或参数策略配置 EventBridge 规则
  1. 打开亚马逊 EventBridge 控制台,网址为 https://console.aws.amazon.com/events/

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

    –或者–

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

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

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

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

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

  6. 请选择 Next(下一步)

  7. 对于事件源,请将默认Amazon事件或 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. 请选择 Next(下一步)

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

    提示

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

  11. 选择 Next(下一步)

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

  13. 请选择 Next(下一步)

  14. 选择创建规则