缩小 AWS VPC 中的子网

缩小 AWS VPC 中的子网

我们的主要 VPC 配置了四个子网。如下所示,这四个子网涵盖了“10.50.?.?”块内的所有可用 IP 地址。由于所有可用地址都包含在该 10.50 前缀内,因此我们无法创建其他子网。

我们希望在(新的)不同可用区中的 10.50.?.? 块中创建更多子网,因为它们包含(例如)较新的实例类型。我们在其他地区也遇到了类似的问题。

所有可用的 ipv4 地址实际上都未被使用。但是,Web UI 不允许我们“缩小”现有子网。在这种情况下,我们必须停止所有实例以释放子网,并在创建新的较小子网之前删除它们。

fr-usx-lan-a subnet-a42932c1 vpc-1d0f1b78 10.50.0.0   /18 us-west-2a
fr-usx-wan-a subnet-962932f3 vpc-1d0f1b78 10.50.128.0 /18 us-west-2a
fr-usx-wan-b subnet-357d286c vpc-1d0f1b78 10.50.192.0 /18 us-west-2c
fr-usx-lan-b subnet-1d7d2844 vpc-1d0f1b78 10.50.64.0  /18 us-west-2c

我们也希望能够访问这些子网(在俄勒冈地区):

2b, 2d

如果上面的文字不清楚,我们希望继续对该地区运行的所有实例使用 10.50.?.? 前缀。我们还希望避免停止并重新创建当前正在生产的实例。


目前,我不得不承认,我有点不知道该怎么做。我认为某种临时 VPC 和它们之间的桥梁是可行的。欢迎提出任何建议。

答案1

实施 IPv6。每个子网一个 /64 实际上是无限地址。使用 AWS 的 /56 可获得 256 个 /64。

不幸的是,我没有 v4 选项,尤其是在保持相同范围和保持运行的限制下。

典型示例是 v4 地址规划看起来很大,直到需要进一步细分为新网络。不要低估计算主机和碎片整理范围所花费的工作量。

答案2

它现在不会帮助你,因为我刚刚才遇到这个问题,但对于练习来说......

每个区域都有两个子网,您能将所有 ec2 实例都放在每个区域的一个子网中吗?也就是说,将10.50.0.0/18(us-west-2a)中的所有 ec2 实例移至10.50.128.0/18(us-west-2a)
,然后删除10.50.0.0/18并创建所需数量的子网,例如,,,10.50.0.0/20然后将 ec2 实例移回,并对其他子网重复此操作。10.50.16.0/2010.50.32.0/2010.50.48.0/20

当然,将 ec2 实例移动到不同的子网可能并不那么简单。而且您必须停止它们,因为您必须创建一个 AMI,然后在新子网中启动它。https://aws.amazon.com/premiumsupport/knowledge-center/move-ec2-instance/
取决于您的应用程序是否需要停机。如果您在应用程序层有 HA,您可能无需停机即可进行迁移。

相关内容