使用输入变压器将数据传递到 Automation - AWS Systems Manager

使用输入变压器将数据传递到 Automation

此 AWS Systems Manager Automation 教程展示了如何使用 Amazon EventBridge 的输入转换器功能,从实例状态更改事件中提取 Amazon Elastic Compute Cloud (Amazon EC2) 实例的 instance-id。自动化是 AWS Systems Manager 的一项功能。我们使用输入转换器将该数据作为 InstanceId 输入参数传递给 AWS-CreateImage 运行手册目标。当任何实例更改为 stopped 状态时,均将触发该规则。

有关使用输入转换器的更多信息,请参阅 Amazon EventBridge 用户指南中的教程:使用输入转换器自定义要传递给事件目标的内容

开始前的准备工作

验证是否已向 Systems Manager 自动化服务角色添加了 EventBridge 所需的权限和信任策略。有关更多信息,请参阅 Amazon EventBridge 用户指南中的管理 EventBridge 资源访问权限概述

将输入转换器与自动化结合使用
  1. 打开位于 https://console.aws.amazon.com/events/ 的 Amazon EventBridge 控制台。

  2. 在导航窗格中,选择规则

  3. 选择创建规则

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

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

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

  6. 对于规则类型,选择具有事件模式的规则

  7. 选择下一步

  8. 对于事件源,选择AWS 事件或 EventBridge 合作伙伴事件

  9. Event pattern(事件模式)部分,选择 Event pattern form(事件模式表单)。

  10. 对于 Event source(事件源),选择 AWS services(服务)。

  11. AWS service(服务)中,选择 EC2

  12. 对于事件类型,请选择 EC2 实例状态更改通知

  13. 适用于 Specific state(s)(特定状态),选择 stopped(已停止)。

  14. 选择 Next(下一步)

  15. 对于目标类型,选择AWS 服务

  16. 对于 Target(目标),选择 Systems Manager Automation

  17. 对于 Document(文档),选择 AWS-CreateImage

  18. Configure automation parameter(s)(配置自动化参数)部分中,选择 Input Transformer(输入转换器)。

  19. 对于 Input path(输入路径),输入 {"instance":"$.detail.instance-id"}

  20. 对于 Template(模板),输入 {"InstanceId":[<instance>]}

  21. 对于 Execution role(执行角色),选择 Use existing role(使用现有角色),然后选择您的自动化服务角色。

  22. 选择 Next(下一步)

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

  24. 选择 Next(下一步)

  25. 查看规则详细信息并选择创建规则