在 Azure 中部署 Session Recording 以及平衡其负载

必备条件

  • 您已经在 Azure 中安装了 Citrix Virtual Apps and Desktops。
  • 您有一个 Azure 帐户。

步骤 1:将 Citrix Virtual Apps and Desktops 安装程序上载到 Azure

注意:

如果使用您的 Citrix 帐户凭据访问 Citrix Virtual Apps and Desktops 下载页面并将产品 ISO 文件下载到 Azure 中的 VM,请跳过步骤 1。

  1. Azure 门户中,创建一个通用 v2 存储帐户并接受默认性能层 Standard

    对 Azure 存储的所有访问都通过存储帐户进行。

    创建存储帐户

  2. 导航到新存储帐户,然后在 Blob service(Blob 服务)部分中选择 Containers(容器)以创建容器。

    创建容器

  3. 将 Citrix Virtual Apps and Desktops 安装程序上载到容器中。

    上载 blob

步骤 2:在 Azure 门户中创建 SQL 托管实例

有关详细信息,请参阅创建 Azure SQL 托管实例

步骤 3:创建 Azure 虚拟机 (VM)

对于映像,请选择 Windows Server 2019 Datacenter – Gen1,对于大小,请选择 Standard_D4as_v4 – 4 vcpus, 16GiB memory(Standard_D4as_v4 – 4 个 vcpu,16 GB 内存)。有关详细信息,请参阅在 Azure 门户中创建 Windows 虚拟机

在 Azure 中创建 VM

步骤 4:远程桌面并将 Citrix Virtual Apps and Desktops 安装程序下载到 Azure VM

将安装程序下载到 Azure VM

步骤 5:运行安装程序以在 Azure VM 上安装 Session Recording 组件

有关详细信息,请参阅安装 Session Recording Administration 组件

步骤 6:配置 Azure 文件共享以存储录制件

要创建 Azure 文件共享以存储录制件,请完成以下步骤:

  1. Azure 门户中,创建存储帐户,然后创建 Azure 文件共享。

    有关快速入门指南,请参阅使用 Azure 门户创建和管理 Azure 文件共享。下表建议您考虑的配置。

    录制文件大小(MB/小时) 每天录制的会话数 文件共享类型 文件共享配额 (TB) Session Recording Server 数量 Session Recording Server 大小
    < 6.37 < 1000 HDD Standard (StorageV2) 2 1 Standard D4as_v4
    < 6.37 1000–2000 SSD Premium 3 1 Standard D4as_v4
    < 6.37 2000–3000 SSD Premium 5 1 Standard D4as_v4
    < 6.37 3000–4000 SSD Premium 6 1 Standard D4as_v4
    大约 10 < 1000 HDD Standard (StorageV2) 3 1 Standard D4as_v4
    大约 10 1000–2500 SSD Premium 6 1 Standard D4as_v4
    大约 10 2500–4000 SSD Premium 10 2 Standard D4as_v4

    文件共享配额是根据每天 8 小时、每月 23 个工作日和每个录制文件一个月的保留期限计算的。

  2. 将 Azure 文件共享凭据添加到安装了 Session Recording Server 的主机。

    1. 以管理员身份启动命令提示符,然后将驱动器更改为 <Session Recording Server 安装路径>\Bin 文件夹。

      默认情况下,Session Recording Server 安装在 C:\Program Files\Citrix\SessionRecording\Server 中。

    2. 运行 SsRecUtils.exe -AddAzureFiles <storageAccountName> <fileShareName> <accesskey> 命令。

      其中,

      • <storageaccountname> 是 Azure 中您的存储帐户的名称。
      • <filessharename> 是您的存储帐户中包含的文件共享的名称。
      • <accesskey> 是可用于访问文件共享的存储帐户密钥。

      有两种方法可以获取您的存储帐户密钥:

      • 可以从单击文件共享页面中的连接图标时显示的连接字符串中获取您的存储帐户密钥。

        包含您的存储帐户密钥信息的连接字符串

      • 也可以通过单击存储帐户页面左侧导航中的访问密钥来获取存储帐户密钥。

        访问密钥

    3. 将 Azure 文件共享装载到安装了 Session Recording Server 的主机。

      1. 打开 Session Recording Server 属性
      2. 单击存储选项卡上的添加
      3. 使用 \\<storageaccountname>.file.core.windows.net\<filessharename>\<subfolder> 格式输入 UNC 路径。

        在文件共享下指定一个子文件夹以存储录制文件。然后,Session Recording Server 会自动为您创建子文件夹。

        Azure 文件共享示例

      4. 单击文件存储目录对话框中的确定
      5. 单击 Session Recording Server 属性窗口中的应用
      6. 应用变为灰色后单击确定
      7. 系统提示您重新启动 Session Recording Storage Manager 服务时单击

        服务重新启动提示

