Terraform部署AWS子网报错:两个公网子网CIDR为何无效?
AWS子网创建失败:InvalidSubnet.Range 报错原因
报错根本原因
AWS对子网的CIDR块有严格限制:子网的前缀长度只能在/16到/28之间(包含两端),不允许使用/29、/30等更窄的CIDR块。
你配置的10.0.4.224/29和10.0.4.232/29属于/29前缀,超出了AWS允许的最大前缀长度限制,因此触发InvalidSubnet.Range错误。
底层逻辑补充:每个AWS子网会预留5个IP地址(网络地址、广播地址、VPC路由器、DNS服务器、预留地址),/29子网仅包含8个IP,扣除预留后仅剩3个可用IP,无法满足AWS的最低可用IP要求。
修正方案
将公网子网的CIDR调整为/28前缀的网段,确保符合AWS规则且不与现有私有子网重叠,示例如下:
cidr = "10.0.4.0/24" public-subnet-cidr-1 = "10.0.4.224/28" public-subnet-cidr-2 = "10.0.4.240/28" private-subnet-cidr-1 = "10.0.4.0/27" private-subnet-cidr-2 = "10.0.4.32/27"
各子网IP范围验证:
- 私有子网1:
10.0.4.0-10.0.4.31 - 私有子网2:
10.0.4.32-10.0.4.63 - 公网子网1:
10.0.4.224-10.0.4.239 - 公网子网2:
10.0.4.240-10.0.4.255
所有子网均在VPC的10.0.4.0/24范围内,且无重叠,同时满足AWS的子网配置要求。
内容的提问来源于stack exchange,提问作者user22978548
相关产品推荐
相关产品推荐

