【问题标题】:Can we access all the account stacks and their information from AWS Lambda?我们可以从 AWS Lambda 访问所有账户堆栈及其信息吗?
【发布时间】:2018-07-15 00:36:19
【问题描述】:

我的previous query 的另一个问题,我们可以从 AWS Lambda 访问所有帐户堆栈及其信息吗?

我被要求编写一个脚本,通过将日志放入 splunk 来验证所有堆栈集是否已在其相应区域中创建/更新。

这是我的方法 - 创建一个简单的 python (AWS Lambda) 脚本来验证其堆栈集的所有区域,并将其日志信息更新到 splunk(在堆栈集的每次创建或更新时)。

  1. 在 python 脚本中对所有帐户进行硬编码 例如。帐户 = [535353...、435...、645542...等]
  2. 使用python-trophosphereboto3 遍历所有帐户及其区域
  3. 为每个区域运行一个查询来描述堆栈集或描述事件以验证(在运行创建/更新脚本之后)堆栈集是否已创建/更新。

代码摘录为:

client = boto3.client('cloudformation')
description = client.describe_stack_set()
  1. 解析描述以验证该帐户区域的特定堆栈集的状态
  2. 更新 splunk 日志中所有已解析的描述或(整个描述)。

但我不确定:

  • 如果我能够从 拉姆达脚本。
  • 方法对不对

如果我没有走上正确的道路,请建议我一个解决方案。

【问题讨论】:

    标签: python lambda amazon-cloudformation


    【解决方案1】:

    可以按照您描述的方式完成。但是,在您的 lambda 中,您必须在调用 describe_stack_set 之前在每个帐户中担任一个角色,以获取正确帐户(可能还有正确区域)的信息。为了自动化,您可能必须自动配置信任运行 lambda 的帐户的角色。

    实现此目的的另一种方法是在所有账户上分发 Lambda,这样您就可以跳过承担角色部分和账户 ID 的硬编码。

    我最喜欢这样做的方法是在每个堆栈内创建自定义资源或计划的 lambda 执行,以在 Splunk 中生成日志,以便以后查询。在 Splunk 中,您可以在此特定日志一段时间未出现时触发警报。

    【讨论】:

    • 谢谢,非常感谢。 +1 分布式 lambda 建议。
    猜你喜欢
    • 2017-09-02
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 2019-04-18
    相关资源
    最近更新 更多