簡體   English   中英

CloudFormation 嵌套堆棧輸出限制

[英]CloudFormation nested stacks outputs limit

事實:

  • CloudFormation 輸出限制每個模板60個。
  • 我有 90 個資源要導出,所以我創建了以下結構:
    • parent_stack.template (包含下面的嵌套堆棧)
    • stack01.template (包含 45 個資源及其輸出)
    • stack02.template (包含 45 個資源及其輸出)

我的問題:

我需要導出這 90 個資源,但由於限制,我無法將它們導出到parent_stack.template中。

我可以在它們各自的stack01.templatestack02.template中導出它們,但是由於它們在 CloudFormation 創建它們時是嵌套的,因此它會添加一個隨機的字母數字字符串,例如Stack01-1B0HKOV4YRD6A所以我實際上不能使用邏輯名稱從任何地方的嵌套堆棧中導入但在父母。

我真的很感激這里的任何幫助。

提前致謝!!!

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

您可以引用嵌套的 output 變量。 看看這個草稿示例,這就像一個主要的雲形成腳本:

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 也需要 output 自己的東西

Outputs:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM