一个 VPC 中需要多少个子网
How many subnets required in a VPC
我希望在符合以下要求的 AWS 虚拟私有云 (VPC) 中实施我的网站:
Web 层将跨多个可用区 (AZ) 使用 Auto Scaling 组。
数据库将使用多可用区 RDS MySQL,不应 public 可访问。
所需的最少子网数量是多少?
我假设一个子网 = 一个可用区。话虽如此,我将需要 2 个子网用于 RDS 实例,一个用于我的 Web 层,这可能必须位于 public 个子网中?所以总共最少 3 个?
3个子网没有要求。
如果你把 2 个子网放在不同的 AZ 中,1 个是 public,1 个是私有的,也可以相互通信,因为在 1 个 VPC 中,多伙伴实例可以相互诽谤和不同.
但是,如果您像您所说的那样将 3 个子网放在不同的 AZ 中,那么对于网络服务器的安全性和可访问性会更好。
但是,如果您像您所说的那样将 3 个子网放在不同的 AZ 中,那么对于网络服务器的安全性和可访问性会更好。
您有两个选择:
- 在 Public 子网 中执行所有操作,使用安全组保护您的数据库,或
- 使用Public & 私有子网
如果这两个选项,您需要:
- 亚马逊 VPC
- 互联网网关(将 VPC 连接到互联网)
- 弹性负载均衡器
- Amazon EC2 实例的 Auto Scaling 组 运行 您的 Web 层
- 一个 Amazon RDS 多可用区数据库 -- 您已表示偏好 MySQL
此外,您将创建三个安全组:
- A 负载均衡器安全组,允许来自 Internet (
0.0.0.0/0
) 的 HTTP(端口 80)和推测的 HTTPS(端口 443)的入站流量
- A Web 层安全组,允许相同端口上来自负载均衡器安全组的入站流量
- A 数据库安全组,允许来自端口 3306 (MySQL)
上的 Web 层安全组的入站流量
选项 1:在 public 个子网中执行所有操作
在此选项中,您可以将所有服务放入 Public 子网(定义为通过 Internet 网关连接到 Internet 的子网)。
您希望实施多可用区解决方案,因此每个可用区需要一个子网。如果您选择使用两个可用区,这意味着您将需要两个子网。 (如果您所在的地区可用,您可以选择使用两个以上 AZs/subnets。)
在两个子网中部署您的负载均衡器。创建您的 Auto Scaling 组 以使用这两个子网。创建跨两个子网的 Amazon RDS 数据库子网组 以供多可用区数据库使用,并将数据库启动到该数据库子网组。
安全组将确保只有 Load Balancer 暴露在 Internet 上。其他任何东西都public无法访问。
选项 2:使用 Public 和私有子网
有些人更喜欢使用私有子网来确保资源不会暴露在 Internet 上。这主要是为了与没有安全组概念的传统本地架构保持兼容。
此选项将涉及:
- A Public Subnet in each AZ: Put your Load Balancer in these subnets
- 每个 AZ 中的 私有子网:将您的 Web Tier Auto Scaling 组和您的数据库放在这些子网中(通过 DB 子网组定义)
- 使用与选项 1
相同的安全组
我希望在符合以下要求的 AWS 虚拟私有云 (VPC) 中实施我的网站:
Web 层将跨多个可用区 (AZ) 使用 Auto Scaling 组。
数据库将使用多可用区 RDS MySQL,不应 public 可访问。
所需的最少子网数量是多少?
我假设一个子网 = 一个可用区。话虽如此,我将需要 2 个子网用于 RDS 实例,一个用于我的 Web 层,这可能必须位于 public 个子网中?所以总共最少 3 个?
3个子网没有要求。
如果你把 2 个子网放在不同的 AZ 中,1 个是 public,1 个是私有的,也可以相互通信,因为在 1 个 VPC 中,多伙伴实例可以相互诽谤和不同.
但是,如果您像您所说的那样将 3 个子网放在不同的 AZ 中,那么对于网络服务器的安全性和可访问性会更好。
但是,如果您像您所说的那样将 3 个子网放在不同的 AZ 中,那么对于网络服务器的安全性和可访问性会更好。
您有两个选择:
- 在 Public 子网 中执行所有操作,使用安全组保护您的数据库,或
- 使用Public & 私有子网
如果这两个选项,您需要:
- 亚马逊 VPC
- 互联网网关(将 VPC 连接到互联网)
- 弹性负载均衡器
- Amazon EC2 实例的 Auto Scaling 组 运行 您的 Web 层
- 一个 Amazon RDS 多可用区数据库 -- 您已表示偏好 MySQL
此外,您将创建三个安全组:
- A 负载均衡器安全组,允许来自 Internet (
0.0.0.0/0
) 的 HTTP(端口 80)和推测的 HTTPS(端口 443)的入站流量 - A Web 层安全组,允许相同端口上来自负载均衡器安全组的入站流量
- A 数据库安全组,允许来自端口 3306 (MySQL) 上的 Web 层安全组的入站流量
选项 1:在 public 个子网中执行所有操作
在此选项中,您可以将所有服务放入 Public 子网(定义为通过 Internet 网关连接到 Internet 的子网)。 您希望实施多可用区解决方案,因此每个可用区需要一个子网。如果您选择使用两个可用区,这意味着您将需要两个子网。 (如果您所在的地区可用,您可以选择使用两个以上 AZs/subnets。)
在两个子网中部署您的负载均衡器。创建您的 Auto Scaling 组 以使用这两个子网。创建跨两个子网的 Amazon RDS 数据库子网组 以供多可用区数据库使用,并将数据库启动到该数据库子网组。
安全组将确保只有 Load Balancer 暴露在 Internet 上。其他任何东西都public无法访问。
选项 2:使用 Public 和私有子网
有些人更喜欢使用私有子网来确保资源不会暴露在 Internet 上。这主要是为了与没有安全组概念的传统本地架构保持兼容。
此选项将涉及:
- A Public Subnet in each AZ: Put your Load Balancer in these subnets
- 每个 AZ 中的 私有子网:将您的 Web Tier Auto Scaling 组和您的数据库放在这些子网中(通过 DB 子网组定义)
- 使用与选项 1 相同的安全组