【发布时间】:2021-04-16 12:31:55
【问题描述】:
我在 CloudFormation 中有 2 个堆栈。一个是创建一个带有几个子网的 vpc,这些子网被导出以便在其他堆栈中使用。这个想法是让这些子网在其他堆栈中使用。 vpc 堆栈正确导出值,但我无法将它们导入第二个堆栈,因为它使用字符串列表。
堆栈 1:
PrivateSubnets:
Description: "A list of the public subnets"
Value: !Join [ ",", [ !Ref PrivateSubnet1, !Ref PrivateSubnet2 ]]
Export:
Name: !Sub "${StagingArea}-PrivateSubnets"
PublicSubnet1:
Description: "Reference to the publi subnet in the 1st Availability Zone"
Value: !Ref PublicSubnet1
PublicSubnet2:
Description: "A reference to the public subnet in the 2nd Availability Zone"
Value: !Ref PublicSubnet2
PrivateSubnet1:
Description: "A reference to the private subnet in the 1st Availability Zone"
Value: !Ref PrivateSubnet1
Export:
Name: !Sub "${StagingArea}-PrivateSubnet1"
PrivateSubnet2:
Description: "A reference to the private subnet in the 2nd Availability Zone"
Value: !Ref PrivateSubnet2
Export:
Name: !Sub "${StagingArea}-PrivateSubnet2"
当我尝试将 ImportValue 导入我的第二个堆栈时,它不起作用。下面的堆栈 2:
DbSubnetGroup:
Type: AWS::RDS::DBSubnetGroup
Properties:
DBSubnetGroupDescription: !Sub "${StagingArea} RDS DB Subnet Group"
SubnetIds:
- !ImportValue 'Fn::Sub': '{$StagingArea}-PrivateSubnet1'
- !ImportValue 'Fn::Sub': '{$StagingArea}-PrivateSubnet2'
是否可以将第一个堆栈导出的值放入第二个堆栈?我尝试了各种选项,但似乎都没有效果。
【问题讨论】:
-
我注意到您有一些带有答案的问题,但没有一个答案被接受。接受好的答案不仅是一种好的做法,而且可以帮助他人并消除重复。如果所有答案都没有帮助,那很好,但如果您不接受有帮助的答案,ppl 将来可能会跳过您的问题。
-
@Marcin,对此感到抱歉。我相信我在过去提出了 2 个问题,我也用问题的解决方案回答了自己。不过,我会牢记这一点。
-
ImportValue和当前问题的进展如何? -
现在可以正常使用了,回复你的代码是sn-p。
标签: amazon-web-services parameters amazon-cloudformation