参考无服务器框架中现有的 Cloudformation 堆栈输出

rum*_*ums 2 amazon-web-services aws-cloudformation serverless-framework

我们正在评估是否对我们的一些新的 AWS 应用程序基础设施使用无服务器。我们大量使用 Cloudformation(由 Ansible 部署),因此我们需要能够干净地引用现有 Cloudformation 堆栈的输出 - 一个直接的例子是获取现有 AWS 网络基础设施的子网 ID 以供 lambda 函数使用。

经过大量浏览后,我还没有找到一种开箱即用的方法来做到这一点。我们现有的 Cloudformation 堆栈的命名方式是这样的:如果我只需输入堆栈的名称和所需的输出变量,我就可以在各种环境中可靠地获得所需的输出。我看到的一个可能的解决方案是使用 aws cli 提取变量并将它们作为环境变量传递给无服务器,但如果可能的话,我希望有一种更干净的方法。

wjo*_*dan 5

如果无服务器框架允许您在 CloudFormation 模板中使用内部函数,则您可以通过从一个堆栈导出堆栈输出值(使用部分中的属性)并在另一个堆栈中使用内部函数来在 CloudFormation 模板中创建跨堆栈引用。堆栈来引用导出的值。ExportsOutputsFn::ImportValue