使用AWS CDK将自定义弹性IP与NAT网关相关联

时间:2020-09-04 10:19:14

标签: amazon-web-services amazon-ec2 amazon-vpc aws-cdk elastic-ip

经过几个小时的努力,这是我的问题。我目前正在使用CDK以最简单的形式创建VPC:

let vpc = new Vpc(this, "myVpc", {maxAzs: 1});

这使我得到一个公共子网和一个带有所有网关(互联网和NAT)的私有子网。我的NAT网关从AWS池中获得了公共EIP。当然,当我销毁堆栈并重新创建堆栈时,我会从AWS获得新的EIP,但是我不想这样做。

我想要的是 在CDK项目之外(手动通过CLI或AWS控制台)创建一个弹性IP,并将其附加到我的NAT GW,这样,即使在破坏堆栈之后,我也可以将(外部)EIP重新附加到“新” NAT GW

因此,必须有一种方法让VPC自动创建AWS :: EC2 :: NatGateway,但使用适当的EIP关联手动将其创建,然后将其附加到VPC /公共子网。我可以以几乎相同的方式明确定义子网并将其与VPC关联,而不是与CDK结合使用。

1 个答案:

答案 0 :(得分:1)

您可以在上一篇文章中引用https://github.com/aws/aws-cdk/issues/4067

您可以定义EIP分配,然后在部署CDK时将其分配给Nat Gateway。

当然,您必须首先手动创建EIP。