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

Amazon web services AWS无服务器框架:嵌套堆栈或Cloudformation模板,amazon-web-services,amazon-cloudformation,serverless-framework,Amazon Web Services,Amazon Cloudformation,Serverless Framework,我使用的是serverless框架- 在部署无服务器堆栈之前,需要执行一些手动步骤- 创建S3存储桶 创建Cognito用户池、应用程序客户端等。 3 在上述步骤中创建的这些AWS资源的ARN在serverless.yml文件中配置为环境变量 除此之外,我希望避免在一个堆栈中达到200个资源的AWS cloudformation限制的可能问题 将此堆栈拆分为两部分的最佳方式/工具是什么 是否有任何示例,其中一个堆栈的输出用作另一个堆栈中的环境变量 我认为另一种选择是使用Cloudformati

我使用的是
serverless框架
-

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

  • 创建S3存储桶
  • 创建Cognito用户池、应用程序客户端等。 3
  • 在上述步骤中创建的这些AWS资源的ARN在serverless.yml文件中配置为环境变量

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

    将此堆栈拆分为两部分的最佳方式/工具是什么

    是否有任何示例,其中一个堆栈的输出用作另一个堆栈中的环境变量

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


    有更好的选择/工具吗?

    有。这是很有可能的

    假设您使用的是来自同一AWS帐户和地区的部署

    不要手动创建资源,而是使用serverless在AWS上部署这些资源,并使用:

    resources:
      Outputs:
        BucketName:
          Value:
            Ref: S3BucketResource
          Export:
            Name: VariableNameToImport
    
    您可以直接在主serverless.yml文件中导入这些变量名,并将其设置为环境变量,如:

    environment:
        S3BucketName:
            'Fn::ImportValue': VariableNameToImport
    
    选项2(更简单的方法)

    或者您可以简单地使用插件: