【问题标题】:CloudFormation nested stacks outputs limitCloudFormation 嵌套堆栈输出限制
【发布时间】:2020-09-17 05:04:43
【问题描述】:

事实:

  • CloudFormation 输出限制每个模板的 60
  • 我有 90 个资源要导出,所以我创建了以下结构:
    • parent_stack.template(包含以下嵌套堆栈)
    • stack01.template(包含 45 个资源及其输出)
    • stack02.template(包含 45 个资源及其输出)

我的问题:

我需要导出这 90 个资源,但由于限制,我无法将它们导出到 parent_stack.template

我可以在它们各自的 stack01.templatestack02.template 中导出它们,但是由于它们在 CloudFormation 创建它们时是嵌套的,它会添加一个随机的字母数字字符串,例如 Stack01-1B0HKOV4YRD6A 所以我实际上不能使用逻辑名称从嵌套堆栈在父级以外的任何地方。

我真的很感激这里的任何帮助。

提前致谢!!!

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation nested-stack


    【解决方案1】:

    您可以引用嵌套的输出变量。看看这个草稿示例,这就像一个主要的云形成脚本:

    Description: >
        Some desc
    
    AWSTemplateFormatVersion: 2010-09-09
    
    Resources:
    
      MyStackA:
        Type: AWS::CloudFormation::Stack
        Properties:
          TemplateURL: "mystackA.yml"
          Parameters:
            ProjectName: "myprojectA"
    
      MyStackB:
        Type: AWS::CloudFormation::Stack
        Properties:
          TemplateURL: "mystackB.yml"
          Parameters:
            ProjectName: "myprojectB"
    
      MyStackC:
        Type: AWS::CloudFormation::Stack
        Properties:
          TemplateURL: "mystackC.yml"
          Parameters:
            ProjectName: "myprojectC"
            OutputFromMyStackA: !GetAtt MyStackA.Outputs.myoutputA
            OutputFromMyStackB: !GetAtt MyStackB.Outputs.myoutputB
    

    MyStackC 使用来自 MyStackA 和 MyStackB 的参数。 MyStackC 脚本需要一个参数部分:

    Parameters:
    
      OutputFromMyStackA:
        Description: param from stack a
        Type: String
    
      OutputFromMyStackB:
        Description: param from stack b
        Type: String
    

    StackA 和 StackB 也需要输出自己的东西

    Outputs:
    
      myoutputA:
        Description: the myoutputA
        Value: !Ref SomeStackAResource   ====> this references something inside the script for StackA
    

    【讨论】:

    • 感谢您的回复。我知道我们可以引用嵌套堆栈的输出问题是当我需要在父堆栈中输出超过 60 个时。
    【解决方案2】:

    2020 年 10 月推出:https://aws.amazon.com/about-aws/whats-new/2020/10/aws-cloudformation-now-supports-increased-limits-on-five-service-quotas/

    您可以在 AWS CloudFormation 模板中声明的最大输出数量:200

    【讨论】:

      猜你喜欢
      • 2017-05-16
      • 2020-10-31
      • 1970-01-01
      • 2017-11-25
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多