2014-05-06 169 views
8

我有一些EC2实例,我不知道是谁启动了它们。哪个用户启动了EC2实例?

有没有办法知道谁启动了一个特定的实例?

+1

无法找出谁启动了实例。我也在寻找这个功能。 – slayedbylucifer

+0

你有什么参考吗? – Vame

+0

我已经多次阅读[EC2 API文档](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html)。我发现没有公开此信息的EC2 API。因此我无法从Console/CLI/SDK中获取这些信息。 – slayedbylucifer

回答

10

不幸的是这些信息不能直接通过API调用 - 你现在有两个选择:根据您的需要

  1. ,你可以通过使用DescribeInstances API动作看key-name接近你的目标用于启动该实例(如果有的话,它是可选的,尽管通常就位) - 假设您已遵循安全最佳实践并且每IAM用户(而不是共享密钥)使用专用的EC2密钥对,则密钥通常应表示用户谁开始实例;)
  2. 现在你可以激活AWS CloudTrail,这记录为您的帐户AWS API调用并提供日志文件到您提供准确你是后的信息:

    所记录的信息包括所述API调用者的身份,该 时间API调用时,API调用者的源IP地址, 请求参数以及AWS 服务返回的响应元素。

AWS CloudTrail是一个早已逾期并且非常宝贵的工具,可以为您的AWS使用情况提供前所未有的洞察力;很容易 get started和只有剩下几个注意事项目前:

+1

非常好的答案。我最近发现了CloudTrail,我完全同意。 – Vame

+0

CloudTrail使用'Event time','User name','Event name','Resource type','Resource name'跟踪所有的API活动。 –

0

展开上Steffen Opel关于记录即服务的答案: 您可以使用第三方服务v清理CloudTrail数据或设置您自己的解决方案。

Amazon Parters将帮助您找到这样的服务。 如果你想围绕这个建立你自己的解决方案,那么这个TrailDash也可以帮助你。