簡體   English   中英

共享來自 CloudFormation 嵌套堆棧的輸出

[英]Share outputs from CloudFormation nested stack

我有一個父堆棧調用 2 個嵌套堆棧,我需要將這些嵌套堆棧的值導入父堆棧。 例子:

嵌套堆棧:

 "Outputs": {
    "TargetGroup":{ 
      "Value": {
        "Ref": "ggTG"
       },
       "Export": {
                "Name": {
                    "Fn::Sub": "${AWS::StackName}-TargetGroup"
                }
        }
    },
}

當我執行所有嵌套堆棧時,我在子堆棧中得到這些 output 但我想在父堆棧中得到這個 output 以從另一個獨立堆棧訪問。

原因是如果我在另一個獨立堆棧中導入,我不能使用嵌套的名稱,因為它是在運行時創建的。

堆棧導入:

"TargetGroupARN" : {"Fn::ImportValue" : {"Fn::Sub" : "${StackName}-TargetGroup"}}

正如我所說,我只知道父堆棧的名稱,所以我必須從父堆棧而不是子堆棧中導出。

AWS CloudFormation Template Snippets - AWS CloudFormation ,您似乎可以像這樣引用嵌套堆棧的輸出:

{
    "AWSTemplateFormatVersion" : "2010-09-09",
    "Resources" : {
        "myStack" : {
           "Type" : "AWS::CloudFormation::Stack",
           "Properties" : {
              "TemplateURL" : "https://s3.amazonaws.com/cloudformation-templates-us-east-1/S3_Bucket.template",
              "TimeoutInMinutes" : "60"
           }
        }
    },
    "Outputs": {
       "StackRef": {"Value": { "Ref" : "myStack"}},
       "OutputFromNestedStack" : {
             "Value" : { "Fn::GetAtt" : [ "myStack", "Outputs.BucketName" ] }
       }
    }
}

因此,只需在嵌套堆棧中使用普通的 Output(無需導出),然后從頂層堆棧中按上述方式引用它。

暫無
暫無

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

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