步骤 7:添加负载平衡器

如果有多个 Session Recording Server,我们建议您在其前面添加负载平衡器。Azure 提供了许多对流量请求进行负载平衡的选项。本部分内容将引导您完成在 Azure 中创建 Citrix ADC、Azure 负载均衡器和 Azure 应用程序网关的过程。

方案 1:在 Azure 中创建 Citrix ADC VPX 实例

  1. Azure 门户中,中搜索框中键入 Citrix ADC。

    在搜索框中键入 Citrix ADC

  2. 选择 Citrix ADC VPX Bring Your Own License(Citrix ADC VPX 自带许可证)计划,然后单击 Create(创建)。

    选择计划

  3. 选择或创建资源组,然后在 Basics(基本)选项卡中设置其他设置。

  4. 设置 VM 配置。

    VM 配置

  5. 如有必要,请检查并修改网络设置。选择 ssh (22), http (80), https (443)(ssh (22)、http (80)、https (443))用于公共入站端口。

    虚拟网络将自动创建。如果您已安装 Session Recording 环境,则可以使用其虚拟网络和服务器子网设置。

    Citrix ADC 网络设置

    更多 Citrix ADC 网络设置

  6. 单击 Next: Review + create(下一步: 检查 + 创建)创建 Citrix ADC VPX 实例并等待部署完成。

    通过了创建 Citrix ADC VPX 实例的验证

  7. 将子网 IP (SNIP) 地址和 Citrix ADC VIP 地址设置为位于同一子网中。

    SNIP 地址和 VIP 地址必须位于同一子网中。在此示例中,我们将 VIP 地址设置为在 SNIP 地址的子网中。

    1. 停止 citrix-adc-vpx 虚拟机。
    2. 更改 VIP 地址的子网。

      更改 VIP 地址的子网

      保存新子网

    3. 启动 citrix-adc-vpx 虚拟机

选项 2:创建 Azure 负载均衡器

Azure 负载均衡器属于 TCP 直通服务。下图显示了如何通过 TCP 直通进行负载平衡。

通过 TCP 直通进行负载平衡

  1. 创建 Azure 负载均衡器。
    1. 在 Azure 门户中搜索并从 Marketplace(商城)中选择 Load Balancers(负载平衡器)。

      在“Marketplace”(商城)中搜索“Azure Load Balancer”(Azure 负载均衡器)

      Create load balancer(创建负载平衡器)页面的 Basics(基本)选项卡 上,按下表所述配置设置:

      设置
      订阅 选择您的订阅。
      资源组 例如,选择之前创建的 srlbtest
      名称 进入 SRLoadBalance
      地理区域 选择 (US) East US((美国)美国东部)。
      类型 选择 Internal(内部)。
      SKU 选择 Standard(标准)
      虚拟网络 例如,选择之前创建的 srazureautovnet
      子网 例如,选择之前创建的 srazureautosubnet
      IP 地址分配 选择 Dynamic(动态)。
      可用性区域 选择 Zone-redundant(区域冗余)。

      创建 Azure 负载均衡器

    2. 添加负载平衡器资源,包括后端池、运行状况探测和负载平衡规则。

      • 添加后端池。

        从资源列表中选择您创建的负载平衡器,然后单击左侧导航栏中的 Backend pools(后端池)。单击 Add(添加)添加后端池。

        添加后端池

        输入新后端池的名称,然后单击 Add(添加)。

        添加了后端池

      • 添加运行状况探测。

        从资源列表中选择您创建的负载平衡器,然后单击左侧导航栏中的 Health probes(运行状况探测)。

        添加运行状况探测

        单击 Add(添加)在端口 80、22334、1801 和 443 上添加运行装亏昂探测。

        端口上的运行状况探测

        例如,使用以下设置在端口 80 上创建运行状况探测。

        设置
        名称 输入 SRHealthProbe80
        协议 选择 TCP
        Port(端口) 输入 80
        Interval(时间间隔) 5
        运行不正常阈值 对于 VM 被视为运行不正常之前必须发生的运行不正常阈值或连续探测失败的次数,请选择 2。

        端口 80 上的运行状况探测示例

      • 添加负载平衡规则。

        从资源列表中选择您创建的负载平衡器,然后单击左侧导航栏中的 Load balancing rules(负载平衡规则)。单击 Add(添加)添加负载平衡规则。

        添加负载平衡规则

        单击 Add(添加)为端口 80、22334、1801 和 443 添加负载平衡规则。

        端口上的负载平衡规则

        例如,使用以下设置为端口 80 创建负载平衡规则。

        设置
        名称 例如,输入名称 SRTCPRule80
        IP 版本 选择 IPv4
        前端 IP 地址 选择 LoadBalancerFrontEnd
        协议 选择 TCP
        Port(端口) 输入 80
        后端端口 输入 80
        后端池 选择 SRBackendPool
        运行状况探测 选择 SRHealthProbe80
        会话持久性 选择 Client IP(客户端 IP)。
        空闲超时(分钟) 接受默认设置。
        TCP 重置 选择已启用
        出站源网络地址转换 (SNAT) 选择 (Recommended) Use outbound rules to provide backend pool members access to the internet((推荐)使用出站规则为后端池成员提供 Internet 访问权限)。

        端口 80 的负载平衡规则示例

      • 将安装了 Session Recording Server 的 Azure VM 添加到后端池。

        将 Session Recording Server VM 添加到后端池

        后端池中的 VM

    3. 测试 Azure 负载平衡器。

      如果无法将服务器添加到后端池,则会显示以下错误消息 NetworkInterfaceAndLoadBalancerAreInDifferentAvailabilitySets,取消服务器网络接口的公用 IP 地址的关联。

      取消公用 IP 地址的关联

