私は簡単な質問があります。私は、雲の形成における値のエクスポート/インポートをテストしています。AWS/Cloudformation:パラメータ値を別のスタック(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
これは、クロススタック参照のことだので、私は、私は以前、「輸出・テスト・スタック」の3つのインスタンスを展開することを選択した場合のみ、「インポート・テスト・スタック」でEc2Instance2を展開します。これを行う方法?私は3つのインスタンスを展開することを選択した場合
だから、私は
私は2つを展開することを選択した場合、それは「インポート・スタック」でインスタンスを1つだけ展開する、別の2つのインスタンスを展開し、「インポート・スタック」で条件を使用したいですどのように条件が動作しているのかわかりませんが、方法を見つけることができない、相互参照スタックでの使用方法を知っています。
私はそれが愚かな例だと知っていますが、私はそれを可能な限り単純なテンプレートとしてテストしたかったのです。分離されたスタックを続行するか、別のスタックへの入力として1つのスタックからの出力を使用することができ、ネストされたスタックでnested stack.
を作成するためにそれらを組み合わせる:
Fn :: ImportValueは私にとって意味がありますが、条件をインポートする方法はまだ見つかりませんでした。なぜなら、条件は単純な文字列でなければならないからです。あるいは、条件をエクスポートして(おそらく出力経由で)どのようにしてその条件を他のスタックにインポートするかの簡単な例を教えてください。 –