3.1.3 VPC 网络规划
对一个网络来讲,网络规划是最基础的,也是第一步。对于云上网络规划,我们要考虑的常见问题包括:需要使用多少个VPC;需要使用多少个交换机;选择什么地址段;每个地址段规划多大;未来业务会如何发展;云上VPC 和云下IDC 构建混合云,怎么规划地址空间;如何避免地址冲突。在创建VPC 和交换机前,需要结合业务的具体情况来规划VPC 和交换机的数量及网段等。
1.VPC 数量规划
如果用户没有多地域部署系统的要求,各系统之间也不需要通过VPC 隔离, 那么可以考虑使用一个VPC。反之,如果用户有在多地域部署系统的需求,或者在一个地域的不同业务系统间需要隔离,则需要使用多个VPC。例如,生产环境和测试环境的隔离,如图3-4 所示。
生产环境
图3-4 生产环境和测试环境的隔离
另外,集团企业不同于子公司的业务系统往往也要求进行业务隔离,此时,可以考虑为每个子公司配置一个VPC,但对有通信需求的子公司VPC,可以加入云企业网,通过路由等策略进行进一步的通信控制。
2. 交换机数量规划
即使只使用一个VPC,也尽量使用至少两个交换机,并且将两个交换机布置在不同可用区,这样可以实现跨可用区容灾。
同一地域不同可用区之间的网络通信时延很小,但也需要经过业务系统的适配和验证。系统调用复杂、应用层处理时间长、跨可用区多次调用等原因,可能产生期望之外的网络时延,需要进行系统优化和适配,在高可用和低时延之间找到平衡。
使用多少个交换机还和系统规模、系统规划有关。如果前端系统可以被公网访问并且有主动访问公网的需求,考虑到容灾的需要,可以将不同的前端系统部署在不同的交换机下,将后端系统部署在另外的交换机下。
3. 地址空间规划
对于VPC 网段的选择,用户可以使用192.168.0.0/16、172.16.0.0/12、10.0.0.0/8 这三个私网网段及其子网作为VPC 的私网地址范围。在规划VPC 网段时,请注意:
◎如果云上只有一个VPC 并且不需要和云下数据中心互通,那么可以选择上述私网网段中的任何一个网段或其子网。
◎如果有多个VPC,或者有VPC 和云下数据中心构建混合云的需求,那么建议使用上面这些标准网段的子网作为VPC 的网段,掩码建议不超过16 位。
对于交换机网段的选择,首先,交换机的网段必须是其所属VPC 网段的子集。例如,VPC 的网段是192.168.0.0/16,那么该VPC 下的交换机的网段可以是192.168.0.0/17,一直到192.168.0.0/29。其次,在规划交换机网段时,请注意:
◎交换机的网段大小在16 位网络掩码与29 位网络掩码之间,可提供8~65536 个地址。16 位掩码能支持65532 个ECS 实例,对于绝大多数用户来说都是够用的。而对于小于29 位掩码的,容纳的实例数量太少,没有意义。
◎每个交换机的第一个和最后三个IP 地址为系统保留地址。以192.168.1.0/24 为例,192.168.1.0、192.168.1.253、192.168.1.254 和192.168.1.255 是系统保留地址。
对于多VPC 互通或者构建混合云的场景,确保VPC 的网段和要互通的网络的网段都不冲突,建议遵循以下网段规划原则:
◎尽可能做到不同VPC 的网段不同,不同VPC 可以使用标准网段的子网来增加VPC 可用的网段数。
◎如果不能做到不同VPC 的网段不同,则尽量保证不同VPC 的交换机网段不同。
◎如果也不能做到交换机网段不同,则保证要通信的交换机网段不同。
有的云服务商提供了私网NAT 产品来解决地址冲突又需要通信的问题,我们建议在规划时就避免这个问题。
地址空间规划中一个需要重点考虑的问题是VPC 或者交换机能容纳的实例数量,也就是业务规模。对于大部分用户来说,这可能不是问题,但对于部分企业级大用户,尤其是采用云原生技术架构的用户来说,单VPC 可能需要容纳几万,甚至更多的实例。
4. 不同规模企业地址空间规划实践
拥有50 台左右服务器的中小企业,没有多地域部署和混合云需求,在大部分情况下, 一个VPC 就够用了, 选择系统默认的192.168.0.0/16、10.0.0.0/8、172.16.0.0/12 三个网络地址段之一即可。它们都是RFC1918 定义的私网地址段,网络地址掩码不同,每个网段容纳的主机数量也不同。但不管哪个地址段,对于中小企业来说都是够用的。所以,根据历史习惯,选择对应的网段即可。
对于交换机,默认建议至少使用两台交换机,并且这两台交换机分布在不同可用区。当然,分布在不同可用区,时延可能会稍微增加,用户可以根据自己的业务系统对时延的要求做出选择。
中大型企业,出于高可用和提升用户体验的目的,往往在不同地域部署业务系统,这些业务系统有内网通信需求。为了做到跨可用区容灾,每个地域还需要把业务系统部署在多个可用区。此外,还涉及和线下IDC 互通、生产和测试系统严格隔离等需求。此时,VPC 的地址空间规划就会稍微复杂一些。整体原则是保持可扩展性,避免地址冲突。
多地域部署业务系统,必然需要使用多个VPC,而默认的VPC 地址段有三个,为了避免地址冲突,除上述提到的用不同网段的地址空间外,还可以把一个类型的网段的网络掩码变长一些。比如10.0.0.0/8 的地址空间可以被拆成10.1.0.0/16、10.2.0.0/16……10.255.0.0/16,共256 个子地址空间。我们可以把VPC 的地址空间规划成/16 掩码的,这样每个VPC 的地址空间都是独立和互不冲突的。同时,需要保证线下IDC 的地址空间不发生冲突。对于生产环境和测试环境的严格隔离,只需要把生产系统和测试系统分别部署到不同VPC 即可,但考虑到未来可能的通信需求,也建议在规划时考虑地址冲突问题。因为需要跨可用区容灾,所以在每个VPC 内至少要使用两台交换机。
为了满足多地域和混合云内网通信需求,必然要使用云企业网。和VPC 是地域级别的网络不同,云企业网是一个全球网络,绝大多数用户使用一个云企业网即可。云企业网提供了强大的路由控制能力以实现云企业网内不同的实例之间精细的访问控制。