Amazon cloudformation 从aws cdk生成的VPC定义中获取EIP作为输出
有一个vpc定义,通过Amazon cloudformation 从aws cdk生成的VPC定义中获取EIP作为输出,amazon-cloudformation,aws-cdk,Amazon Cloudformation,Aws Cdk,有一个vpc定义,通过 const vpc = new ec2.Vpc(this, 'SomeVPC', { cidr: '10.0.0.0/16', maxAzs: 2, }); 在引擎盖下,它为NAT网关创建了2个EIP "SomeVPCPublicSubnet1EIP58E3D6C5": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } } 如何获取对它们的引
const vpc = new ec2.Vpc(this, 'SomeVPC', {
cidr: '10.0.0.0/16',
maxAzs: 2,
});
在引擎盖下,它为NAT网关创建了2个EIP
"SomeVPCPublicSubnet1EIP58E3D6C5": {
"Type": "AWS::EC2::EIP",
"Properties": {
"Domain": "vpc"
}
}
如何获取对它们的引用并通过CfnOutput
导出?大概是这样的:
new CfnOutput(this, "ExternalIPOutput", {value: <some magic call to get SomeVPCPublicSubnet1EIP58E3D6C5.ref()>})
newcfnoutput(这是“ExternalIPOutput”,{value:})
已经有一段时间了,但我今天遇到了这个问题,这就是我如何处理它并抓住EIP的方法-
代码片段:
//创建新的专有网络
const vpc=新的ec2.vpc(此“vpc”{
cidr:props.customCidr,
马克萨兹:2,
子网配置:[
{
姓名:'私人',
子网类型:ec2.subnetType.PRIVATE
},
{
名称:'公共',
子网类型:ec2.subnetType.PUBLIC
}
]
});
//获得弹性IP
vpc.publicSubnets.forEach((子网,索引)=>{
//找到弹性IP
const EIP=subnet.node.tryFindChild('EIP')作为ec2.CfnEIP
新的cdk.CfnOutput(this,`output eip-${index}`,{value:eip.ref});
})
输出:
已经有一段时间了,但我今天遇到了这个问题,这就是我如何处理它并抓住EIP的方法- 代码片段:
//创建新的专有网络
const vpc=新的ec2.vpc(此“vpc”{
cidr:props.customCidr,
马克萨兹:2,
子网配置:[
{
姓名:'私人',
子网类型:ec2.subnetType.PRIVATE
},
{
名称:'公共',
子网类型:ec2.subnetType.PUBLIC
}
]
});
//获得弹性IP
vpc.publicSubnets.forEach((子网,索引)=>{
//找到弹性IP
const EIP=subnet.node.tryFindChild('EIP')作为ec2.CfnEIP
新的cdk.CfnOutput(this,`output eip-${index}`,{value:eip.ref});
})
输出:
您想挑选什么<代码>CfnOutput打印字符串only@AmitBaranes只需将IP本身导入,然后将其在单独的堆栈中导入到安全性grpI建议使用ssm,这样就更容易写入ssm并从中读取。你所说的IP本身是什么意思?请提供更多信息information@AmitBaranes你用过aws cdk吗?你可以在那里定义vpc,它在引擎盖下创建了一系列不同的组件。其中之一是EIP。我需要通过CDKAPI获取对它的引用。这是我的问题。因此,我需要打印IP的堆栈输出您希望选择什么<代码>CfnOutput打印字符串only@AmitBaranes只需将IP本身导入,然后将其在单独的堆栈中导入到安全性grpI建议使用ssm,这样就更容易写入ssm并从中读取。你所说的IP本身是什么意思?请提供更多信息information@AmitBaranes你用过aws cdk吗?你可以在那里定义vpc,它在引擎盖下创建了一系列不同的组件。其中之一是EIP。我需要通过CDKAPI获取对它的引用。这是我的问题。因此,我希望在打印IP的地方进行堆栈输出。这正是我所需要的!很高兴我能帮忙:)谢谢,这正是我需要的!很高兴我能帮忙:)