是否有一种方法可以让AWS创建日志,以便人们可以跟踪对哪些内容和时间进行了哪些更改?
我们现在拥有的最接近的东西是ElasticBeanstalk事件-但这仅告诉您AWS做了什么,而没有告诉您更改了哪些设置导致事件。
#1 楼
AWS提供了CloudTrail服务,该服务可跟踪您帐户中完成的大多数API调用。然后将它们存储在指定的S3存储桶中的文件中。https://aws.amazon.com/cloudtrail/
使用CloudTrail,您可以看到谁或哪个服务调用了哪个更改-在许多情况下还包括哪些参数被使用。
不幸的是,它目前不支持所有服务。
#2 楼
有多种AWS服务可以帮助您解决此问题,这实际上取决于您的确切需求,哪种才最适合您。每种功能都有不同的功能(和成本)。提到了CloudTrail,但是考虑到您的问题(在@Evgeny的答案的评论中提到),我想到的第一个选择是AWS Config服务。它会在某个时间点(在S3存储桶中)存储您的AWS配置的“快照”,但也可以将所有更改发送到SNS主题。然后,您可以根据需要处理这些问题。例如,在人流量少的帐户中,这些帐户直接进入了Slack;在流量较高的帐户上,我正在跟踪有关SNS主题的
NumberOfMessagesPublished
指标,以了解是否进行了比平时更多的更改。AWS Config还提供了“规则”服务;这些比我期望的要贵一些,但是根据您的需求,它们可能会有用。只是不要像我在玩耍时那样一次激活所有这些……每个规则的当月费用立即适用。 ;)(但是您可以使用Config而不使用规则-这就是我目前正在做的事情。)还有
还有Trusted Advisor,它没有完全满足您的要求,但是可能方便地针对工程师如何配置您的基础结构进行某些检查,例如是否有人打开了S3存储桶。对于业务级别支持计划或更高级别的计划,它是最有用的,因为否则它的许多检查将被阻止。
然后有CloudCheckr之类的第三方工具,结合了AWS Cost Explorer,Trusted Advisor,Config, CloudTrail,CloudWatch,Inspector和GuardDuty。如果您想深入了解但节省您自己配置所有内容的时间,则很有用。
另外,您可以使用Terraform或CloudFormation之类的工具管理基础架构,并要求必须通过这些工具进行所有更改。然后,您可以将配置文件/模板提交给源代码管理,甚至可以针对CI中的实时基础架构对其进行测试,如果有人进行了非跟踪更改,则构建失败。这样,您的提交历史记录将成为您的审核日志-但这确实需要对您的工程师进行纪律检查!
评论
该答案可能还应该提到AWS Config。
– Michael-sqlbot
17年5月14日17:22
@ Michael-sqlbot你是对的。请自己添加它作为答案。 :)
– Dawny33♦
17年5月15日在9:31
AWS Config不是审核日志。这是一个能够对事件进行反应的系统。因此,它更像是防火墙,而不是防火墙审核日志。与几乎免费的CloudTrail相比,它实际上非常昂贵。
– Evgeny Zislis
17年5月15日在9:48