教程:使用 EventBridge 将事件中继到 AWS Systems Manager Run Command - Amazon EventBridge
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:使用 EventBridge 将事件中继到 AWS Systems Manager Run Command

当某些事件发生时,您可以使用 Amazon EventBridge 来调用 AWS Systems Manager Run Command 并对 Amazon EC2 实例操作执行。在本教程中,将设置 Systems Manager Run Command 以运行 shell 命令并配置在 Amazon EC2 Auto Scaling 组中启动的每个新实例。本教程假设您已向 Amazon EC2 Auto Scaling 组分配一个标签,其中使用 environment 作为键并使用 production 作为值。

创建 EventBridge 规则

  1. 通过以下网址打开 Amazon EventBridge 控制台:https://console.amazonaws.cn/events/

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

  3. 选择 Create rule

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

  5. 对于 Define pattern (定义模式),请执行以下操作:

    1. 选择 Event pattern

    2. 选择 Pre-defined pattern by service (服务预定义的模式)

    3. 对于 Service provider (服务提供商),选择 AWS

    4. 对于 Service Name,选择 Auto Scaling

    5. 对于 Event Type (事件类型),选择 Instance Launch and Terminate (实例启动和终止)

    6. 依次选择 Specific instance event(s)EC2 Instance-launch Lifecycle Action

    7. 默认情况下,该规则与区域中任何 Amazon EC2 Auto Scaling 组匹配。要使该规则与特定组匹配,请选择 Specific group name(s) (选择组名),然后选择一个或多个组。

  6. 对于 Select event bus (选择事件总线),选择 AWS default event bus (AWS 默认事件总线)。当您账户中的某个 AWS 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  7. 对于 Target (目标),选择 SSM Run Command

  8. 对于 Document (文档),选择 AWS-RunShellScript (Linux)

    对于目标键,键入 tag:environment。对于 Target value (s) (目标值),输入 production,然后选择 Add (添加)

  9. Configure automation parameter (s) (配置自动化参数) 下,执行以下操作:

    1. 选择 Constant (常量)

    2. 对于 Commands (命令),键入 shell 命令并选择 Add (添加)。对所有要在实例启动时运行的命令重复此步骤。

    3. 如果需要,请在 WorkingDirectoryExecutionTimeout 中输入适当的信息。

  10. EventBridge 可以创建要运行的事件所需的 IAM 角色:

    • 要自动创建 IAM 角色,请选择 Create a new role for this specific resource (为此特定资源创建新角色)

    • 要使用您之前创建的 IAM 角色,请选择 Use existing role (使用现有角色)

  11. 选择 Create rule