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

Lea*_*oCR 7 json vpc amazon-web-services aws-cloudformation

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

就像是:

{ "Fn::GetAtt" : [ "MyVPCName", "VPCId" ] }
Run Code Online (Sandbox Code Playgroud)

Bra*_*hes 9

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

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


小智 5

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

    "VpcId": { "Type": "String" },
Run Code Online (Sandbox Code Playgroud)

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

aws --profile profile_name --region us-east-1 ec2 describe-vpcs --filters 'Name=tag:Name,Values=MY_VPC_NAME'
Run Code Online (Sandbox Code Playgroud)

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