什么是 Amazon CloudWatch Events? - Amazon CloudWatch 事件

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

什么是 Amazon CloudWatch Events?

注意

Amazon EventBridge is the preferred way to manage your events. CloudWatch Events and EventBridge are the same underlying service and API, but EventBridge provides more features. Changes you make in either CloudWatch or EventBridge will appear in each console. For more information, see Amazon EventBridge.

Amazon CloudWatch Events 提供近乎实时的系统事件流,这些系统事件描述 Amazon Web Services (AWS) 资源的变化。通过使用可快速设置的简单规则,您可以匹配事件并将事件路由到一个或多个目标函数或流。CloudWatch Events 会在发生操作更改时感知到这些更改。CloudWatch Events 将响应这些操作更改并在必要时采取纠正措施,方式是发送消息以响应环境、激活函数、进行更改并捕获状态信息。

您还可以使用 CloudWatch Events 来计划使用 cron 或 rate 表达式在某些时间自行触发的自动化操作。有关更多信息,请参阅规则的计划表达式

您可以将以下 AWS 服务配置为 CloudWatch Events 的目标:

  • Amazon EC2 实例

  • AWS Lambda 函数

  • Amazon Kinesis Data Streams 中的流

  • Amazon Kinesis Data Firehose 中的传输流

  • Amazon CloudWatch Logs 中的日志组

  • Amazon ECS 任务

  • Systems Manager Run Command

  • Systems Manager 自动化

  • AWS Batch 个作业

  • Step Functions 状态机

  • CodePipeline 中的管道

  • CodeBuild 项目

  • Amazon Inspector 评估模板

  • Amazon SNS 主题

  • Amazon SQS 队列

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

  • 另一个 AWS 账户的默认事件总线

概念

在您开始使用之前 CloudWatch Events,应了解以下概念:

  • 事件 – 事件指示 AWS 环境中的更改。AWS 资源可以在状态发生变化时生成事件。例如,Amazon EC2 在 EC2 实例的状态从待处理更改为正在运行时生成事件,Amazon EC2 Auto Scaling 在启动或终止实例时生成事件。AWS CloudTrail 在您执行 API 调用时发布事件。您可以生成自定义应用程序级事件并将它们发布到 CloudWatch Events。您还可以设置定期生成的计划事件。有关生成事件的服务的列表,以及来自每项服务的示例事件,请参阅 受支持服务的 CloudWatch Events 事件示例

  • 规则 – 规则匹配传入事件并将其路由到目标进行处理。单个规则可路由到多个目标,所有这些目标将并行处理。规则不按特定顺序处理。这可让组织的不同部门能够查找和处理他们感兴趣的事件。规则可以定制发送到目标的 JSON,方法是仅传递特定部分或使用常量来覆盖 JSON。

  • 目标 – 目标负责处理事件。目标可包括 Amazon EC2 实例、AWS Lambda 函数、Kinesis 流、Amazon ECS 任务、Step Functions 状态机、Amazon SNS 主题、Amazon SQS 队列和内置目标。目标接收 JSON 格式的事件。

    规则的目标必须与规则位于同一区域中。

以下服务可与 CloudWatch Events 一起使用:

  • AWS CloudTrail 可用于监控对您的账户的 CloudWatch Events API 的调用(包括由 AWS 管理控制台、AWS CLI 和其他服务进行的调用)。当 CloudTrail 日志记录打开时,CloudWatch Events 将日志文件写入 S3 存储桶。每个日志文件包含一个或多个记录,具体取决于为满足某个请求要执行的操作数量。有关更多信息,请参阅使用 AWS CloudTrail 记录 Amazon CloudWatch Events API 调用

  • AWS CloudFormation 可让您对 AWS 资源进行建模和设置。您可创建一个模板来描述所需的 AWS 资源,而 AWS CloudFormation 则可为您预置和配置这些资源。您可以在 AWS CloudFormation 模板中使用 CloudWatch Events 规则。有关更多信息,请参阅 AWS CloudFormation 用户指南 中的 AWS::Events::Rule

  • AWS Config 可用于记录 AWS 资源发生的配置更改。这些信息包括资源之间的关联方式以及资源以前的配置方式,让您了解资源的配置和关系如何随着时间的推移而更改。您还可以创建 AWS Config 规则,以检查资源是否符合企业或组织的策略。有关更多信息,请参阅 AWS Config 开发人员指南

  • AWS Identity and Access Management (IAM) 可以帮助您安全地控制用户对 AWS 资源的访问。通过 IAM 可以控制哪些人可以使用您的 AWS 资源(身份验证)、他们可以使用哪些资源以及如何使用这些资源(授权)。有关.

  • Amazon Kinesis Data Streams 可实现快速而近乎持续的数据接收和聚合。使用的数据类型包括 IT 基础设施日志数据、应用程序日志、社交媒体、市场数据源和 Web 点击流数据。由于数据引入和处理的响应时间是实时的,因此处理通常是轻量级的。有关更多信息,请参见 Amazon Kinesis Data Streams 开发人员指南

  • AWS Lambda 可用于构建快速响应新信息的应用程序。将您的应用程序代码作为 Lambda 函数上传,Lambda 会在高可用性计算基础设施上运行您的代码。Lambda 执行计算资源的所有管理工作,包括服务器和操作系统维护、容量预置、自动扩展、代码和安全补丁部署以及代码监控和日志记录。有关更多信息,请参见 AWS Lambda Developer Guide