我正在将我的 CDK 堆栈从 0.30.0 移植到 0.39.0。我有一个来自我的 AWS 账户的预定义 VPC,我只是将它导入到堆栈中。相同的子网在 0.30.0 中运行良好,但在 0.39.0 中出现错误消息:
“此 VPC 中没有‘公共’子网。使用不同的 VPC 子网选择。”
我的堆栈中有一个 VPC 和 3 个子网。我还有一个通往 dynamodb 和 s3 的网关。
有人遇到过这个问题吗?
除了导入 VPC,我尝试删除所有其他代码。
在 0.30.0 中,我使用这些行并且没有问题。
vpc = ec2.VpcNetwork.import(this, 'myvpc', {
vpcId: 'vpc-xxxxxxxxxxxxxxxx',
availabilityZones: ['ap-southeast-2a','ap-southeast-2b','ap-southeast-2c'],
privateSubnetIds: ['subnet-xxxxxxxxxxxx', 'subnet-xxxxxxxxxxxx', 'subnet-xxxxxxxxxxxx']
});
在 0.39.0 中,我将其更改为:
vpc = ec2.Vpc.fromVpcAttributes(this, 'myvpc', {
vpcId: "vpc-xxxxxxxxxxxxxxxx",
availabilityZones: ['ap-southeast-2a','ap-southeast-2b','ap-southeast-2c'],
privateSubnetIds: ['subnet-xxxxxxxxxxxx', 'subnet-xxxxxxxxxxxx', 'subnet-xxxxxxxxxxxx']
});