我一直在创建 AWS VPC,我想知道创建 VPC 时是否有推荐的 CIDR 值。选择 CIDR 时必须考虑哪些因素,CIDR 值是否会影响网络性能?
答案1
我建议考虑以下几点:
如果您在企业 LAN 和 VPC 之间创建 IPSEC 连接,请使用与企业 LAN 不同的 CIDR。这将防止路由重叠并创建身份区分以供参考。
对于非常大的网络,在不同区域至少使用不同的 16 位掩码,例如
eu-west-1 10.1.0.0/16
us-east-1 10.2.0.0/16
us-west-1 10.3.0.0/16
对于较小的网络,在不同区域使用 24 位掩码,例如
eu-west-1 10.0.1.0/24
us-east-1 10.0.2.0/24
us-west-1 10.0.3.0/24
考虑区分私有子网和公共子网,例如
private 10.0.1.0/24 (3rd byte < 129)
public 10.0.129.0/24 (3rd byte > 128)
不要给子网分配过多的地址空间,例如
eu-west-1 10.0.1.0/26
eu-west-1 10.0.1.64/26
eu-west-1 10.0.1.128/26
eu-west-1 10.0.1.192/26
(62 hosts per subnet)
也不要分配不足。如果您使用大量 Elastic Load Balancer,请记住它们也会占用子网上的可用 IP 地址。如果您使用 ElasticBeanstalk,情况尤其如此。
答案2
上次创建新 VPC 时我考虑了一些事项:
- 确保不同地区的 IP 范围不重叠。例如,您不应该
172.31.0.0/16
在 中有 。这将使这两个地区之间的 VPN 成为一个需要双 NAT 才能解决的问题。不用了。us-west
eu-ireland
- 确保 IP 范围足够大,可以容纳您认为需要的所有实例,
x.x.x.x/24
从而容纳 254 个不同的地址。可能有数百个 CIDR 计算器可以帮助您解决这个问题。 - 我在单个 VPC 中创建了许多不同的子网,而不是创建多个 VPC。子网可以相互通信 - 我可以拥有私有子网和公共子网,以使某些实例与开放互联网隔离。使用 NAT 实例,以便私有子网可以与公共子网通信。使用安全组将实例组彼此隔离。
答案3
亚马逊似乎没有为您的 VPC 推荐任何特定的网络规模(请参阅VPC 网络管理员指南并注意 /16s 的使用),但一般来说,有两个原因需要考虑 CIDR 的性能影响:
- 路由较小的前缀(较大的网络)经常用于路由聚合,并且实际上可以提高性能。
- 播送以及多播流量,这与您的情况更相关,并且可能导致较小前缀的性能下降。您可以通过进一步划分 VPC 子网来减轻此流量的影响,如网络管理指南中所示。
考虑 VPC 中的初始节点数和预期项目生命周期的预计增长,您应该有一个好的前缀大小起点。请记住,从 /16 等小前缀开始没有坏处,因为您始终可以创建子网。
答案4
如果有人发现这个问题,并且有兴趣设置一个基于 CIDR 的规范单个 IP 地址(例如,如果您正在设置新 AWS 堆栈中允许的 RDP IP),您可以使用 IP 地址,然后使用 /32(表示“一个 IP 地址”)来执行此操作,因此如果您的地址是 66.12.34.567,您将指定:
66.12.34.567/32