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 运行命令
Systems Manager Automation
AWS Batch 个作业
Step Functions 状态机
CodePipeline 中的管道
CodeBuild 项目
Amazon Inspector 评估模板
Amazon SNS 主题
Amazon SQS 队列
内置目标:EC2 CreateSnapshot API call、EC2 RebootInstances API call、EC2 StopInstances API call 和 EC2 TerminateInstances API call。
另一个 AWS 账户的默认事件总线
Concepts
在您开始使用 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 格式的事件。
规则的目标必须与规则位于同一区域中。