什么是 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 call
、EC2 RebootInstances API call
、EC2 StopInstances API call
和EC2 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 格式的事件。
规则的目标必须与规则位于同一区域中。
相关 Amazon 服务
以下服务可与 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 开发人员指南。