Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将自定义弹性IP与NAT网关与AWS CDK关联_Amazon Web Services_Amazon Ec2_Amazon Vpc_Aws Cdk_Elastic Ip - Fatal编程技术网

Amazon web services 将自定义弹性IP与NAT网关与AWS CDK关联

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控制台手动),并将其连接到我

在挣扎了几个小时之后,我的问题是。我正在使用CDK以当前最简单的形式创建VPC:

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