【问题标题】:AWS Serverless framework : Nested Stack or Cloudformation templatesAWS 无服务器框架:嵌套堆栈或 Cloudformation 模板
【发布时间】:2020-03-09 07:09:50
【问题描述】:

我正在使用serverless framework -

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

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

  1. 创建 S3 存储桶
  2. 创建 Cognito 用户池、应用程序客户端等。 3.....

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

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

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

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

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

有更好的选择/工具吗?

【问题讨论】:

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


    【解决方案1】:

    是的。这是很有可能的。

    假设您使用从相同的 AWS 账户和区域进行部署

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

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

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

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

    选项 2(更简单的方法)

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

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 2020-08-14
      • 2017-04-20
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      • 2017-11-25
      相关资源
      最近更新 更多