AWS无服务器框架:嵌套堆栈或Cloudformation模板

时间:2019-11-13 13:11:37

标签: amazon-web-services amazon-cloudformation serverless-framework

我正在使用serverless framework-

https://serverless.com/framework/docs/providers/aws/guide/serverless.yml/

在部署无服务器堆栈之前,需要执行一些手动步骤-

  1. 创建S3存储桶
  2. 创建Cognito用户池,App客户端等。 3 .....

在上述步骤中创建的这些AWS资源的ARN,在serverless.yml文件中配置为环境变量。

除此之外,我想避免在一个堆栈中达到200个资源的AWS cloudformation限制的可能问题。

将堆栈分为两部分的最佳方法/工具是什么?

是否有示例将一个堆栈的输出用作另一个堆栈中的环境变量?

我正在考虑的另一种选择是使用Cloudformation模板,该模板由无服务器框架创建,然后在嵌套的CF堆栈中使用。

还有更好的选择/工具吗?

1 个答案:

答案 0 :(得分:0)

是的。这很有可能。

假设您正在使用从同一AWS帐户和区域进行部署

使用无服务器而不是手动创建资源,在AWS上部署这些资源并使用:

resources:
  Outputs:
    BucketName:
      Value:
        Ref: S3BucketResource
      Export:
        Name: VariableNameToImport

您可以将这些变量名称直接导入到您的serverless.yml主文件中,并将其设置为ENVIRONMENT变量,例如:

environment:
    S3BucketName:
        'Fn::ImportValue': VariableNameToImport

选项2(更简单的方法)

或者您可以简单地使用插件:serverless-plugin-split-stacks