本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon CloudWatch 事件监控部署
您可以使用 Amazon CloudWatch Events 来检测 CodeDeploy 操作中实例或部署(“事件”)状态的变化并做出反应。然后,根据您创建的规则,当部署或实例进入您在规则中指定的状态时, CloudWatch 事件将调用一个或多个目标操作。根据状态更改的类型,您可能想发送通知,捕获状态信息,采取纠正措施,启动事件或采取其他操作。在 CodeDeploy 操作中使用 CloudWatch 事件时,您可以选择以下类型的目标:
-
AWS 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 实例。
本主题的其余部分描述了为创建 CloudWatch 事件规则的基本过程 CodeDeploy。但是,在创建用于 CodeDeploy 操作的事件规则之前,应执行以下操作:
-
完成 CloudWatch 活动先决条件。有关信息,请参阅 Amazon CloudWatch 活动先决条件。
-
熟悉事件中的事件、规则和目标。 CloudWatch 有关更多信息,请参阅什么是 Amazon CloudWatch 活动? 和新 CloudWatch 事件 — 跟踪和响应 AWS 资源的变化
。 -
创建将在您的事件规则中使用的目标。
要为以下 CloudWatch 各项创建事件规则 CodeDeploy:
打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/
。 -
在导航窗格中,选择 Events(事件)。
-
选择创建规则,然后在事件选择器下选择 AWS CodeDeploy。
-
指定详细信息类型:
-
要设置适用于所有实例和部署状态更改的规则,请选择 Any detail type,然后跳到步骤 6。
-
要制定仅适用于实例的规则,请选择特定详细信息类型,然后选择CodeDeploy 实例状态更改通知。
-
要制定仅适用于部署的规则,请选择特定详细信息类型,然后选择CodeDeploy 部署状态更改通知。
-
-
指定规则适用的状态更改:
-
要设置适用于所有状态更改的规则,请选择 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。