Amazon CloudWatch Events
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

什么是 Amazon CloudWatch Events?

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 ECS 任务

  • Systems Manager Run Command

  • Systems Manager 自动化

  • AWS Batch 个作业

  • Step Functions 状态机

  • AWS CodePipeline 中的管道

  • AWS 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 事件示例

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

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

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

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

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

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

本页内容: