AWS 设置 CIRD

AWS setting CIRD

我知道这个话题有很多信息,但我找不到一个简单问题的答案。

我愿意为我所在区域(3 个区域)中的每个可用区域创建一个子网。我的 VPC CIDR 是 10.0.0.0/19,我希望每个子网具有相同数量的 IP。我的问题是我应该为每个子网分配什么 CIDR 块?

10.0.0.0/19 有 8,192 个 IP 地址,从 10.0.0.0 到 10.0.31.255

将一个超网划分成大小相等的子网时,只能按2的幂进行划分——2、4、8、16等,所以这个块不能分成3个大小相等的块大小,但可以分成4份。

10.0.0.0/21 has 2,048 addresses
10.0.8.0/21 has 2,048 addresses
10.0.16.0/21 has 2,048 addresses
10.0.24.0/21 has 2,048 addresses

由于您只有其中三个,如果您有权访问其中一个,则可以简单地保留其中一个用于第四个可用区(某些帐户确实可以访问至少一个区域中的 3 个以上可用区) ) 或用于其他目的。

然而,即使您可能还没有意识到,您可能需要在每个 VPC 的每个可用区中至少有两个子网。通常,您的实例位于私有子网中,但 NAT 网关或实例和弹性负载均衡器需要位于 public 个子网中。有关其工作原理的更多详细信息,请参阅 Why do we need private subnets in VPC?

因此,您可能至少需要 6 个街区。同样,您不能制作 6 个均匀大小的积木,但可以制作 8 个,然后将剩下的两个藏起来。

10.0.0.0/22 has 1,024 addresses
10.0.4.0/22 has 1,024 addresses
10.0.8.0/22 has 1,024 addresses
10.0.12.0/22 has 1,024 addresses
10.0.16.0/22 has 1,024 addresses
10.0.20.0/22 has 1,024 addresses
10.0.24.0/22 has 1,024 addresses
10.0.28.0/22 has 1,024 addresses

VPC 的另一个重要因素是,如果一台机器正在与同一可用区中的另一台机器通信,则您无需担心该机器所在的子网。无论两个通信实例是否在同一子网中,可用区内的性能都没有差异......因此使用比这些更小的子网或可变长度子网掩码并隔离您的机器以进行管理可能是有意义的方便。