查找终止的EC2实例计数



是否有办法找到所有地区在最近1/2/3/4/5或6个月内启动的EC2实例的数量?(运行并终止)。从下面类似的问题中,我只能得到当前状态(运行|停止|终止),但不能得到过去几个月的任何信息。如何查看所有区域中所有正在运行的Amazon EC2实例?

请建议。这纯粹是为了审计目的。提前谢谢。

我建议结合存储在S3和Athena中的CloudTrail日志来执行查询。单独使用CloudTrail的问题是,在日志滚出之前,您有三个月的时间窗口。你方要求的期限最远可达6个月。

要将日志文件交付到S3桶,CloudTrail必须具有所需的权限,并且不能配置为Requester Pays桶。当您在CloudTrail控制台中创建或更新路径时,创建Amazon S3存储桶时,CloudTrail会自动将所需的权限附加到存储桶上。

要设置雅典娜,您可以通过CloudTrail控制台配置:

  1. 在https://console.aws.amazon.com/cloudtrail/
  2. 打开CloudTrail控制台
  3. 在导航窗格中选择"Event history">
  4. 选择Create Athena table
  5. 对于存储位置,使用向下箭头选择存储日志文件的Amazon S3桶以供trail查询。
  6. 选择"创建表"。创建表时使用默认名称,其中包含Amazon S3 bucket的名称。

那么你可以在Athena中运行类似的查询:

SELECT eventname,
useridentity.principalid,
awsregion,
eventtime
FROM cloudtrail_logs
WHERE eventtime >= '2021-02-01T00:00:00Z'
AND eventtime < '2021-08-30T00:00:00Z'
AND (eventname ='RunInstances')

引用

为CloudTrail创建S3桶策略
使用Athena查询CloudTrail日志
Athena Search CloudTrail日志

AWS CloudTrail通过提供AWS帐户的活动历史记录,使您更容易确保遵守内部政策和监管标准。

如果启用了CloudTrail, AWS可以选择查看事件历史记录。请浏览此AWS页面以查看明确的说明。

如果您喜欢使用AWS CLI,那么本文档提供了所有详细信息。