在VPC

问题描述:

我想实现我在AWS虚拟私有云(VPC)的网站需要多少个子网有以下要求:在VPC

  1. Web层将使用跨多个可用性区域的自动缩放组( AZS)。

  2. 该数据库将使用多可用区RDS MySQL,不应公开访问。

什么是最小的子网数量?

我假设一个子网=一个AZ。话虽如此,我将需要2个子网用于RDS实例,另一个用于我的Web层,可能必须位于公共子网中?所以总共3个最小?

你有两个选择:

  • 尽一切公共子网,使用安全组来保护你的数据库,或
  • 使用公共&专用子网

如果两个选项,您将需要:

  • 卓越亚马逊VPC
  • 互联网网关(其中VPC连接到Internet)
  • 的弹性负载均衡
  • 的自动缩放组亚马逊EC2实例中运行Web层
  • 卓越亚马逊RDS多-AZ数据库 - 您已经指示的首选为MySQL

而且,你会创建三个集团

  • 一个负载均衡器的安全组,允许入站流量从互联网(0.0.0.0/0)为HTTP(80端口),并推测HTTPS(端口443)
  • 一个Web层安全组,允许从入站流量负载均衡器安全组在同一端口
  • 一个数据库安全组,在3306端口,允许从Web层安全组入站通信(MySQL的)

选项1:尽一切公共子网

在这个选项中,你可以把一个公共子网内的所有服务(其定义为通过Internet网关连接到Internet子网)。 您希望实施多可用区解决方案,因此每个AZ需要一个子网。如果您选择使用两个AZ,这意味着您将需要两个子网。 (如果您的地区可用,可以选择使用两个以上的AZ /子网。)

在两个子网中部署您的负载均衡器。创建您的Auto Scaling组以使用两个子网。在两个子网上创建Amazon RDS数据库子网组以供多可用区数据库使用,并将数据库启动到该数据库子网组。

安全组将确保只有负载均衡器暴露于Internet。没有别的东西可以公开访问。

选项2:使用公共&专用子网

有人使用专用子网,以保证资源不被暴露在Internet喜欢。这主要是为了与传统的没有安全组概念的本地架构保持兼容。

此选项将包括:

  • 一个公共子网在每个AZ:把你的负载均衡在这些子网
  • 一个专用子网在每个AZ:把你的Web层自动缩放组和您在这些子网中的数据库(通过DB子网组定义)
  • 使用相同的安全组作为选项1
+0

哇!这是一个很好的解释。晶莹剔透,谢谢约翰。 –

对3个子网没有要求。

如果你把2个子网放在不同的AZ中,1个是公共的,1个是私有的,也可以互相通信,因为在1个VPC中,多个pal实例可以相互调用和不同。

但是,如果你把3子网放在不同的AZ中,就像你说的那样,对于网络服务器的安全性和可访问性来说更好。

但是,如果你把3个子网放在不同的AZ中,就像你说的那样,对于网络服务器的安全性和可访问性来说更好。

+0

嗨K.D.!随意编辑您的答案,而不是在单独的答案中添加其他信息。 –