17

尝试在 aws 上创建应用程序负载均衡器时(到目前为止,我一直在使用经典的负载均衡器),我收到以下消息:

At least two subnets must be specified

为什么 ALB 会要求我指定两个子网?有没有办法创建它并将其用于单个子网中的实例之间的 LB?

4

3 回答 3

7

所以,在这里要清楚。@pasmwel 基本上回答了文档链接,但我想澄清一下,因为这似乎正在获得意见。

ALB 需要 2 个子网,因为这样如果 1 个可用区出现故障,ALB 仍然可以在其他可用区上运行。

这有点傻……因为 AWS 可以在后台执行此操作。

普通的 ELB 和 TCP LB 无缘无故地不需要这个。但是,如果子网出现故障,它们也会失败。

于 2018-10-16T15:56:42.683 回答
1

您可能希望 ALB 只是在某个地方轻松放置证书、提供一些安全性并轻松与 R53 集成以用于单个目标实例。如果您想使用 Cloudformation 来设置 AWS 的最大使用率,则特别方便。

因此,必须配置 2 个子网似乎很愚蠢。我有一个模糊的回忆,在某处读到这样做并且只使用 1 会导致性能降低,但我可能是在做梦。

于 2020-10-17T18:02:55.807 回答
1

这样如果 1 个区域出现故障

以上是错误的,应该说明

因此,如果该区域中的 1 个可用区 (AZ) 出现故障

问题的答案是,AWS 没有充分的理由要求两个子网。在某些用例中,人们只需要一个子网用于生产,而在其他情况下,开发人员只需要一个子网。有人可能会想,如果只有一个子网,为什么还要使用 ALB。答案是 ALB 可以监控实例运行状况(即使还有其他方法可以监控,例如 CloudWatch。

于 2020-03-26T10:31:28.803 回答