AWS 应用程序负载均衡器是否扫描 EC2 Web 服务器上的监听端口?

AWS 应用程序负载均衡器是否扫描 EC2 Web 服务器上的监听端口?

我们计划在其后面安装一个应用程序负载均衡器 (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),并且您将获得不同端口的精确响应。

此外,目标群体将对选定的端口进行健康检查。

相关内容