设计 VPC 的寻址计划
设计 IBM Cloud® Virtual Private Cloud 的第一步应该是设计您的寻址计划。
正确设计的寻址计划有两个目标:
- 满足 VPC 实例的通信需求。
- 保持未来增长的灵活性。
本文档提供了设计三层 Web 应用程序的寻址计划的示例,其中每个层都由多个专区支持。
虽然每个 IBM Cloud VPC 都部署到特定区域,但 VPC 可以跨该区域中的所有区域。IBM Cloud VPC 定义每个区域的缺省地址前缀。 地址前缀支持在不同专区中的 VPC 实例之间进行通信。
无论应用程序是完全包含在云上还是其中某些部分在其他位置运行,都涉及相同的设计步骤。
创建 VPC 实例并打算使用 IBM Cloud Transit Gateway 进行互联时,请避免选择默认地址前缀。 为 成功连接 创建具有非重叠前缀的 VPC 实例。
当您创建的 VPC 实例还打算使用 IBM Cloud Transit Gateway 与IBM Cloudclassic 基础架构互连时,请勿在 10.0.0.0/14
、10.200.0.0/14
、10.198.0.0/15
和 10.254.0.0/16
块中的实例中使用 IP 地址。 此外,请避免使用经典基础架构子网中的 IP 地址。
有关设计 VPC 实例以便与IBM Cloud Transit Gateway 配合使用的更多信息,请参阅 规划IBM Cloud Transit Gateway。
设计注意事项和假设
在设计应用程序的寻址计划时,主要考虑是将用于在单个专区中创建子网的 CIDR 块保持尽可能相邻。 通过这样做,您可以在单个地址前缀中对它们进行汇总,从而为未来的增长留出空间。
另一个考虑因素是子网横向扩展可能需要的可用地址数量。 表 1 根据指定的 CIDR 块大小,列出子网中的可用地址数:
CIDR 块大小 | 可用地址数 |
---|---|
/22 | 1019 |
/23 | 507 |
/24 | 251 |
/25 | 123 |
/26 | 59 |
/27 | 27 |
/28 | 11 |
基于这两个考虑因素,为此示例进行以下假设:
- 所有子网都使用 RFC 1918 地址
172.16.0.0/12
块中的 CIDR 范围。 - 应用程序的表现层是 REST API 的薄层。 因此,水平缩放对中间层的影响比对表示层的影响更大。
确定每层的子网大小
下一步是确定每层的子网大小(在可用地址数方面)。 应用程序的每层在每个专区中都存在,因此每个专区需要三个子网。
规划每个层的子网大小时,请考虑以下信息:
- 数据库层(后端)最不可能需要动态扩展,因此这些子网最小。 即,这些子网包含的可用地址数量可能是最少的。
- 本例使用
/27
CIDR 块,该层允许 27 个地址。
- 本例使用
- 中间层最有可能需要动态缩放,因此这些子网是最大的。 即,它们包含的可用地址数一定是最多的。
- 本例使用
/25
CIDR 块,允许在该层中使用 123 个地址。
- 本例使用
- 前端层居中;它所需要的地址数没有中间层那么多,但比数据库层要多一些。
- 本示例使用
/26
CIDR 块,该层可容纳 59 个地址。
- 本示例使用
组合子网并选择地址前缀
要为每个专区选择可接受的地址前缀,您需要足够大的子网大小来容纳每层中的所有三个子网,同时仍为水平缩放和未来扩展留下空间。
/24
地址前缀是这三个子网可以组合成的最小前缀 (27 + 123 + 59)。 请选择下一个较大的子网大小,而不是最小的子网大小。 分配下一个较大的子网大小 (/23
) 允许水平缩放超过先前给定的限制,因为它允许在同一地址前缀中向每个层添加新的子网。
确定正确的子网大小后,可以分配实际地址前缀,每个区域一个前缀:
区域 | 地址前缀 |
---|---|
专区 1 | 172.16.0.0/23 |
专区 2 | 172.16.2.0/23 |
专区 3 | 172.16.4.0/23 |
从这个基础上,您还可以分配每个专区中的三个子网:
区域 | 层 | 子网 CIDR |
---|---|---|
专区 1 | 中间 | 172.16.0.0/25 |
专区 1 | 前端 | 172.16.1.0/26 |
专区 1 | 数据库 | 172.16.1.128/27 |
专区 2 | 中间 | 172.16.2.0/25 |
专区 2 | 前端 | 172.16.3.0/26 |
专区 2 | 数据库 | 172.16.3.128/27 |
专区 3 | 中间 | 172.16.4.0/25 |
专区 3 | 前端 | 172.16.5.0/26 |
专区 3 | 数据库 | 172.16.5.128/27 |
扩展现有基础架构的注意事项
当您计划扩展现有基础架构的 VPC 时,可以遵循先前的步骤,无论该基础架构是内部部署基础架构、另一个 VPC,还是其他云。 请记住,不能复用现有地址范围。 通过避免地址复用,您可以最大程度地利用 IBM Cloud VPC 功能。