面向混合和多云部署的 NetScaler 全局负载平衡

NetScaler 混合和多云全局负载平衡 (GLB) 解决方案使您能够在混合云、多云和本地部署中的多个数据中心之间分配应用程序流量。NetScaler 混合和多云 GLB 解决方案可帮助您在混合云或多云中管理负载平衡设置,而无需更改现有设置。 此外,如果您有本地设置,则可以在完全迁移到云之前使用 NetScaler 混合和多云 GLB 解决方案测试云中的某些服务。例如,您只能将一小部分流量路由到云,并在本地处理大部分流量。NetScaler 混合和多云 GLB 解决方案还使您能够通过单个统一控制台跨地理位置管理和监视 NetScaler 实例。

混合云和多云架构还可以避免“供应商锁定”并使用不同的基础结构来满足合作伙伴和客户的需求,从而提高整体企业绩效。借助多种云架构,您可以更好地管理基础设施成本,因为现在只需为使用量付费。此外,当您现在按需使用基础结构时,还可以更好地扩展应用它还提供了从一个云快速切换到另一个云的能力,以充分利用每个提供商的最佳产品。

NetScaler 混合和多云 GLB 解决方案的架构

下图说明了 NetScaler 混合云和多云 GLB 功能的体系结构。

NetScaler 混合和多云 GLB 解决方案的架构

NetScaler GLB 节点处理 DNS 名称解析。这些 GLB 节点中的任何一个都可以从任何客户端位置接收 DNS 请求。接收 DNS 请求的 GLB 节点返回由配置的负载平衡方法选择的负载平衡器虚拟服务器 IP 地址。衡量指标(站点、网络和持久性衡量指标)在 GLB 节点之间使用衡量指标交换协议 (MEP)(专有 Citrix 协议)进行交换。有关 MEP 协议的更多信息,请参阅 配置指标交换协议

在 GLB 节点中配置的监视器监视同一数据中心中负载平衡虚拟服务器的运行状况。在父子拓扑中,GLB 和 NetScaler 节点之间的指标是使用 MEP 交换的。但是,在父子拓扑中,配置 GLB 和 NetScaler LB 节点之间的监视器探测是可选的。

该代理支持 NetScaler 控制台与数据中心中的托管实例之间的通信。有关代理及其安装方法的更多信息,请参阅入门。

注意

本文档作出以下假设:

  • 如果您有现有的负载平衡设置,则该设置已启动并正在运行。
  • 在每个 NetScaler GLB 节点上配置 SNIP 地址或 GLB 站点 IP 地址。在与其他数据中心交换指标时,此 IP 地址用作数据中心源 IP 地址。
  • 在每个 NetScaler GLB 实例上配置 ADNS 或 ADNS-TCP 服务以接收 DNS 流量。
  • 云服务提供程序中配置了所需的防火墙和安全组。

安全组配置

您必须在云服务提供商中设置所需的防火墙/安全组配置。有关 AWS 安全功能的更多信息,请参阅 AWS 文档。有关 Microsoft Azure 网络安全组的更多信息,请参阅 Microsoft Azure 文档

此外,在 GLB 节点上,必须为 ADNS Service/DNS 服务器 IP 地址打开端口 53,为 GSLB 站点 IP 地址打开端口 3009,以进行 MEP 流量交换。在负载平衡节点上,必须打开相应的端口才能接收应用程序流量。例如,您必须打开端口 80 以接收 HTTP 流量,打开端口 443 以接收 HTTPS 流量。打开端口 443,用于代理和 NetScaler 控制台之间的 NITRO 通信。

对于动态往返时间 GLB 方法,必须打开端口 53 以允许 UDP 和 TCP 探测,具体取决于配置的 LDNS 探测类型。UDP 或 TCP 探测是使用其中一个 SNIP 启动的,因此必须为绑定到服务器端子网的安全组完成此设置。

NetScaler 混合和多云 GLB 解决方案的功能

