ALB _and_ EC2 实例必须在多个 AZ 上?

ALB _and_ EC2 instances have to be on multiple AZs?

要使 ALB(其安全组包含多个用于 HA 的可用区)有意义,ALB 目标组中的 EC2 实例也必须位于多个可用区上,对吗?

否则,如果所有实例都在同一个 AZ 中,但 ALB 支持多个 AZ,这就没有意义了,我做对了吗?

ALB's target group ALSO have to be living on more than one AZ, is that correct?

这是不正确的。您 不必 将它们放在多个 1 AZ 中。但它们仍然必须至少位于为 ALB 启用的 AZ 之一 - 它不能是不同的 AZ。

而您不必这样做的原因是因为对于 ALB cross-zone load balancing 始终启用:

When cross-zone load balancing is enabled, each load balancer node distributes traffic across the registered targets in all enabled Availability Zones. With Application Load Balancers, cross-zone load balancing is always enabled.

this doesn't make sense, am I getting this right?

有点。您的 ALB 需要两个 AZ 用于 HA。因此,并不真正推荐将所有实例都放在其中一个中。但有时你必须这样做。例如,您在 ASG 中的实例共享一个 EBS 卷池。 EBS 卷具有区域范围,因此您必须将所有实例绑定到单个可用区。