繁体   English   中英

是否可以使用AWS Cloud Formation获得VPC ID?

[英]Is it possible to get a VPC Id using AWS Cloud Formation?

是否可以使用Cloud Formation JSON获取VPC ID?

就像是:

{ "Fn::GetAtt" : [ "MyVPCName", "VPCId" ] }

如果您在同一模板中创建了VPC,则可以使用“Ref”内置函数来获取VPC的资源ID,请参阅http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide的“返回值”部分。 /aws-resource-ec2-vpc.html

如果您想要引用现有VPC(如默认VPC),则上述操作无效。 您可以将VPC的Id作为参数传递给模板,并使用内置的“Ref”在您需要的地方使用它。

对于预先存在的VPC,请从参数开始:

    "VpcId": { "Type": "String" },

然后你可以在你的启动脚本中使用这样的东西:

aws --profile profile_name --region us-east-1 ec2 describe-vpcs --filters 'Name=tag:Name,Values=MY_VPC_NAME'

这样,您可以在启动堆栈之前找到VPC。 通过这种方式,您可以启动到不同的区域或帐户,而无需始终手动查找该信息。

布拉德利的回答是正确的。 我还补充说,如果您发现需要“缝合”在单独模板中创建的资源,您可能需要查看嵌套堆栈。 另一个选择是添加一些生成模板的代码层(例如cfn-pyplates),并使用AWS API跨堆栈执行这些查找。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM