Amazon web services 将自定义弹性IP与NAT网关与AWS CDK关联
在挣扎了几个小时之后,我的问题是。我正在使用CDK以当前最简单的形式创建VPC:Amazon web services 将自定义弹性IP与NAT网关与AWS CDK关联,amazon-web-services,amazon-ec2,amazon-vpc,aws-cdk,elastic-ip,Amazon Web Services,Amazon Ec2,Amazon Vpc,Aws Cdk,Elastic Ip,在挣扎了几个小时之后,我的问题是。我正在使用CDK以当前最简单的形式创建VPC: let vpc = new Vpc(this, "myVpc", {maxAzs: 1}); 这给了我一个公共子网和一个拥有所有网关(internet和NAT)的私有子网。我的NAT网关从AWS池获得了一个公共EIP。当然,当我销毁堆栈并重新创建它时,我将从AWS获得一个新的EIP,但是这个我不想要 我想要的是: 在我的CDK项目外部创建弹性IP(通过CLI或AWS控制台手动),并将其连接到我
let vpc = new Vpc(this, "myVpc", {maxAzs: 1});
这给了我一个公共子网和一个拥有所有网关(internet和NAT)的私有子网。我的NAT网关从AWS池获得了一个公共EIP。当然,当我销毁堆栈并重新创建它时,我将从AWS获得一个新的EIP,但是这个我不想要
我想要的是:
在我的CDK项目外部创建弹性IP(通过CLI或AWS控制台手动),并将其连接到我的NAT GW,这样即使在销毁堆栈后,我也可以将我的(外部)EIP重新连接到“新”NAT GW
因此,必须有一种方法,使AWS::EC2::NatGateway不是由VPC自动创建的,而是通过适当的EIP关联手动创建的,然后将其连接到VPC/公共子网。这与我可以明确定义子网并将它们与VPC(而不是CDK construct magic)关联的方式几乎相同。您可以在最后一篇文章中参考这里
您可以定义EIP分配,然后在CDK部署时将其分配到Nat网关
当然,您必须首先手动创建EIP