我计划在 AWS 上设置多个虚拟私有云 (VPC)。这些 VPC 将位于不同的地理位置。每个 VPC 都有公共实例和私有实例。我需要为所有 VPC 上运行的所有实例整合一个有效的路由策略。跨 VPC 通信将通过 Ipsec 隧道进行。有关以下问题的任何建议对我都非常有用。
- 我应该创建一个中心辐射型每个 VPC 都有一个到中心 VPC 的 Ipsec 隧道结构,或者我应该为每对 VPC 创建一个 Ipsec 隧道并形成一个集团?
- 我必须在每个 VPC 中保留一个实例,它将充当Ipsec 网关并且存在该实例成为瓶颈或更糟的单点故障的风险。是否有可以避免这种情况的架构选项?
- 我应该遵循什么 IP 寻址方案,以便将来我可以将实例从公共子网移动到私有子网,反之亦然,而不会影响整体路由?
还请提供您认为可能对我有帮助的相关文档/案例研究的链接。
谢谢。
答案1
首先,您无法在子网之间移动实例。一旦将主 ENI 分配给实例,它就无法分离,因此它将保留在该子网中。您能做的最好的事情是在新子网中启动一个新实例,停止它,然后将主 EBS 卷从旧实例移动到新实例。但当然,这会给您一个新的 IP 地址。
其次,您应该在创建 VPC 的所有区域的所有可用区之间创建完整的 VPN 连接网。因此,如果您在区域 alfa 有两个可用区,在区域 bravo 有两个可用区,那么您将拥有 4 个 VPN 隧道。值得一提的是,这些实例还可以充当可用区中私有子网的出站 NAT 实例。一些文档在此配置上。
最后,避免 VPN/NAT 实例单点故障的方法是使用实例的自动扩展和脚本化配置。这样,如果实例发生故障,它将立即被新实例替换。诀窍是,所有 VPN/NAT 实例都需要一个 ENI,每次实例发生故障并被替换时,该 ENI 都会重新使用。re:Invent 2013 的此演示文稿概述了该过程:视频和幻灯片。