Amazon CloudWatch 事件
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

什么是 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 Streams 中的流

  • Amazon Kinesis Firehose 中的传输流

  • Amazon ECS 任务

  • SSM Run Command

  • SSM Automation

  • Step Functions 状态机

  • AWS CodePipeline 中的管道

  • Amazon Inspector 评估模板

  • Amazon SNS 主题

  • Amazon SQS 队列

  • 内置目标

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

概念

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

  • 事件—事件表示 AWS 环境中的更改。AWS 资源可以在其状态更改时生成事件。例如,Amazon EC2 会在 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 存储桶。每个日志文件包含一个或多个记录,具体取决于为满足某个请求要执行的操作数量。有关更多信息,请参阅 在 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 CloudWatch Events 的身份验证和访问控制

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

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

本页内容: