NSX Advanced Load Balancer 可以根据需要部署在 Unified Access Gateway (UAG)、连接服务器和 App Volumes Manager 等的前面。本节介绍配置 NSX Advanced Load Balancer 以通过 VMware Horizon 部署中的 UAG 服务器对流量进行负载均衡的建议方法。此外,还将介绍对连接服务器和 App Volumes Manager 进行负载均衡的步骤。
示例拓扑
请考虑具有示例拓扑的请求流:
示例拓扑说明了 DMZ 网络中的 UAG 部署。但是,NSX Advanced Load Balancer 支持在 DMZ 和非 DMZ 网络中部署。
FQDN |
实体描述 |
实体描述 |
实际 IP |
---|---|---|---|
uagvip.site1.com |
NSX Advanced Load Balancer LB VIP 的 FQDN |
VIP 1 |
10.10.5.200 |
uag1.site1.com |
站点 1 上 UAG 服务器 1 的 FQDN |
VIP 1 |
10.58.17.163 |
uag2.site1.com |
站点 1 上 uag 服务器 2 的 FQDN |
VIP 1 |
10.58.17.164 |
示例中使用的 IP 和 FQDN 仅用于说明目的。请将其替换为您的实际环境详细信息。
请求流
此部署的请求流如下所示:
用户发送通过 Internet 访问 uagvip.site1.com 的请求。
请求进入 NSX Advanced Load Balancer。
NSX Advanced Load Balancer 执行负载均衡,并将请求发送到其中一个后端 UAG 服务器。在此情况下,让我们假设 NSX Advanced Load Balancer 将请求发送到 UAG 服务器 1,即,uag1.site1.com
UAG 使用 uag1.site1.com FQDN 将 307 重定向发送到客户端。必须按照 Unified Access Gateway 支持 HTTP 主机重定向中所述为 UAG 服务器配置 307 功能。在 UAG 上检查此解决方案的重要配置中对示例 UAG 配置进行了介绍。
客户端查找位置标头并在位置标头中查询主机 (uag1.site1.com)。
使用创建的 DNS 条目(如上表中所示)时,FQDN (uag1.site1.com) 将解析为 NSX Advanced Load Balancer VIP IP。
在 307 重定向中,所有进一步的流都将设置主机标头。
客户端开始使用新的 UAG FQDN (uag1.site1.com) 进行身份验证。
当请求发送到 NSX Advanced Load Balancer 时,NSX Advanced Load Balancer 虚拟服务将解析主机标头,并使用 HTTP 策略根据主机标头 (uag1.site1.com) 转发到 UAG。
UAG1.site1.com 执行身份验证、验证授权并返回辅助协议信息,其中包括协议的外部 URL 及其配置的自定义端口。
客户端启动应用程序后,L4 虚拟服务将使用 DataScript 根据入站目标端口(即自定义端口)将请求发送到正确的 UAG 服务器。
负载均衡配置
配置负载均衡 UAG 的步骤如下所示:
要添加 HTTP 请求策略,请单击上面创建的虚拟服务中的策略选项卡。
单击 HTTP 请求选项卡
单击 + 加号图标以添加 HTTP 请求规则。
保存配置。
注:如请求流中所述,NSX Advanced Load Balancer L7 虚拟服务将在来自客户端的入站请求中查找主机标头。根据主机标头,将请求发送到其中一个 UAG 服务器。
在上面显示的 http 策略中,将创建规则以查找主机标头,然后根据主机标头将请求路由到其中一个后端 UAG 服务器。
例如,如果主机标头为 uag1.site1.com,则将请求发送到 UAG1 服务器。如果主机标头为 uag2.site1.com,则将请求发送到 UAG2 服务器
-
注:
此处的自定义端口(即 4001 和 4002)用于 Blast,而 5001 和 5002 用于 PCoIP。这些是在 UAG 上配置的。请注意,不存在仅使用这些端口号的限制。您可以在此处使用任何非标准端口号,但需要确保在 UAG 和 NSX Advanced Load Balancer 上这些端口号的配置相同。
在 UAG 上检查此解决方案的重要配置中对示例配置进行了介绍。
-
注:
此 DataScript 用于确保将来自特定端口的请求路由到相应的 UAG 服务器。端口 (4001/4002/5001/5002) 用于使用此 DataScript 建立持久性逻辑。确保 NSX Advanced Load Balancer 将端口转换为标准 Blast/PCoIP 端口(即 8443/4172),同时将请求发送到其中一个 UAG 服务器。这一点非常重要,因为对于 Blast 和 PCoIP,UAG 服务器将分别侦听端口 8443 和 4172。UAG 服务器不理解自定义端口 - 4001/4002/5001/5002。
如果存在更多 UAG 服务器,请确保在创建 DataScript 之前将所有服务器 IP:端口对添加到 L4 池。
在 UAG 上检查此解决方案的重要配置
Blast URL 必须指向具有正确端口号的 UAG 主机名/FQDN,如下所示,例如:
站点 1 – UAG1 - https://<UAG1 FQDN>:4001/
站点 1 – UAG2 - https://<UAG2 FQDN>:4002/
同样,PCoIP 必须指向具有正确端口号的 NSX Advanced Load Balancer VIP。
站点 1 – UAG1 - https://<站点 1 上的 NSX Advanced Load Balancer VIP IP>:5001/
站点 1 – UAG2 - https://<站点 1 上的 NSX Advanced Load Balancer VIP IP>:5002/
必须在所有 UAG 上配置主机重定向映射。
源主机是 LB FQDN。例如,uagvip.site1.com
重定向主机是 UAG 的 FQDN。例如,uag1.site1.com
在所有 UAG 服务器上上载 NSX Advanced Load Balancer VS 证书
其他注意事项
必须在 SAML IDP 中添加所有主机名或 FQDN。
在 NSX Advanced Load Balancer 上安装相同的证书和密钥对,并将其绑定到 UAG L7 VS。
在某些情况下,访问 VMware Horizon Client 时,同一站点可能会显示多个图标,如下所示:
即将发布的 Horizon Client 版本中将解决该问题。
为 UAG 流量启用 WAF
有关更多信息,请参阅为 UAG 流量启用 WAF。
对虚拟服务器进行负载均衡
支持使用 L4 和 L7 虚拟服务通过连接服务器对流量进行负载均衡。但建议使用 L7 虚拟服务。
要了解如何使用 L7 虚拟服务通过连接服务器对流量进行负载均衡,请参阅通过连接服务器对流量进行负载均衡。