如何在 AWS 上记录 EC2 操作?

How to log EC2 operations on AWS?

我们在 AWS 上运行大量实例和 ELB。最近我们经历了奇怪的行为。我们不知道是我们的 boto 脚本有问题还是 AWS 出了故障。这也可能是人为错误。

我们无法知道谁在 EC2 实例上做了什么,这是个问题。

这意味着:

有没有办法开始在 AWS 中记录 EC2 操作?

或者,EC2 事件是在 SQS 还是 SNS 上发送的?这样我们就可以监听事件而不是读取日志?

CloudTrail 服务是起点。这是文档的 link:Logging Amazon EC2 API Calls Using AWS CloudTrail

是的,正如@Thomas 所说,您可以使用 cloudTrail 记录 AWS 帐户上发生的所有事件。基本上,CloudTrail 以 JSON 格式记录所有 AWS API 调用,无论是您的应用程序还是用户使用控制台执行此操作。它还列出了 ARN,因此将能够跟踪特别是 运行 命令的人。日志可以在控制台中查看,也可以使用 API 查看。对于控制台,AWS 也刚刚推出了一些过滤器。唯一需要做的就是为您要监控的区域启用 CloudTrail。尽管建议采用良好的 IAM 策略来避免此类灾难。

可以在 cloudtrail 上设置 cloudwatch 日志,以便在发生特定事件时采取措施。

以下链接可能对您有所帮助。 http://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_started_top_level.html http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cw_send_ct_events.html

CloudTrail 是入场券,但是一旦您获得了数百万个事件,在 CloudTrail 上查看结果就不切实际了UI。

在这种情况下,您可以将输出通过管道传输到 Kibana/Logstash 或 sync and grep it.

之类的内容