我previous query的问题,我们可以从AWS Lambda访问所有帐户堆栈及其信息吗?
我被要求编写一个脚本来验证所有堆栈集是否已通过将其日志放入splunk中而在相应的区域中创建/更新。
这是我的方法 - 创建一个简单的python(AWS Lambda)脚本来验证其堆栈集的所有区域,并将其日志信息更新到splunk(在每次创建或更新堆栈集时)。
python-trophosphere
或boto3
代码摘录将是:
client = boto3.client('cloudformation')
description = client.describe_stack_set()
但我不确定:
如果我没有走上正确的道路,建议我一个解决方案。
答案 0 :(得分:1)
可以按照你描述的方式完成。但是,在您的lambda中,您必须在调用describe_stack_set
之前在每个帐户中担任一个角色,以获取正确帐户(可能还有正确的区域)的信息。为了自动化,您可能必须自动配置信任运行lambda的帐户的角色。
实现此目的的另一种方法是在所有帐户上分发Lambda,以便跳过假设角色部分和帐户ID的硬编码。
我最喜欢这样做的方法是在每个堆栈中创建一个自定义资源或一个预定的lambda执行,这些堆栈在Splunk中生成一个可以在以后查询的日志。在Splunk中,当特定日志出现一段时间后,您可以触发警报。