我们计划在其后面安装一个应用程序负载均衡器 (ALB) 和多个 EC2 Web 服务器。所有 Web 服务器都监听端口 443 上的 HTTPS。此外,每个 Web 服务器都监听不同的端口上的 HTTPS。
例如:
- 实例 1 监听 443 和 8001
- 实例 2 监听 443 和 8002
- 实例 3 监听 443 和 8003。
服务器数量由自动扩展组决定,每个服务器获得的端口(8001、8002、8003、8004 等)由动态地已分配后服务器启动时,通过咨询第三个仲裁员。
ALB 的理想方式是:
- 当客户端请求“www.mysite.com”时,ALB 会以随机、循环或任何其他标准负载平衡算法将此请求转发到其中一个实例。
- 当客户端请求“www.mysite.com:8001”时,该请求始终被转发到实例 1。
- 当客户端请求“www.mysite.com:8002”时,该请求始终被转发到实例 2。
- 当客户端请求“www.mysite.com:8003”时,该请求始终被转发到实例 3。
我的问题是:
ALB 目前是否默认这样做,或者我们是否需要某种特殊配置,或者我们是否需要不同类型的 ALB?
该系统目前托管在 Azure 上,Azure 负载均衡器可以轻松实现这一点。现在我需要在 AWS 中复制它。
答案1
你可以有很多不同的目标群体连接至单个 ALB。
例如:
- ALB 端口 443 上的侦听器将路由到
TG443
包含所有 3 个实例的端口,并转发到其端口 443 - ALB 端口 8001 上的侦听器将路由到
TG8001
仅包含实例 1并将转发到其端口 8001 - 8002 和 8003 也一样
希望有帮助:)
答案2
ALB 不会这样做默认情况下创建它的那一刻。您可以首先为所有三个实例设置一个目标组,用于端口 443/tcp,然后可以为每个单独的实例设置额外的 TG,并为每个特定的端口/实例 (TG) 对创建转发规则。
您最终将拥有相同的 ALB 端点(URL),并且您将获得不同端口的精确响应。
此外,目标群体将对选定的端口进行健康检查。