成功配置云后,在 NSX Advanced Load Balancer 上创建一个虚拟服务。建议的配置是让两个虚拟服务(一个 L7 VS 和一个 L4 VS)具有相同的虚拟 IP (VIP)。
以下是对 UAG 进行负载均衡的配置步骤。
过程
- 为 UAG 创建自定义运行状况监控器
- 从 UI 中,导航到模板 > 配置文件 > 运行状况监控器。
- 单击创建。
- 选择为 Horizon 创建的 Azure 云。
- 在新建运行状况监控器屏幕中输入以下详细信息。
字段
值
发送间隔
30
接收超时
10
客户端请求的数据
GET /favicon.ico HTTP/1.0
响应代码
2xx
- 单击保存。
- 创建池
在创建 UAG L7 池之前,请创建要用于 UAG L7 池的 SSL 配置文件。使用下面给出的配置为 UAG 池创建 SSL 配置文件:
接受的版本:1.2
密码列表:
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- 导航到模板 > SSL/TLS 配置文件 > 创建。
- 选择应用程序配置文件。
- 在新建 SSL/TLS 配置文件屏幕中输入必填字段。
- 单击密码选项卡,然后选择以下密码
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
- 单击保存。
以下是创建 UAG L7 池的步骤:
- 导航到应用程序 > 池。
- 从选择云子屏幕中选择 Azure 云,然后单击下一步。
- 单击创建池。
- 在新建池屏幕中,更新详细信息,如下所示:
- 单击下一步。
- 在步骤 2: 服务器选项卡中,添加 UAG 服务器的服务器 IP 地址,然后单击添加服务器。
- 单击“下一步”。
- 导航到步骤 3: 高级和步骤 4: 检查选项卡。
- 单击下一步,然后单击保存。
- 安装 SSL 证书
SSL 连接将会在 NSX Advanced Load Balancer 虚拟服务中被终止。因此,必须将 SSL 证书分配给虚拟服务。建议安装由有效证书颁发机构签名的证书,而不要使用自签名证书。在 NSX Advanced Load Balancer 中安装证书,并确保导入并链接 CA 证书。有关说明,请参阅《VMware NSX Advanced Load Balancer 配置指南》中的“SSL 证书”主题。
- 禁用连接多路复用
在 UAG 负载均衡中,为 System-Secure-HTTP-VDI 配置文件停用连接多路复用。
要停用连接多路复用,请参阅停用连接多路复用。
- 导航到模板 > 配置文件 > 应用程序 > System-Secure-HTTP-VDI。
- 单击编辑图标。
- 禁用选项连接多路复用
- 单击保存。
- 为虚拟服务创建 SSL 配置文件
使用下面给出的配置为虚拟服务创建 SSL 配置文件:
- 导航到模板 > SSL/TLS 配置文件 > 创建。
- 选择应用程序配置文件。
- 输入以下详细信息:
接受的版本:TLS 1.1 和 1.2
密码列表:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- 单击保存。
- 创建 L7 虚拟服务和 HTTP 请求策略
- 导航到应用程序 > 虚拟服务。
- 单击创建虚拟服务 > 高级设置。
- 使用 System-Secure-HTTP-VDI 作为应用程序配置文件。
- 选择在上一步中创建的 SSL 配置文件作为 SSL 配置文件。
- 单击下一步。
- 在“步骤 2: 策略”下,转到 HTTP 请求策略,然后单击绿色 + 图标以添加策略规则。
- 为主机标头匹配添加策略,如下所示。主机标头是 UAG 服务器的 FQDN。如下所示,在第一个规则中,使用 uag 服务器 1 的主机标头,并在操作中选择了同一个服务器。
- 单击保存规则。
- 同样,创建另一个规则。在此规则中使用 uag server2 的规则主机标头,并在操作下选择同一个服务器。
- 单击下一步。
- 单击下一步并保存配置。
- 创建 L4 虚拟服务
创建另一个虚拟服务,该虚拟服务将与 L7 VIP 的虚拟服务共享同一个 IP 地址。这将确保只需为主协议和辅助协议提供一个虚拟 IP 地址。L7 虚拟服务将处理主协议和隧道,而 L4 虚拟服务将处理其他辅助协议。
要创建 L4 虚拟服务,请执行以下操作:
- 单击创建虚拟服务 > 高级设置。
- 在新建虚拟服务屏幕中,单击 VIP 地址下的切换到高级。
- 选择作为 VIP 的虚拟服务创建的 L7 虚拟服务。
- 在服务端口 > 服务下,单击切换到高级。
- 添加辅助协议的端口号,如下所示:
- 按如下所示配置虚拟服务:
- 创建 L4 DataScript
要创建 L4 DataScript,请执行以下操作:
- 编辑刚刚创建的 L4 虚拟服务。
- 导航到策略 > DataScript。
- 单击添加 DataScript。
- 单击要执行的脚本下的下拉菜单,然后单击创建 DataScript。
- 在“L4 事件”部分下,为 L4 请求事件脚本字段添加以下 DataScript。
avi_port = avi.vs.port() if avi_port == "4001" then avi.pool.select("L4-pool", "UAG_server1_IP", 4172) elseif avi_port == "4002" then avi.pool.select("L4-pool", "UAG_server2_IP", 4172) elseif avi_port == "5001" then avi.pool.select("L4-pool", "UAG_server1_IP", 8443) elseif avi_port == "5002" then avi.pool.select("L4-pool", "UAG_server2_IP", 8443) end
- 在 DataScript 窗格中,从池下拉菜单中选择 L4 池。
- 单击保存。
- 单击保存 DataScript。
- 保存配置。