首页 > 解决方案 > AWS CloudFormation 的全局环境变量

问题描述

有没有办法在 Lambdas 的 AWS CloudFormation yaml 文件中包含全局环境变量?

目前我们正在将 SSM 参数存储用于全局变量,但我们不想再使用它了。

我期待有这样的东西:

Environment:
  Variables:
    variable1: xxx // local variables
    variable2: xxx
    ...
  ${file(./globalvariables.yml)} // global variables

甚至更好:每个 lambda 都默认包含全局环境变量,而无需显式调用它。

这可能吗?或者你会建议什么方法?提前致谢!

标签: amazon-web-servicesaws-lambdaamazon-cloudformation

解决方案


遗憾的是,我不知道通过 CloudFormation 为 Lambdas 设置环境变量的预定义默认值 - 一种可能的选择是在 CloudFormation 中添加一个包含所有配置的 lambda 层并从那里提取值,而不是在 CloudFormation 中使用 env 变量。

这样做的好处是,如果值发生更改,您只需更新一次图层,然后更新 lambda 以使用新图层,该图层可能是单个参数,而不是手动更新每个参数。

此处的文档:https ://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

另一种选择是按照 ServerMonkey 的建议使用 AWS Secrets Manager 或 SSM Parameter Store。


推荐阅读