如何在 AWS 上记录 EC2 操作?
How to log EC2 operations on AWS?
我们在 AWS 上运行大量实例和 ELB。最近我们经历了奇怪的行为。我们不知道是我们的 boto 脚本有问题还是 AWS 出了故障。这也可能是人为错误。
我们无法知道谁在 EC2 实例上做了什么,这是个问题。
这意味着:
- EC2 实例creation/termination
- EC2 实例 start/stop/reboot
- Register/Deregister 来自 ELB 的 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.
之类的内容
我们在 AWS 上运行大量实例和 ELB。最近我们经历了奇怪的行为。我们不知道是我们的 boto 脚本有问题还是 AWS 出了故障。这也可能是人为错误。
我们无法知道谁在 EC2 实例上做了什么,这是个问题。
这意味着:
- EC2 实例creation/termination
- EC2 实例 start/stop/reboot
- Register/Deregister 来自 ELB 的 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.
之类的内容