VPC中需要多少个子网

时间:2017-06-05 01:07:49

标签: amazon-web-services vpc

我希望在AWS虚拟私有云(VPC)中实现我的网站,具有以下要求:

  1. Web层将跨多个可用区(AZ)使用Auto Scaling组。

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

  3. 所需的最小子网数是多少?

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

3 个答案:

答案 0 :(得分:0)

不需要3个子网。

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

但是,如果您将3个子网放在不同的AZ中,因为您说这对于Web服务器的安全性和可访问性更好。

答案 1 :(得分:0)

但是,如果您将3个子网放在不同的AZ中,因为您说这对于Web服务器的安全性和可访问性更好。

答案 2 :(得分:0)

您有两种选择:

  • 公共子网中执行所有操作,使用安全组保护您的数据库,或
  • 使用公开&私人子网

如果两个选项都需要:

  • 亚马逊VPC
  • Internet网关(将VPC连接到Internet)
  • 弹性负载均衡器
  • 运行您的网络层的Amazon EC2实例的Auto Scaling组
  • Amazon RDS多可用区数据库 - 您已表明对MySQL的偏好

此外,您创建三个安全组

  • 负载均衡器安全组,允许来自Internet(0.0.0.0/0)的HTTP(端口80)和大概HTTPS(端口443)的入站流量
  • Web层安全组,允许来自相同端口上的Load Balancer安全组的入站流量
  • 数据库安全组,允许来自端口3306(MySQL)上的Web Tier安全组的入站流量

选项1:在公共子网中执行所有操作

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

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

安全组将确保只有Load Balancer才会暴露给Internet。没有其他东西可以公开访问。

选项2:使用Public&私人子网

有些人更喜欢使用私有子网来确保资源不会暴露给互联网。这主要是为了与不具有安全组概念的传统本地架构保持兼容。

此选项包括:

  • 每个AZ中的公共子网:将负载均衡器放在这些子网中
  • 每个AZ中的私有子网:将您的Web层Auto Scaling组和您的数据库放在这些子网中(通过DB子网组定义)
  • 使用相同的安全组作为选项1