如何在 VPC 的 CIDR 范围内选择 AWS CIDR?

oma*_*loh 8 subnet amazon-web-services amazon-vpc

当我尝试在 VPC 中添加新子网时,我收到以下消息:

172.22.128.0/24 CIDR 不在 VPC 的 CIDR 范围内。

我当前的 VPC CIDR 是 172.22.130.0/28

有什么帮助吗?

MLu*_*MLu 12

最好的开始是参考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您实际上只能在您的/28VPC 中创建一个子网,并且它必须具有相同的 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-southeast-2a
  • 公共 B = 172.22.128.64/26(在 AZ b 中,例如ap-southeast-2b
  • 私人 A = 172.22.128.128/26(再次在 AZ a
  • 私人 B = 172.22.128.192/26(再次在 AZ b 中

这将为您提供每个子网中大约 60 个 IP 地址,您可以在Private子网中拥有一些主机,在Public 中拥有一些主机,您可以跨可用区域平衡负载等。

如果您想更上一层楼并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 网关

希望有帮助:)


cee*_*yoz 3

您尝试添加的子网是

  1. 不在您的 VPC 的 IP 范围内
  2. 大于您的 VPC 的 IP 范围

因此,您无法添加它。

旁注:我不知道 AWS 甚至会让创建 /28 VPC。那里只有 14 个可用的 IP。

  • @omarjalloh 您应该删除 VPC 并重新开始。对于 AWS 上的几乎任何用例来说,“/28”都太小了。 (2认同)