选项 3:创建 Azure 应用程序网关

提示:

应用程序网关 V2 不支持通过启用了 NTLM 的代理的路由请求。

  1. 创建 Azure 应用程序网关。

    在创建应用程序网关时配置以下设置。

    • Basics(基本)选项卡上,将 Tier(等级)设置为 Standard(标准)。
    • Frontends(前端)选项卡上,将 Frontend IP address type(前端 IP 地址类型)设置为 Private(专用)。新应用程序网关将用作内部负载平衡器。
  2. 添加后端池。

    Azure 应用程序网关后端池

  3. 创建 HTTP 设置。

    Azure 应用程序网关同时支持 HTTP 和 HTTPS 以便将请求路由到后端服务器。为端口 80、443 和 22334 创建 HTTP 设置。

    • 端口 80 上的 HTTP

      端口 80 上的 HTTP

    • 端口 443 上的 HTTP

      在应用程序网关 V1 中允许使用后端服务器需要身份验证证书。身份验证证书是 Base-64 编码的 X.509 (.CER) 格式的后端服务器证书的公钥。有关如何从 TLS/SSL 证书中导出公钥的信息,请参阅导出身份验证证书(适用于 v1 SKU)

      端口 443 上的 HTTP

      端口 443 上的 HTTP 的额外设置

    • 端口 22334 上的 HTTP 或 HTTPS

      如果 WebSocket 使用 HTTP,请使用与端口 80 相同的设置。 如果 WebSocket 使用 HTTPS,请使用与端口 443 相同的设置。

  4. 添加前端 IP 地址。

    前端 IP 配置

  5. 添加侦听器。

    在端口 80、443 和 22334 上添加侦听器,例如:

    端口上的监听器

    • 端口 80 上的侦听器

    端口 80 上的侦听器

    • 端口 443 上的侦听器

      创建自签名证书并在创建 HTTPS 侦听器时将证书上载到 Azure 门户。有关详细信息,请参阅 TLS 终止支持的证书创建自签名证书

      端口 443 上的侦听器

    • 端口 22334 上的侦听器

      如果 WebSocket 使用 HTTP,请使用与端口 80 相同的设置。如果 WebSocket 使用 HTTPS,请使用与端口 443 相同的设置。以下示例显示了端口 22334 上 HTTPS 侦听器的设置。

      端口 22334 上的侦听器

  6. 创建请求路由规则。

    为端口 80、443 和 22334 创建规则,例如:

    请求路由规则

    • 端口 80 的路由规则

      端口 80 的请求路由规则 -“Listener”(监听器)选项卡

      端口 80 的请求路由规则 -“Backend targets”(后端目标)选项卡

    • 端口 443 的路由规则

      端口 443 的请求路由规则 -“Listener”(侦听器)选项卡

      端口 443 的请求路由规则 -“Backend targets”(后端目标)选项卡

    • 端口 22334 的路由规则

      端口 22334 的请求路由规则 -“Listener”(侦听器)选项卡

      端口 22334 的请求路由规则 -“Backend targets”(后端目标)选项卡

  7. 将安装了 Session Recording Server 的 Azure VM 添加到后端池。

  8. 根据知识中心文章 CTX230015 配置 Session Recording Server。