gpt4 book ai didi

aws-cloudformation - 获取 EIP 作为 aws-cdk 生成的 VPC 定义的输出

转载 作者:行者123 更新时间:2023-12-03 07:28:45 26 4
gpt4 key购买 nike

通过

有一个 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()>})

最佳答案

已经有一段时间了,但我今天遇到了这个问题,这就是我设法处理它并获取 EIP 的方法 -

代码片段:


// Create new VPC
const vpc = new ec2.Vpc(this, 'VPC', {
cidr: props.customCidr,
maxAzs: 2,
subnetConfiguration: [
{
name: 'Private',
subnetType: ec2.SubnetType.PRIVATE
},
{
name: 'Public',
subnetType: ec2.SubnetType.PUBLIC
}
]
});

// Get Elastic IP
vpc.publicSubnets.forEach((subnet, index) => {
// Find the Elastic IP
const EIP = subnet.node.tryFindChild('EIP') as ec2.CfnEIP
new cdk.CfnOutput(this, `output-eip-${index}`, { value: EIP.ref });
})

输出:

enter image description here

关于aws-cloudformation - 获取 EIP 作为 aws-cdk 生成的 VPC 定义的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60931504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com