【问题标题】:Why in AWS ELB you can select only one subnet in an AZ while configuring load balancer为什么在 AWS ELB 中配置负载均衡器时只能选择 AZ 中的一个子网
【发布时间】:2019-11-23 22:15:59
【问题描述】:
在 AWS 中配置负载均衡器时,我们不能在一个 AZ 中选择多个子网。我想了解这种限制的原因。我相信原因是因为:
VPC 中的两个子网仅在两个方面有所不同:分配给实例的私有 IP 地址和子网可以是私有的或公共的。 IP 地址无关紧要,因为私有 IP 都是关于内部工作的。对于公有或私有子网,您将应用程序部署到私有子网或公有子网,但不能同时部署到两者。因此,为同一目的创建多个私有或公共子网没有任何意义。如果您认为子网中可能需要大量资源,则应相应地调整子网的大小。
我的推理正确吗?
【问题讨论】:
标签:
amazon-web-services
amazon-elb
【解决方案1】:
当您创建 ELB 时,AWS 将使用您的子网将网络接口放入其中。 ELB 服务将使用这些接口与您的私有 VPC 中的资源进行通信。
因此,他们不需要在同一个 AZ 中使用 2 个子网来实现此目的。另一方面,他们需要 2 个可用区用于 HA。
【解决方案2】:
限制的原因是,将 ALB 放置在单个可用区中的多个子网上将毫无用处。
面向 Internet 的 ALB 必须位于公共子网中,否则它们在外部无法访问,因为进出浏览器的流量无法从私有子网双向遍历 Internet 网关。
ALB 不需要与它们后面的实例位于相同的子网上,通常也不需要,因为您通常希望实例位于私有子网上。将平衡器放在与实例不同的子网上,在同一可用区内没有性能劣势。这是一个常见的误解。