AWS Cloudformation 嵌套堆栈模板 - 如何处理本地开发和版本控制?

问题描述 投票:0回答:1

刚刚启动了一个简单的 AWS 无服务器项目来测试它,所以我在本地开发并在 GitLab 上托管该项目。

想尝试嵌套堆栈只是将当前模板文件分割成更小的部分,但是

TemplateUrl
属性值必须是位于S3存储桶中的模板文件的url,所以我不能简单地将我的堆栈资源移动到另一个本地 yaml 文件并将其包含在父文件中。

手动将嵌套堆栈模板文件上传到 S3 存储桶,然后从我的控制台运行

sam sync
恕我直言,看起来太复杂了,并且设置一个负责所有流程的管道对于一个简单的个人学习项目来说似乎工作量太大了。
最快的解决方案似乎是用可以在本地运行的脚本替换部署管道。

我知道 AWS 云服务适用于企业级项目,但我想知道是否有一种更简单的内置/官方方法来处理所有这些。

amazon-web-services deployment aws-cloudformation nested-stack
1个回答
0
投票

使用 AWS SAM 代替,它本质上是 CloudFormation 之上的一个薄层。它将消除手动将嵌套堆栈上传到 S3 的需要。例如:

Resources:
  nestedStackS3:
    Type: AWS::Serverless::Application
    DeletionPolicy: Delete
    UpdateReplacePolicy: Delete
    TimeoutInMinutes: 10
    Properties:
      Location: stacks/s3.yaml
      Parameters:
        stage: !Ref stage
      Tags:
        stage: !Ref stage
        app: aaa


  nestedStackLambda:
    Type: AWS::Serverless::Application
    Properties:
      TimeoutInMinutes: 10
      Location: stacks/lambda.yaml
      Parameters:
        stage: !Ref stage
        tenant: !Ref tenant

请参阅指南了解更多信息。我认为您会发现它对于构建应用程序更加优雅和实用。

© www.soinside.com 2019 - 2024. All rights reserved.