我们可以从 AWS Lambda 访问所有帐户堆栈及其信息吗?
Can we access all the account stacks and their information from AWS Lambda?
我的另一个问题 ,我们可以从 AWS Lambda 访问所有帐户堆栈及其信息吗?
我被要求编写一个脚本,通过将日志放入 splunk 来验证所有堆栈集是否在其适当的区域中 created/updated。
这是我的方法 - 创建一个简单的 python (AWS Lambda) 脚本来验证所有区域的堆栈集并将其日志信息更新到 splunk(在每次创建或更新堆栈集时)。
- 硬编码 python 脚本中的所有帐户
例如。账户 = [535353..., 435..., 645542..., 等等]
- 使用
python-trophosphere
或 boto3
遍历所有帐户及其区域
- 并且对于每个区域 运行 一个描述堆栈集或描述事件的查询来验证(在 create/update 脚本有 运行 之后)堆栈集是否有 create/updated.
代码摘录为:
client = boto3.client('cloudformation')
description = client.describe_stack_set()
- 解析描述以验证该帐户区域的特定堆栈集的状态
- 更新 splunk 日志中所有已解析的描述或(整个描述)。
但我不确定:
- 如果我能够从一个
拉姆达脚本。
- 方法对不对
如果我不在正确的道路上,请给我建议一个解决方案。
按照你说的方法就可以了。但是,在您的 lambda 中,您必须在调用 describe_stack_set
之前在每个帐户中承担一个角色,以获得正确帐户(可能还有正确区域)的信息。为了自动化,您可能必须自动配置信任 lambda 所在帐户的角色 运行。
实现此目的的另一种方法是在所有账户上分发 Lambda,这样您就可以跳过承担角色部分和账户 ID 的硬编码。
我最喜欢的方法是在每个堆栈中创建自定义资源或计划的 lambda 执行,在 Splunk 中生成日志,稍后可以查询。在 Splunk 中,您可以在一段时间内未显示此特定日志时触发警报。
我的另一个问题
我被要求编写一个脚本,通过将日志放入 splunk 来验证所有堆栈集是否在其适当的区域中 created/updated。
这是我的方法 - 创建一个简单的 python (AWS Lambda) 脚本来验证所有区域的堆栈集并将其日志信息更新到 splunk(在每次创建或更新堆栈集时)。
- 硬编码 python 脚本中的所有帐户 例如。账户 = [535353..., 435..., 645542..., 等等]
- 使用
python-trophosphere
或boto3
遍历所有帐户及其区域
- 并且对于每个区域 运行 一个描述堆栈集或描述事件的查询来验证(在 create/update 脚本有 运行 之后)堆栈集是否有 create/updated.
代码摘录为:
client = boto3.client('cloudformation')
description = client.describe_stack_set()
- 解析描述以验证该帐户区域的特定堆栈集的状态
- 更新 splunk 日志中所有已解析的描述或(整个描述)。
但我不确定:
- 如果我能够从一个 拉姆达脚本。
- 方法对不对
如果我不在正确的道路上,请给我建议一个解决方案。
按照你说的方法就可以了。但是,在您的 lambda 中,您必须在调用 describe_stack_set
之前在每个帐户中承担一个角色,以获得正确帐户(可能还有正确区域)的信息。为了自动化,您可能必须自动配置信任 lambda 所在帐户的角色 运行。
实现此目的的另一种方法是在所有账户上分发 Lambda,这样您就可以跳过承担角色部分和账户 ID 的硬编码。
我最喜欢的方法是在每个堆栈中创建自定义资源或计划的 lambda 执行,在 Splunk 中生成日志,稍后可以查询。在 Splunk 中,您可以在一段时间内未显示此特定日志时触发警报。