使用 Amazon CloudWatch 事件监控部署 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon CloudWatch 事件监控部署

您可以使用 Amazon CloudWatch Events 来检测 CodeDeploy 操作中实例或部署(“事件”)状态的变化并做出反应。然后,根据您创建的规则,当部署或实例进入您在规则中指定的状态时, CloudWatch 事件将调用一个或多个目标操作。根据状态更改的类型,您可能想发送通知,捕获状态信息,采取纠正措施,启动事件或采取其他操作。在 CodeDeploy 操作中使用 CloudWatch 事件时,您可以选择以下类型的目标:

  • Amazon Lambda 函数

  • Kinesis Streams

  • Amazon SQS 队列

  • 内置目标(EC2 CreateSnapshot API callEC2 RebootInstances API callEC2 StopInstances API callEC2 TerminateInstances API call

  • Amazon SNS 主题

下面是一些用例:

  • 每当部署失败时使用 Lambda 函数向 Slack 通道传送通知。

  • 将有关部署或实例的数据推送到 Kinesis 流,以支持全面、实时的状态监控。

  • 当您指定的部署或实例事件发生时,使用 CloudWatch 警报操作自动停止、终止、重启或恢复 Amazon EC2 实例。

本主题的其余部分描述了为创建 CloudWatch 事件规则的基本过程 CodeDeploy。但是,在创建用于 CodeDeploy 操作的事件规则之前,应执行以下操作:

要为以下 CloudWatch 各项创建事件规则 CodeDeploy:
  1. 打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 Events(事件)

  3. 选择创建规则,然后在事件选择器下选择 Amazon CodeDeploy

  4. 指定详细信息类型:

    • 要设置适用于所有实例和部署状态更改的规则,请选择 Any detail type,然后跳到步骤 6。

    • 要制定仅适用于实例的规则,请选择特定详细信息类型,然后选择CodeDeploy 实例状态更改通知

    • 要制定仅适用于部署的规则,请选择特定详细信息类型,然后选择CodeDeploy 部署状态更改通知

  5. 指定规则适用的状态更改:

    • 要设置适用于所有状态更改的规则,请选择 Any state

    • 要设置仅适用于部分状态更改的规则,请选择 Specific state(s),然后从列表中选择一个或多个状态值。下表列出了您可以选择的状态值:

      部署状态值 实例状态值

      FAILURE

      START

      STOP

      QUEUED

      READY

      成功

      FAILURE

      START

      READY

      成功

  6. 指定规则适用于哪些 CodeDeploy 应用程序:

    • 要设置适用于所有应用程序的规则,请选择 Any application,然后跳到步骤 8。

    • 要设置仅适用于一个应用程序的规则,请选择 Specific application,然后从列表中选择该应用程序的名称。

  7. 指定规则适用的部署组:

    • 要设置适用于与所选应用程序关联的所有部署组的规则,请选择 Any deployment group

    • 要设置仅适用于与所选应用程序关联的一个部署组的规则,请选择 Specific deployment group(s),然后从列表中选择该部署组的名称。

  8. 审查您的规则设置以确保其符合事件监控要求。

  9. Targets 区域,选择 Add target*

  10. Select target type 列表中,选择您准备为此规则使用的目标类型,然后配置该类型所需的任何其他选项。

  11. 选择 Configure details(配置详细信息)

  12. Configure rule details 页面上,为规则键入名称和说明,然后选择 State 框以立即启用该规则。

  13. 如果您对规则满意,请选择 Create rule