我正在尝试将现有的非默认VPC导入我的CDK应用程序。我已经看到了很多有关从Lookup升级VPC的问题,而没有很多解决方案。我在函数vpc.fromLookup返回“找不到匹配的任何VPC”时遇到问题。 我提供了这些过滤器和环境。帐户和区域也在堆栈中设置。我只是想不出为什么找不到VPC。我已经三重检查了VPC ID和名称,它们全部存在。真的很感激,因为我是AWS和CDK的新手。
我也尝试仅使用tagName或VPCId,但仍然遇到相同的错误。
[/ MyStack错误]找不到匹配的任何VPC {“ account”:“ 00000000”,“ region”:“ ca-central-1”,“ filter”:{“ tag:aws-cdk:subnet-type”:“ private”,“ vpc-id”:“ vpc -00000000“,” tag:Name“:” vpc“,” isDefault“:” false“},” returnAsymmetricSubnets“:true} 发现的错误
const vpc = ec2.Vpc.fromLookup(this, "VPC", { vpcName: vpcName, isDefault: false,
vpcId: vpcId, tags: { "aws-cdk:subnet-type": "private" },
});
env: {
account: process.env.CDK_DEPLOY_ACCOUNT || process.env.CDK_DEFAULT_ACCOUNT,
region: process.env.CDK_DEPLOY_REGION || process.env.CDK_DEFAULT_REGION,
},
提前谢谢!
答案 0 :(得分:0)
问题已解决。 我的问题是将BastionHostLinux设置为SubnetType Public,这就是为什么我收到错误消息“此VPC中没有'$ {subnetType}'子网组”。这使我认为我需要在VPC中添加标签。确保将标签过滤器添加到我的VPC足以解决该错误,但随后出现“找不到与之匹配的VPC ...”。所以我学会了–不要依赖错误消息...
更改后的VPC
some-lib-3.14.0.143-SNAPSHOT.jar
some-lib-3.14.0.143-20200708.101204-1.jar
到
const vpc = ec2.Vpc.fromLookup(this, "VPC", { vpcName: vpcName, isDefault: false,
vpcId: vpcId, tags: { "aws-cdk:subnet-type": "private" }, },
并且导入了VPC没问题。