本节介绍 NetScaler 混合和多云 GLB 解决方案的一些功能:

与其他负载平衡解决方案的兼容性

NetScaler 混合和多云 GLB 解决方案支持各种负载平衡解决方案,例如 NetScaler 负载平衡器、Nginx 和其他第三方负载平衡器。

注意

只有在使用基于近距离和非基于指标的 GLB 方法并且未配置父子拓扑时,才支持 NetScaler 以外的负载平衡解决方案。

GLB 方法

NetScaler 混合和多云 GLB 解决方案支持以下 GLB 方法。

  • 基于指标的 GLB 方法。基于指标的 GLB 方法通过衡量指标交换协议从其他 NetScaler 节点收集衡量指标。
    • 最少连接:客户端请求路由到活动连接最少的负载平衡器。
    • 最小带宽:客户端请求路由到当前服务的流量最少的负载平衡器。
    • 最少的数据包:客户端请求被路由到过去 14 秒内收到最少数据包的负载平衡器。
  • 基于非指标的 GLB 方法
    • 循环调度:客户端请求被路由到负载平衡器列表顶部的负载平衡器的 IP 地址。然后,该负载平衡器移至列表底部。
    • 源 IP 哈希:此方法使用客户端 IP 地址的哈希值来选择负载平衡器。
  • 基于邻近度的 GLB 方法
    • 静态邻近性:客户端请求路由到最接近客户端 IP 地址的负载平衡器。
    • 往返时间 (RTT):此方法使用 RTT 值(客户端的本地 DNS 服务器与数据中心之间连接的时间延迟)来选择性能最佳的负载平衡器的 IP 地址。

有关负载平衡方法的更多信息,请参阅 负载平衡算法

GLB 拓扑

NetScaler 混合和多云 GLB 解决方案支持主动-被动拓扑和父子拓扑。

  • 主动-被动拓扑-提供灾难恢复,并通过防范故障点确保应用程序的持续可用性。如果主数据中心出现故障,则被动数据中心将开始运行。有关 GSLB 主动-被动拓扑的更多信息,请参阅 配置 GSLB 以进行灾难恢复
  • 父子拓扑-如果您使用基于指标的 GLB 方法来配置 GLB 和 LB 节点,并且 LB 节点部署在不同的 NetScaler 实例上,则可以使用该拓扑。在父子拓扑中,LB 节点(子站点)必须是 NetScaler 设备,因为父站点和子站点之间的衡量指标交换是通过衡量指标交换协议 (MEP) 进行的。

有关父子拓扑的更多信息,请参阅 使用 MEP 协议进行父子拓扑部署

IPv6 支持

NetScaler 混合和多云 GLB 解决方案也支持 IPv6。

监视

NetScaler 混合和多云 GLB 解决方案支持内置监视器,并提供启用安全连接的选项。但是,如果 LB 和 GLB 配置位于同一 NetScaler 实例上,或者使用了父子拓扑,则配置监视器是可选的。

持久性

NetScaler 混合和多云 GLB 解决方案支持以下内容:

  • 基于源 IP 的持久性会话,因此,如果来自同一客户端的多个请求到达配置的超时窗口,则会将这些请求定向到同一服务。如果超时值在客户端发送另一个请求之前过期,则会话将被丢弃,并使用配置的负载平衡算法为客户端的下一个请求选择新服务器。
  • 溢出持久性,以便备份虚拟服务器继续处理其收到的请求,即使在主服务器上的负载低于阈值之后也是如此。有关更多信息,请参阅 配置溢出
  • 站点持久性,以便 GLB 节点选择数据中心来处理客户端请求,并为所有后续 DNS 请求转发所选数据中心的 IP 地址。如果配置的持久性适用于处于关闭状态的站点,则 GLB 节点使用 GLB 方法选择新站点,而新站点将变为永久站点,用于客户端的后续请求。

使用 NetScaler 控制台样书进行配置

您可以使用 NetScaler 控制台上的默认多云 GLB 样书使用混合和多云 GLB 配置配置 NetScaler 实例。

