![AWS 应用程序负载均衡器是否扫描 EC2 Web 服务器上的监听端口?](https://linux22.com/image/759483/AWS%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E5%99%A8%E6%98%AF%E5%90%A6%E6%89%AB%E6%8F%8F%20EC2%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E7%9B%91%E5%90%AC%E7%AB%AF%E5%8F%A3%EF%BC%9F.png)
我们计划在其后面安装一个应用程序负载均衡器 (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),并且您将获得不同端口的精确响应。
此外,目标群体将对选定的端口进行健康检查。