如何找出用于启动实例的AWS ACCESS KEY ID?

时间:2016-06-07 21:21:36

标签: amazon-web-services

我想创建一个工具来监控AWS未使用的实例,然后向启动实例的用户发送一封电子邮件,要求他们在不使用实例时将其关闭。

假设我有一个数据库,其中包含Access Key ID和我们公司启动EC2实例的用户的电子邮件地址之间的映射,我如何找到正在运行的EC2实例的Access Key ID?

是否有现有的软件或服务已经这样做了?

2 个答案:

答案 0 :(得分:1)

您不能这样做 - 用户和正在运行的实例之间并不总是存在关系。

考虑自动缩放:实例可以在线响应事件,运行几个小时,然后消失。无需人工干预。

您可以通过启用CloudTrail来提取有关创建它的用户的一些信息,但它不会识别使用了哪个密钥。请记住,用户可以拥有多个密钥。

如果您确实希望确保可以跟踪谁正在启动实例,请在策略中输入要求具有电子邮件地址的特定标记(例如“所有者”),并终止任何没有标记的实例组。 (您应该可以使用AWS Config规则执行此操作)

答案 1 :(得分:1)

所有实例都有一个与之关联的IAM用户。您可以从CloudTrail获取此信息,但它会显示过去两周的路径,因此您需要定期收集数据并存储。

我的方法是:我使用CloudTrail + Lambda的组合,并在实例启动时标记实例。标签可以是名称或电子邮件。当我看到未使用的实例时,我查询了标签并发送了标签标识的电子邮件。它完美无瑕。我将其发布为一个问题:Mandatory tagging when launching EC2 instance

检查我发布的已接受答案。了解AWS Lambda很有趣。 Lambda使用率低于免费套餐限制,我无需为使用AWS Lambda支付任何费用。