我已经在默认的VPC中部署了私有子网(Java):
var stack = new Stack(app, "system-resource", StackProps.builder().env(env).build());
final IVpc vpc = Vpc.fromLookup(stack, "default-vpc", VpcLookupOptions.builder().isDefault(true).build());
final AtomicInteger index = new AtomicInteger();
var zones = stack.getAvailabilityZones();
var subnets = zones.stream().map(z -> {
var subnet = new PrivateSubnet(stack, "priavte-subnet-" + index.getAndIncrement(), PrivateSubnetProps.builder()
.vpcId(vpc.getVpcId())
.cidrBlock(String.format(cidrTemplate, start.get()))
.availabilityZone(z)
.build());
start.addAndGet(increment);
return subnet;
}).collect(Collectors.toList());
然后我尝试使用SubnetSelection:
final IVpc vpc = Vpc.fromLookup(this, "default-vpc", VpcLookupOptions.builder().isDefault(true).build());
final SubnetSelection vpcSubnets = SubnetSelection.builder().subnetType(SubnetType.PRIVATE).build();
然后出现了异常:
An exception occured while executing the Java class. There are no 'Private' subnet groups in this VPC. Available types: Public
[错误] 错误: 在此VPC中没有“私有”子网组。可用类型: 公共
它如何确定选择哪个VPC?
为什么我之前创建的所有私有子网现在被“标记”为公共并且无法选择?