AWS上多个VPC的路由策略

我计划在AWS上设置多个虚拟私有云(VPC)。 这些VPC将位于不同的地理位置。 每个VPC都将具有公共和私有实例。 我需要为运行在所有VPC上的所有实例合并高效的路由策略。 跨VPC通信将发生在Ipsec隧道。 任何关于以下问题的build议对我来说都是非常有用的。

  1. 我应该创build一个hub-n-spoke结构,其中每个VPC将有一个通往中心VPC的Ipsec隧道,还是应该为每对VPC创build一个Ipsec隧道并形成一个派系
  2. 我必须在每个VPC中保留一个作为Ipsec网关的实例,并且存在这种情况成为瓶颈或者单点故障的风险。 有没有可以避免的build筑select?
  3. 我应该遵循什么IP寻址scheme,以便将来我可以将实例从公有子网移动到私有子网,反之亦然,而不会影响整体路由?

还请提供您认为可能对我有帮助的相关文档/案例研究的链接。

谢谢。

首先,您不能在子网之间移动实例。 一旦主ENI被分配给一个实例,它就不能被分离,所以它将留在该子网中。 最好的办法是在新的子网中启动一个新实例,停止它,然后将主EBS卷从旧实例移动到新实例。 但是,当然,这会给你一个新的IP地址。

其次,您应该在您创buildVPC的所有区域的所有可用区域之间创build一个完整的VPN连接网格。 因此,如果你在地区阿尔法有两个AZ,而在地区布拉沃有两个AZ,你将有4个VPN隧道。 对于这些值来说,这些实例也可以充当可用区域中专用子网的出站NAT实例。 这个configuration有一些文档 。

最后,避免VPN / NAT实例出现单点故障的方法是使用自动调节和脚本configuration实例。 这是因为如果实例失败,它将立即被新实例取代。 诀窍是,所有VPN / NAT实例都需要一个ENI,每当实例失败并被replace时,它将被重新使用。 re:Invent 2013的演示文稿概述了video和幻灯片 。