本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过 Amazon CloudWatch Events 监控部署
您可以在 CodeDeploy vents 操作中使用 Amazon CloudWatch Events 检测实例或部署状态的更改(称为 “事件”)并对这些更改采取相应的操作。然后,根据您创建的规则,当部署或实例进入在创建的规则中指定的状态时,CloudWatch Events 将调用一个或多个目标操作。根据状态更改的类型,您可能想发送通知,捕获状态信息,采取纠正措施,启动事件或采取其他操作。在 CodeDeploy 操作中使用 CloudWatch Events 时,可以选择以下类型的目标:
-
Amazon Lambda 函数
-
Kinesis Streams
-
Amazon SQS 队列
-
内置目标(
EC2 CreateSnapshot API call
、EC2 RebootInstances API call
、EC2 StopInstances API call
, 和EC2 TerminateInstances API call
) -
Amazon SNS 主题
下面是一些用例:
-
每当部署失败时使用 Lambda 函数向 Slack 通道传送通知。
-
将有关部署或实例的数据推送到 Kinesis 流,以支持全面、实时的状态监控。
-
当发生指定的部署或实例事件时,使用 CloudWatch 警报操作停止、终止、重启或恢复 Amazon EC2 实例。
本主题的其余内容介绍为 CodeDeploy 创建 CloudWatch Events 规则的基本步骤。然而,在创建事件规则以用于 CodeDeploy 操作之前,您应该执行以下操作:
-
完成 CloudWatch 事件的先决条件。想要了解有关信息,请参阅Amazon CloudWatch Events 的前提.
-
熟悉 CloudWatch Events 中的事件、规则和目标。有关更多信息,请参阅 。什么是 Amazon CloudWatch Events?和新的 CloudWatch 事件 — 跟踪并响应对对您的Amazon资源
. -
创建将在您的事件规则中使用的目标。
要为 CodeDeploy 创建 CloudWatch Events 规则:
访问 https://console.aws.amazon.com/cloudwatch/
,打开 CloudWatch 控制台。 -
在导航窗格中,选择 Events (事件)。
-
选择创建规则,然后在事件选择器下选择 Amazon CodeDeploy。
-
指定详细信息类型:
-
要设置适用于所有实例和部署状态更改的规则,请选择 Any detail type,然后跳到步骤 6。
-
要设置仅适用于实例的规则,请选择 Specific detail type,然后选择 CodeDeploy Instance State-change Notification。
-
要设置仅适用于部署的规则,请选择 Specific detail type,然后选择 CodeDeploy Deployment State-change Notification。
-
-
指定规则适用的状态更改:
-
要设置适用于所有状态更改的规则,请选择 Any state。
-
要设置仅适用于部分状态更改的规则,请选择 Specific state(s),然后从列表中选择一个或多个状态值。下表列出了您可以选择的状态值:
部署状态值 实例状态值 FAILURE
START
STOP
QUEUED
READY
成功
FAILURE
START
READY
成功
-
-
指定规则适用的 CodeDeploy 应用程序:
-
要设置适用于所有应用程序的规则,请选择 Any application,然后跳到步骤 8。
-
要设置仅适用于一个应用程序的规则,请选择 Specific application,然后从列表中选择该应用程序的名称。
-
-
指定规则适用的部署组:
-
要设置适用于与所选应用程序关联的所有部署组的规则,请选择 Any deployment group。
-
要设置仅适用于与所选应用程序关联的一个部署组的规则,请选择 Specific deployment group(s),然后从列表中选择该部署组的名称。
-
-
审查您的规则设置以确保其符合事件监控要求。
-
在 Targets 区域,选择 Add target*。
-
在 Select target type 列表中,选择您准备为此规则使用的目标类型,然后配置该类型所需的任何其他选项。
-
选择 Configure details (配置详细信息)。
-
在 Configure rule details 页面上,为规则键入名称和说明,然后选择 State 框以立即启用该规则。
-
如果您对规则满意,请选择 Create rule。