簡體   English   中英

AWS/Cloudformation:如何將參數值導出/導入到另一個堆棧 (YAML)

[英]AWS/Cloudformation: How to export/import parameter value to another stack (YAML)

我有一個簡單的問題。 我正在測試雲形成中值的導出/導入。

問題是:如何根據來自另一個堆棧的鏈接條件創建資源?

我想我應該從其他堆棧導入值,但不知道如何......

這是我的“出口測試堆棧”

 AWSTemplateFormatVersion: '2010-09-09' Description: Export Parameters: EnvType: Description: How many Instances you want to deploy? Default: two Type: String AllowedValues: - two - three ConstraintDescription: must specify number of deployed Instances Conditions: Deploy3EC2: ,Equals [:Ref EnvType: three ] Resources: Ec2Instance1: Type: AWS::EC2::Instance Properties. InstanceType: t2:micro SecurityGroupIds: - sg-5d011027 ImageId: ami-0b33d91d Ec2Instance2: Type: AWS::EC2::Instance Properties. InstanceType: t2:micro SecurityGroupIds: - sg-5d011027 ImageId: ami-0b33d91d Ec2Instance3: Type: AWS::EC2::Instance Condition: Deploy3EC2 Properties. InstanceType: t2:micro SecurityGroupIds: - sg-5d011027 ImageId: ami-0b33d91d Outputs: EC2Conditions: Description: Number of deployed instances Value: !Ref EnvType Export: Name: blablabla

這是我的“導入測試堆棧”

 AWSTemplateFormatVersion: '2010-09-09' Description: Import Resources: Ec2Instance1: Type: AWS::EC2::Instance Properties: InstanceType: t2.micro SecurityGroupIds: - sg-7309dd0a ImageId: ami-70edb016 Ec2Instance2: Type: AWS::EC2::Instance Condition: ?????? <<<<<<<<< Properties: InstanceType: t2.micro SecurityGroupIds: - sg-7309dd0a ImageId: ami-70edb016

這是關於跨堆棧引用的,所以只有當我選擇在之前的“export-test-stack”中部署三個實例時,我才想在“import-test-stack”中部署 Ec2Instance2。 這個怎么做?

所以如果我選擇部署三個實例,我想使用“import stack”中的條件來部署另外兩個實例,如果我選擇部署兩個,它只會在“import-stack”中部署一個實例

我知道條件如何工作,但仍然無法找到方法,如何在交叉引用堆棧中使用。

我知道這是一個愚蠢的例子,但我只是想在盡可能簡單的模板上進行測試。

您有兩種選擇:繼續使用分離的堆棧或組合它們以創建嵌套堆棧。

使用嵌套堆棧,您可以使用一個堆棧的輸出作為另一個堆棧的輸入。

如果您想繼續使用分離的堆棧,請使用Fn::ImportValue函數來導入從另一個堆棧導出的輸出值。

導出堆棧輸出值頁面中已涵蓋這兩個角度。 此外,如果您選擇使用Fn::ImportValue跨堆棧參考演練可能會對您有所幫助。

這將使您導入正確的值: Fn::ImportValue: EC2Conditions

您也可以使用規則。 您可以根據輸出的值來制定規則。

我們不能在這里使用導入值,因為 cloudformation 不允許在參數中使用內在值。 但是有一個在 AWS 中使用 SSM(AWS 系統管理參數存儲)參數的選項,它允許我們使用在堆棧 A 中創建的堆棧 B 中的參數

請查看以下來自 AWS 知識中心的文章鏈接

https://aws.amazon.com/premiumsupport/knowledge-center/cloudformation-systems-manager-parameter/

暫無
暫無

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

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