当我尝试在我的 VPC 中添加新子网时,收到以下消息:
172.22.128.0/24
CIDR 不在 VPC 的 CIDR 范围内。
我当前的 VPC CIDR 是172.22.130.0/28
有什么帮助吗?
答案1
最好的开始是参考VPC 和子网基础知识它解释了 VPC 寻址和大小要求。
不确定你是否熟悉 CIDR 寻址?本质上更大之后的数字/
越少您可以在此类网络内容纳主机和子网。
例如:
您的 VPC CIDR
172.22.130.0/28
是/28
意味着32 位在 IP 地址中第一个28 位是网络地址(该部分必须是所有资源都相同在您的 VPC 中)并且只有剩余 4 位(= 32 - 28)可用于解决您的实例。这最多能给你2 4 = 16子网中的 IP 地址。AWS 保留了 5 个 IP,您只能使用11 个 IP 地址。
也因为最低子网大小您
/28
实际上只能在/28
VPC 中创建一个子网,并且它必须具有相同的 CIDR 范围,即172.22.130.0/28
。这有效地防止您将实例放在多个可用区域因为子网不能跨越AZ。
更好的做法是为您的 VPC 分配相当大的 CIDR 块。至少 /24
但如果可以的话,甚至可以更大。更大意味着/22
或/20
甚至/16
。这将给你一个机会在多个可用区域中创建子网并创建私有和公共 (DMZ) 子网。
在你的情况下你可以分配172.22.128.0/24
至 VPC然后在VPC内创建4个子网:
- 公共 A =
172.22.128.0/26
(在可用区域内)A例如ap-东南-2a) - 公共 B =
172.22.128.64/26
(亚利桑那州b例如ap-东南-2b) - 私人 A =
172.22.128.128/26
(在亚利桑那州A再次) - 私人 B =
172.22.128.192/26
(在亚利桑那州b再次)
这将为你提供每个子网中大约 60 个 IP 地址,你可以在其中设置一些主机私人的子网和一些民众,您可以跨可用区域平衡负载等。
如果您想更进一步并172.22.128.0/22
为您的 VPC 分配地址,那么地址将是这样的:
- VPC CIDR =
172.22.128.0/22
- 公共A=
172.22.128.0/24
- 公共 B =
172.22.129.0/24
- 私人 A =
172.22.130.0/24
- 私人 B =
172.22.131.0/24
对于之间的差异公共子网和私有子网参考这个答案:EC2 实例的 NAT 网关
希望有帮助:)
答案2
您尝试添加的子网是
- 不在您的 VPC 的 IP 范围内
- 大超过 VPC 的 IP 范围
因此,您无法添加它。
附注:我甚至不知道 AWS 会让您创建一个 /28 VPC。您只能在其中使用 14 个 IP。