使用 Amazon CloudFormation 模板创建 CloudWatch 警报
在将跟踪配置为将日志文件传送到 CloudWatch 日志组之后,您可以创建 CloudWatch 指标筛选条件和警报来监视日志文件中的事件。例如,您可以指定一个事件,如 Amazon EC2 RunInstances
操作,让 CloudWatch 在您的账户中发生该事件时向您发送通知。您可以分别创建筛选条件和警报,或使用 Amazon CloudFormation 模板同时定义它们。
您可以原封不动地使用示例 CloudFormation 模板,或者将其作为创建您自己的模板的参考。
示例 CloudFormation 模板
CloudFormation 模板具有预定义的 CloudWatch 指标筛选条件和警报,这样,当您的 Amazon 账户中发生与安全相关的特定 API 调用时,您将会收到电子邮件通知。
该模板在位于以下位置的 zip 文件中提供:CloudWatch_Alarms_for_CloudTrail_API_Activity.zip。
该模板定义了用于监控以下资源类型的创建、删除和更新操作的指标筛选条件:
-
Amazon EC2 实例
-
IAM policy
-
Internet 网关
-
网络 ACL
-
安全组
当您的账户中发生 API 调用时,指标筛选条件会监控该 API 调用。如果该 API 调用超出了您指定的阈值,则会触发警报,CloudWatch 会向您发送电子邮件通知。
默认情况下,模板中的大多数筛选条件将在五分钟内发生某个监控的事件时触发警报。您可以根据自己的要求修改这些警报阈值。例如,您可以在 10 分钟内监控 3 个事件。要进行更改,则编辑模板,如果是在上传模板后,则在 CloudWatch 控制台
注意
由于 CloudTrail 通常每五分钟传送一次日志文件,因此应将警报时间段指定为五分钟或更长。
要查看模板中的指标筛选条件和警报以及触发电子邮件通知的 API 调用,请参阅 CloudFormation 模板内容。
使用模板创建 CloudFormation 堆栈
CloudFormation 堆栈是您作为单个单元配置和更新的相关资源的集合。下面的过程描述如何创建堆栈并验证接收通知的电子邮件地址。
使用模板创建 CloudFormation 堆栈
-
配置您的跟踪以将日志文件传送到 CloudWatch Logs 日志组。请参阅将事件发送到 CloudWatch Logs。
-
下载 CloudFormation 模板:CloudWatch_Alarms_for_CloudTrail_API_Activity.zip。
打开 Amazon CloudFormation 控制台,地址:https://console.aws.amazon.com/cloudformation
。 -
选择创建堆栈。
-
在 Select Template 页面上,对于 Name,键入一个堆栈名。例如,
CloudWatchAlarmsForCloudTrail
。 -
对于 Source(源),选择 Upload a template to Amazon S3(将模板上传到 Simple Storage Service(Amazon S3))。
-
选择 Choose File(选择文件),然后选择您下载的 Amazon CloudFormation 模板。
-
选择 Next(下一步)。
-
在 Specify Parameters 页面上,对于 Email,键入接收通知的电子邮件地址。
-
对于 LogGroupName,键入您在配置跟踪以将日志文件传送给 CloudWatch Logs 时指定的日志组名称。
-
选择 Next(下一步)。
-
对于 Options,您可以创建标签或配置其他高级选项。这些操作不是必需的。
-
选择 Next(下一步)。
-
在 Review 页面上,验证您的设置是否正确。
-
选择 Create(创建)。将在几分钟内创建堆栈。
-
创建堆栈后,您将通过指定的地址收到一封电子邮件。
-
在电子邮件中,选择 Confirm subscription(确认订阅)。当模板指定的警报被触发时,您将收到电子邮件通知。
CloudFormation 模板内容
下表显示了该模板中的指标筛选条件和警报、它们的用途以及触发电子邮件通知的 API 调用。当您的账户中出现一个或多个针对所列筛选条件的 API 调用时,将触发通知。
您可以在 CloudWatch 控制台
网络事件 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
指标筛选条件和警报 | 监控和发送以下对象的通知: | 由以下一个或多个 API 操作所触发的通知: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SecurityGroupChangesMetricFilter SecurityGroupChangesAlarm |
用于创建、更新和删除安全组的 API 调用。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NetworkAclChangesMetricFilter NetworkAclChangesAlarm |
用于创建、更新和删除网络 ACL 的 API 调用。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GatewayChangesMetricFilter GatewayChangesAlarm |
用于创建、更新和删除客户和 Internet 网关的 API 调用。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
VpcChangesMetricFilter VpcChangesAlarm |
用于创建、更新和删除虚拟私有云 (VPC)、VPC 对等连接以及到使用 |
|
Amazon EC2 事件 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
指标筛选条件和警报 | 监控和发送以下对象的通知: | 由以下一个或多个 API 操作所触发的通知: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EC2InstanceChangesMetricFilter EC2InstanceChangesAlarm |
EC2 实例的创建、终止、启动、停止和重启. |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EC2LargeInstanceChangesMetricFilter EC2LargeInstanceChangesAlarm |
4 倍和 8 倍大型 EC2 实例的创建、终止、启动、停止和重启. |
至少以下 API 操作之一:
及至少以下实例类型之一: instancetype=*.4xlarge instancetype=*.8xlarge |
CloudTrail 和 IAM 事件 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
指标筛选条件和警报 | 监控和发送以下对象的通知: | 由以下一个或多个 API 操作所触发的通知: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CloudTrailChangesMetricFilter CloudTrailChangesAlarm |
创建、删除和更新跟踪记录。发生跟踪日志记录开始和停止事件。 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ConsoleSignInFailuresMetricFilter ConsoleSignInFailuresAlarm |
控制台登录失败 |
和
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AuthorizationFailuresMetricFilter AuthorizationFailuresAlarm |
授权失败 |
导致此错误代码的任何 API 调用: 或
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IAMPolicyChangesMetricFilter IAMPolicyChangesAlarm |
对 IAM 策略的更改 |
|