【问题标题】:Find the terminated EC2 instances count查找终止的 EC2 实例计数
【发布时间】:2021-10-28 21:31:00
【问题描述】:
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
aws-cli
ec2-api-tools
【解决方案1】:
AWS CloudTrail 通过在您的 AWS 账户中提供活动历史记录,让您更轻松地确保遵守内部政策和监管标准。
如果您启用了 CloudTrail,AWS 可以选择查看事件历史记录。请浏览此AWS page 以查看清晰的说明。
如果您喜欢使用 AWS CLI,this documentation 会提供所有详细信息。
【解决方案2】:
我建议结合存储在 S3 和 Athena 中的 CloudTrail 日志来执行查询。单独使用 CloudTrail 的问题在于,在日志滚动之前您有 3 个月的时间窗口。您的要求最长可达六个月。
要将日志文件传送到 S3 存储桶,CloudTrail 必须具有所需的权限,并且不能将其配置为 Requester Pays 存储桶。当您在 CloudTrail 控制台中创建或更新跟踪时创建 Amazon S3 存储桶时,CloudTrail 会自动将所需权限附加到存储桶。
要设置 Athena,您可以通过 CloudTrail 控制台进行配置:
- 在https://console.aws.amazon.com/cloudtrail/ 打开 CloudTrail 控制台
- 在导航窗格中,选择事件历史记录。
- 选择创建 Athena 表。
- 对于存储位置,使用向下箭头选择存储日志文件以供跟踪查询的 Amazon S3 存储桶。
- 选择创建表。该表是使用包含 Amazon S3 存储桶名称的默认名称创建的。
然后你可以在 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')
参考文献
Create S3 Bucket Policy for CloudTrail
Query CloudTrail logs with Athena
Athena Search CloudTrail Logs