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

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

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

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

下图说明了 ADC 混合和多云 GLB 功能的架构。

本地化后的图片

ADC GLB 节点处理 DNS 名称解析。这些 GLB 节点中的任何一个都可以接收来自任何客户端位置的 DNS 请求。接收 DNS 请求的 GLB 节点返回由配置的负载平衡方法选择的负载平衡器虚拟服务器 IP 地址。衡量指标(站点、网络和持久性衡量指标)在 GLB 节点之间使用衡量指标交换协议 (MEP)(专有 Citrix 协议)进行交换。有关 MEP 协议的更多信息,请参阅配置衡量指标交换协议。 在 GLB 节点中配置的监视器监视同一数据中心中负载平衡虚拟服务器的运行状况。在父子拓扑中,GLB 和 ADC 节点之间的衡量指标通过使用 MEP 进行交换。但是,在父子拓扑中,配置 GLB 和 ADC LB 节点之间的监视器探头是可选的。

Citrix Application Delivery Management (ADM) 服务代理可实现 ADM 与数据中心中的托管实例之间的通信。有关 ADM 服务代理以及如何安装它们的更多信息,请参阅入门

注意

本文档作出以下假设:

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

安全组配置

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

此外,在 GLB 节点上,您必须为 ADNS 服务器 IP 地址打开端口 53,为 MEP 流量交换 GSLB 站点 IP 地址打开端口 3009。在负载平衡节点上,必须打开适当的端口以接收应用程序流量。例如,您必须打开端口 80 以接收 HTTP 流量,并打开端口 443 以接收 HTTPS 流量。打开端口 443,用于 ADM 服务代理和 ADM 之间的 NITRO 通信。

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

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

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

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

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

注意:仅当使用基于接近点和非指标的 GLB 方法以及未配置父子拓扑时,才支持 ADC 以外的负载平衡解决方案。

GLB 方法

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

  • 基于计量标准的 GLB 方法。

    基于指标的 GLB 方法通过衡量指标交换协议从其他 ADC 节点收集衡量指标。

    • 最少连接。客户端请求路由到活动连接最少的负载平衡器。
    • 最小带宽。客户端请求路由到当前提供最少流量的负载平衡器。
    • 最少数据包。客户端请求路由到在过去 14 秒内收到最少数据包的负载平衡器。
  • 基于非度量的 GLB 方法
    • 循环赛客户端请求路由到负载平衡器列表顶部的负载平衡器的 IP 地址。然后,该负载平衡器移动到列表的底部。
    • 源 IP 哈希。此方法使用客户端 IP 地址的哈希值来选择负载平衡器。
  • 基于近似性的 GLB 方法
    • 静态接近。客户端请求路由到最接近客户端 IP 地址的负载平衡器。
    • 往返时间(RTT)。此方法使用 RTT 值(客户端的本地 DNS 服务器与数据中心之间的连接中的时间延迟)来选择性能最佳的负载平衡器的 IP 地址。

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

GLB 拓扑结构

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

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

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

IPv6 支持

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

监视

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

坚持不懈

ADC 混合和多云 GLB 解决方案支持;

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

使用 Citrix ADM 样本进行配置

您可以使用 Citrix ADM 上的默认多云 GLB 样本来配置具有混合和多云 GLB 配置的 ADC 实例。

您可以使用 LB 节点样本的默认多云 GLB 样本配置 ADC 负载平衡节点,这些节点是处理应用程序流量的父子拓扑中的子站点。仅当要在父子拓扑的情况下配置 LB 节点时,才使用此样本。但是,必须使用此样本单独配置每个 LB 节点。

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

您可以在 ADM 上使用已发布的多云 GLB 样本来配置 ADC 实例,使用混合和多云 GLB 配置。

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

本地化后的图片

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

  1. 注册 Citrix Cloud 帐户。

    要开始使用 Citrix ADM,请创建一个新的 Citrix Cloud 公司帐户或加入由贵公司中某人创建的现有帐户。

  2. 登录到 Citrix Cloud 后,单击 Citrix Application Delivery Management 磁贴上的管理,以便首次设置 ADM 服务。

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

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

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

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

  5. 执行安全配置。

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

  6. 在 ADM 中添加 ADC 实例。

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

  7. 使用默认 ADM 样本实现 GLB 和 LB 配置。

    1. 使用多云 GLB 样本在所选 GLB ADC 实例上执行 GLB 配置。

    2. 实施 负载平衡配置。(如果托管实例上已有 LB 配置,则可跳过此步骤。)

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

      • 手动配置实例以实现应用程序的负载平衡。有关如何手动配置实例的更多信息,请参阅设置基本负载平衡

      • 使用样本。您可以使用其中一个 ADM 样本(HTTP/SSL 负载平衡样本或 HTTP/SSL 负载平衡(带监视器)样本)在所选 ADC 实例上创建负载平衡器配置。您还可以创建自己的样本。有关样本的更多信息,请参阅样本

    3. 在以下任何情况下,使用 LB 节点的多云 GLB 样本配置 GLB 父子拓扑:

      • 如果您使用基于指标的 GLB 算法(最小数据包、最小连接、最小带宽)来配置 GLB 和 LB 节点,并且 LB 节点部署在不同的 ADC 实例上。

      • 如果需要站点持久性。

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