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

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

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

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

我当前的 VPC CIDR 是172.22.130.0/28

有什么帮助吗?

答案1

最好的开始是参考VPC 和子网基础知识它解释了 VPC 寻址和大小要求。

不确定你是否熟悉 CIDR 寻址?本质上更大之后的数字/ 越少您可以在此类网络内容纳主机和子网。

例如:

  • 您的 VPC CIDR172.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-东南-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

您尝试添加的子网是

  1. 不在您的 VPC 的 IP 范围内
  2. 超过 VPC 的 IP 范围

因此,您无法添加它。

附注:我甚至不知道 AWS 会您创建一个 /28 VPC。您只能在其中使用 14 个 IP。

相关内容