什么是 Amazon CloudWatch Events? - Amazon CloudWatch Events
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是 Amazon CloudWatch Events?

注意

Amazon EventBridge 是管理事件的首选方式。CloudWatch Events 和 EventBridge 是相同的底层服务和 API,但 EventBridge 提供了更多功能。您在 CloudWatch 或 EventBridge 中所作的更改将显示在每个控制台中。有关更多信息,请参阅 Amazon EventBridge

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

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

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

  • Amazon EC2 实例

  • Amazon Lambda 函数

  • Amazon Kinesis Data Streams 中的流

  • Amazon Kinesis Data Firehose 中的交付流

  • 在 Amazon CloudWatch Logs 中记录组

  • Amazon ECS 任务

  • Systems Manager 运行命令

  • Systems Manager Automation

  • Amazon Batch 个作业

  • Step Functions 状态机

  • CodePipeline 中的管道

  • CodeBuild 项目

  • Amazon Inspector 评估模板

  • Amazon SNS 主题

  • Amazon SQS 队列

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

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

Concepts

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

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

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

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

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

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

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

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

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

  • Amazon Identity and Access Management (IAM) 可以帮助您安全地控制用户对 Amazon 资源的访问。通过 IAM 可以控制哪些人可以使用您的 Amazon 资源(身份验证)、他们可以使用哪些资源以及如何使用这些资源(授权)。有关更多信息,请参阅 IAM 用户指南

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

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