成功配置云后,在 NSX Advanced Load Balancer 上创建一个虚拟服务。建议的配置是让两个虚拟服务(一个 L7 VS 和一个 L4 VS)具有相同的虚拟 IP (VIP)。

以下是对 UAG 进行负载均衡的配置步骤。

过程

  1. 为 UAG 创建自定义运行状况监控器
    1. 从 UI 中,导航到模板 > 配置文件 > 运行状况监控器
    2. 单击创建
    3. 选择为 Horizon 创建的 Azure 云。
    4. 新建运行状况监控器屏幕中输入以下详细信息。

      字段

      发送间隔

      30

      接收超时

      10

      客户端请求的数据

      GET /favicon.ico HTTP/1.0

      响应代码

      2xx

    5. 单击保存
  2. 创建池

    在创建 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

    1. 导航到模板 > SSL/TLS 配置文件 > 创建
    2. 选择应用程序配置文件
    3. 新建 SSL/TLS 配置文件屏幕中输入必填字段。
    4. 单击密码选项卡,然后选择以下密码
      • 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

    5. 单击保存

      以下是创建 UAG L7 池的步骤:

    1. 导航到应用程序 >
    2. 选择云子屏幕中选择 Azure 云,然后单击下一步
    3. 单击创建池
    4. 新建池屏幕中,更新详细信息,如下所示:


    5. 单击下一步
    6. 步骤 2: 服务器选项卡中,添加 UAG 服务器的服务器 IP 地址,然后单击添加服务器
    7. 单击“下一步”。
    8. 导航到步骤 3: 高级步骤 4: 检查选项卡。
    9. 单击下一步,然后单击保存

      要配置 UAG L4 池,请执行以下操作:

      按照 UAG L7 池下显示的步骤进行操作,但配置如下所示:





  3. 安装 SSL 证书

    SSL 连接将会在 NSX Advanced Load Balancer 虚拟服务中被终止。因此,必须将 SSL 证书分配给虚拟服务。建议安装由有效证书颁发机构签名的证书,而不要使用自签名证书。在 NSX Advanced Load Balancer 中安装证书,并确保导入并链接 CA 证书。有关说明,请参阅VMware NSX Advanced Load Balancer 配置指南》中的“SSL 证书”主题。

  4. 禁用连接多路复用

    在 UAG 负载均衡中,为 System-Secure-HTTP-VDI 配置文件停用连接多路复用。

    要停用连接多路复用,请参阅停用连接多路复用

    1. 导航到模板 > 配置文件 > 应用程序 > System-Secure-HTTP-VDI
    2. 单击编辑图标。
    3. 禁用选项连接多路复用
    4. 单击保存
  5. 为虚拟服务创建 SSL 配置文件

    使用下面给出的配置为虚拟服务创建 SSL 配置文件:

    1. 导航到模板 > SSL/TLS 配置文件 > 创建
    2. 选择应用程序配置文件
    3. 输入以下详细信息:
      • 接受的版本: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

    4. 单击保存
  6. 创建 L7 虚拟服务和 HTTP 请求策略
    1. 导航到应用程序 > 虚拟服务
    2. 单击创建虚拟服务 > 高级设置
    3. 使用 System-Secure-HTTP-VDI 作为应用程序配置文件
    4. 选择在上一步中创建的 SSL 配置文件作为 SSL 配置文件
    5. 单击下一步
    6. 在“步骤 2: 策略”下,转到 HTTP 请求策略,然后单击绿色 + 图标以添加策略规则。
    7. 为主机标头匹配添加策略,如下所示。主机标头是 UAG 服务器的 FQDN。如下所示,在第一个规则中,使用 uag 服务器 1 的主机标头,并在操作中选择了同一个服务器。


    8. 单击保存规则
    9. 同样,创建另一个规则。在此规则中使用 uag server2 的规则主机标头,并在操作下选择同一个服务器。


    10. 单击下一步
    11. 单击下一步并保存配置。
  7. 创建 L4 虚拟服务

    创建另一个虚拟服务,该虚拟服务将与 L7 VIP 的虚拟服务共享同一个 IP 地址。这将确保只需为主协议和辅助协议提供一个虚拟 IP 地址。L7 虚拟服务将处理主协议和隧道,而 L4 虚拟服务将处理其他辅助协议。

    要创建 L4 虚拟服务,请执行以下操作:

    1. 单击创建虚拟服务 > 高级设置
    2. 新建虚拟服务屏幕中,单击 VIP 地址下的切换到高级
    3. 选择作为 VIP 的虚拟服务创建的 L7 虚拟服务。
    4. 服务端口 > 服务下,单击切换到高级
    5. 添加辅助协议的端口号,如下所示:


    6. 按如下所示配置虚拟服务:


  8. 创建 L4 DataScript

    要创建 L4 DataScript,请执行以下操作:

    1. 编辑刚刚创建的 L4 虚拟服务。
    2. 导航到策略 > DataScript
    3. 单击添加 DataScript
    4. 单击要执行的脚本下的下拉菜单,然后单击创建 DataScript
    5. 在“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
    6. 在 DataScript 窗格中,从下拉菜单中选择 L4 池。
    7. 单击保存
    8. 单击保存 DataScript
    9. 保存配置。