我应该在哪里设置Amazon VPC中的登台环境? 和testing?

我在俄勒冈州的亚马逊VPC中为我的服务设置了生产环境:

  • 2个可用区域
  • 1个公共子网(包括堡垒,NAT和ELB)和3个私有子网(数据库,Web服务器和configuration/监督)在每个可用区域。
  • 11个安全

现在大约有25台虚拟机,希望它会增长。

现在我要设置暂存环境,但我不知道该把它放在哪里:

  1. 我应该简单地把临时实例放在生产实例旁边吗? 基本上,简单地重复使用相同的亚马逊地区,相同的可用性区域,相同的子网和相同的安全组? 我只需要创build指向登台实例的新ELB,就是这样。 简单。
  2. 或者我应该把临时实例放在他们自己的子网中 ,但仍然在同一个区域/可用区域? 公有子网必须是相同的,因为在一个可用区域中不能有两个公有子网。 拥有独立的子网可能会使事情更容易pipe理,而且我可以有专门的路由规则,通过不同的nat实例,也可能有不同的堡垒。 更复杂,但更严格的安全。 我认为我可能不需要加倍安全组,因为我可以有一个单一的总体networkingACL禁止生产和分段子网之间的stream量。
  3. 还是应该在不同的VPC中复制整个设置 ? 由于每个亚马逊地区只能有一个VPC,所以我必须在一个单独的地区进行。

暂存环境的整个要点与生产环境相同(或尽可能接近)。 因此,在不同的亚马逊地区设置暂存环境只是感觉不对:这排除了选项3,不是吗?

选项1最接近尽可能接近生产的目标。 但是,在相同的子网中有分段和生产环境感觉有点像一个潜在的安全问题,对吧? 所以我有点倾向于选项2,但是我想知道潜在的安全问题是否足够严重,以至于有两倍的子网可以pipe理?

那么testing环境呢? 它也应该类似于生产,但不需要严格匹配:一切都可以适用于less数情况,不需要ELB和一切。 也许这个环境可能都适合同一个VPC中的一个专用子网? 在同一个VPC中,可以简单地访问git仓库和厨师服务器,监督工具和openvpn访问等。

我相信很多人已经经历了这些考虑? 你对此有什么看法?

谢谢。

我会说选项3是最好的隔离级别,并防止您的生产环境受到分段环境变化的影响。 你也假设每个地区的一个VPC似乎是错的。 就我所知,您可以在一个区域内创build多个VPC。

“由于我每个亚马逊地区只能有一个VPC,所以我必须在一个单独的地区做到这一点。”

我会build议去select2 。 随着AWS的发展,您将需要目录服务(名称服务器,用户目录,VM目录,查找服务等)。 如果您有两个VPC,共享目录服务将不是一件容易的事情。 此外,如果您需要具有三个独立VPC的代码库(例如GitHub)或构build工具(例如Jenkins),则分段和生产将使事情变得非常复杂。

我会build议为每个环境单独的vpc。 所有的共享资源都可以放置在一个共享的vpc中,并且在共享vpc的每个环境之间进行对等