什么是 AWS VPC 的良好子网策略?

什么是 AWS VPC 的良好子网策略?

我目前每个集群都有每个 VPC(stg、prd、tst、misc),标准集群(stg、prd)具有以下子网:

  • elb:用于接收直接公共交通的公共 elb
  • elb-int:用于接收服务到服务通信的内部 elb
  • svc:用于应用服务
  • db:用于数据库
  • dmz:用于 nat 网关、代理等
VPC(标准、珠三角)
10.100.0.0/16 az-1
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
|編輯 ...
| └10.1-0.240.0/20 <保留>
10.101.0.0/16 az-2
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
| ═ ...
|編輯 ...
| └10.101.240.0/20 <保留>
└10.102.0.0/16 az-3
   ═ ...
   10.102.16.0/20 elb-int
   ═ ...
   ═ ...
   10.102.64.0/20 分贝
   10.102.80.0/20 DMZ
   ═ ...
   編輯 ...
   └10.102.240.0/20 <保留>

我知道这个问题很宽泛,就像“视情况而定”之类的问题。但我在网上搜索过,没有找到关于此问题的合理指导。

所以我问了这个问题,想知道系统管理员如何为他们的子网选择策略。请分享你的想法,如果可以的话,请写一小段话来解释你为什么选择这种方法。

答案1

恐怕 ServerFault 并不是一个进行调查或征求基于意见的答案的地方。

无论如何你的设置似乎是太过复杂

因为在 AWS 中安全和防火墙主要使用安全组如果你有 6 个子网层(如你在问题中描述的那样),或者只有 2每个 VPC- 公立和私立

  • 资源公有子网如果 SG 规则允许,则具有公共/弹性 IP 并可从互联网访问

    例如 - 公共 ELB/ALB、跳转主机等

  • 资源私有子网无法从外部访问并使用 NAT 进行通信

    例如 - RDS 集群、ECS 集群、Web 服务器(隐藏在 ELB 后面)等。

  • 你也可以选择无互联网访问的私有子网- 有时用于数据库(RDS),但几乎同样常见的是,它们只是被放入正常的私有子网

当然你的公共和私人子网层应该跨越几个可用区以实现高可用性,但不要过度。最多使用 2 或 3 个可用区,这通常就足够了,即使在某些地区可以拥有更多。

从技术上来说当然不能跨度跨可用区的子网,但您可以在可用区“a”中拥有 priv-a 172.31.0.0/24,在可用区“b”中拥有 priv-b 172.31.1.0/24,然后在两者之间部署 ELB 和 ASG,并将其视为一个。

请注意,以上所有内容均适用每个 VPC- 通常你会有多个 VPC例如,每个阶段(开发、测试等)一个,甚至多个 AWS 账户每个项目(例如开发产品) 以更好地区分生产和开发/测试工作负载。

当然,这些都不是硬性规定。有些客户需要更多子网层数或每个 VPC 有更多可用区,但这些都是例外。

对于大多数 VPC 来说,跨 3 个 AZ 的公共子网 + 私有子网就完全没问题。

请记住 -安全组是你的朋友:)

相关内容