您可以使用适用于 LB 节点样书的默认多云 GLB 样书来配置 NetScaler 负载平衡节点,这些节点是处理应用程序流量的父子拓扑中的子站点。只有在父子拓扑中要配置 LB 节点时,才使用此样书。但是,必须使用此样书单独配置每个 LB 节点。

NetScaler 混合和多云 GLB 解决方案配置的工作流

您可以在 NetScaler 控制台上使用已发布的多云 GLB 样书,使用混合云和多云 GLB 配置配置 NetScaler 实例。

下图显示了配置 NetScaler 混合云和多云 GLB 解决方案的工作流程。工作流逻辑示意图中的步骤将在逻辑示意图之后进行更详细的解释。

配置工作流

以云管理员身份执行以下任务:

  1. 注册 Citrix Cloud 帐户。

    要开始使用 NetScaler Console,请创建 Citrix Cloud 公司帐户或加入由贵公司某人创建的现有帐户。

  2. 登录 Citrix Cloud 后,单击 **NetScaler 控制台**磁贴上的“管理”,首次设置 NetScaler Console。

  3. 下载并安装多个代理。

    您必须在网络环境中安装和配置代理,以启用 NetScaler 控制台与数据中心或云中的托管实例之间的通信。在每个区域中安装代理,以便您可以在托管实例上配置 LB 和 GLB 配置。LB 和 GLB 配置可以共享一个代理。有关上述三个任务的更多信息,请参阅 入门

  4. 在 Microsoft Azure /AWS 云/本地数据中心上部署负载平衡器。

    根据您在云和本地部署的负载平衡器的类型,请相应地配置它们。例如,您可以在 Microsoft Azure Resource Manager (ARM) 门户、Amazon Web Services (AWS) 虚拟私有云和本地数据中心中配置 NetScaler VPX 实例。通过创建虚拟机和配置其他资源,将 NetScaler 实例配置为独立模式下的 LB 或 GLB 节点。有关如何部署 NetScaler VPX 实例的详细信息,请参阅以下文档:

  5. 执行安全配置。

    在 ARM 或 AWS 中配置网络安全组和网络 ACL,以控制实例和子网的入站和出站流量。

  6. 在 NetScaler 控制台中添加 NetScaler 实例。

    NetScaler 实例是您想要从 NetScaler 控制台发现、管理和监视的网络设备或虚拟设备。要管理和监视这些实例,必须将实例添加到服务中,同时注册 LB(如果您使用 NetScaler 进行 LB)和 GLB 实例。 有关如何在 NetScaler 控制台中添加 NetScaler 实例的更多信息,请参见入门

  7. 使用默认 NetScaler 控制台样书实现 GLB 和 LB 配置。

    • 使用 多云 GLB 样书 在所选 GLB NetScaler 实例上运行 GLB 配置。

    • 实现 负载平衡配置。(如果您在托管实例上已经有负载平衡配置,则可以跳过此步骤。)

    您可以通过以下两种方式之一在 NetScaler 实例上配置负载平衡器:

    • 手动配置实例以实现应用程序的负载平衡。有关如何手动配置实例的更多信息,请参阅 设置基本负载平衡
    • 使用样书。您可以使用一本 NetScaler 控制台样书(HTTP/SSL 负载平衡样书或 HTTP/SSL 负载平衡(带监视器)样书)在选定的 NetScaler 实例上创建负载平衡器配置。您也可以创建自己的样书。有关样书的更多信息,请参阅 样书
  8. 在以下任何情况下,使用 LB 节点的多云 GLB 样书配置 GLB 父子拓扑:

    • 如果您使用基于指标的 GLB 算法(最少数据包、最少连接、最小带宽)来配置 GLB 和 LB 节点,并且 LB 节点部署在不同的 NetScaler 实例上。
    • 如果需要站点持久性。
面向混合和多云部署的 NetScaler 全局负载平衡