【发布时间】:2021-05-28 06:35:27
【问题描述】:
使用 AWS CDK JAVA。 我正在创建一个具有 /26 的 CIDR 和四个 CIDR /28 的公共子网分布在 4 个 AZ 上的 VPC。
SubnetConfiguration subnetConfiguration = null;
subnetConfiguration = SubnetConfiguration.builder()
.name(("SN-" + propertyObject.getCoreProjectNumber() + propertyObject.getCoreSiteId()).toLowerCase())
.subnetType(software.amazon.awscdk.services.ec2.SubnetType.PUBLIC)
.cidrMask(28)
.build();
List<SubnetConfiguration> subnetList = new ArrayList<SubnetConfiguration>();
subnetList.add(subnetConfiguration);
vpc = Vpc.Builder.create(this, ("VPC-" + propertyObject.getCoreProjectNumber() + propertyObject.getCoreSiteId()).toLowerCase())
.cidr(26)
.enableDnsHostnames(false)
.maxAzs(4)
.subnetConfiguration(subnetList)
.vpnGateway(false)
.build();
这将按预期创建一个 VPC,其中 4 个 CIDR /28 的公共子网分布在 4 个 AZ 上。
当我使用此代码访问同一个 VPC 时:
List<String> subnetIdList=new ArrayList<String>();
for(ISubnet subnet: vpc.getPublicSubnets()) {
subnetIdList.add(subnet.getSubnetId());
}
System.out.println(subnetIdList);
它正好返回 3 个公共子网。
VPC99999/vpc-99999awuse1/sn-99999awuse1子网1
VPC99999/vpc-99999awuse1/sn-99999awuse1子网2
VPC99999/vpc-99999awuse1/sn-99999awuse1Subnet3
我的智慧到此为止。任何人都知道我做错了什么或者这里是否有错误? 谢谢, 迈克
【问题讨论】:
标签: java amazon-web-services amazon-vpc aws-cdk