Citrix Application Delivery Management 服务

使用 Citrix ADM 在 Microsoft Azure 中自动缩放 Citrix ADC VPX

AutoScaling 是一种云计算方法,根据实际使用情况自动添加或删除资源。当您的站点或应用程序需要按需分配资源以满足不断变化的客户端请求或处理作业时,AutoScaling 非常有用。

对 Web 应用程序或服务的需求可能会有很大差异。为不同的流量需求保持正确数量的 Citrix ADC 实例非常重要。您可以根据需求增加或减少 Microsoft Azure 上的网络资源。因此,它在不影响性能的情况下提供了成本优化。

Citrix Application Delivery Management (ADM) 自动缩放可保持 Citrix ADC 实例的确切数量,以应付不断波动的资源消耗。Citrix ADM 根据资源消耗波动来确定流量流,并决定在 Citrix ADC 实例中动态扩展或扩展。因此,它为您提供了维护正确数量的 Citrix ADC 实例的灵活性。

Citrix ADM 监视 Citrix ADC 实例的资源使用情况,并与配置的阈值匹配。如果其中一个已配置的资源超过指定的阈值,则会触发向外扩展操作。

只有当所有配置的资源的使用率低于正常阈值时,Citrix ADM 才会触发放大操作。

重要信息:

自动缩放支持所有 Citrix ADC 功能,但下列功能除外,这些功能需要群集节点上的配置:

  • GSLB
  • Citrix Gateway 及其功能
  • Telco 功能

有关斑点配置的详细信息,请参阅 带状、部分带状和斑点配置

优势

应用程序的高可用性: AutoScaling 可确保您的应用程序始终拥有适当数量的 Citrix ADC VPX 实例来处理流量需求。它可以确保您的应用程序始终正常运行,而不考虑流量需求。

智能扩展决策和零接触配置: 自动缩放持续监视您的应用程序,并根据需求动态添加或删除 Citrix ADC 实例。当需求在一段时间内增加时,系统会自动添加这些实例。当需求在一段时间内减少时,这些实例将自动移除。Citrix ADC 实例的添加和删除会自动执行,使其成为零接触手动配置。

自动 DNS 管理: Citrix ADM 自动缩放功能提供了自动 DNS 管理。每当添加新的 Citrix ADC 实例时,域名都会自动更新。

常连接终止: 在扩展过程中,Citrix ADC 实例会正常移除,避免客户端连接丢失。

更好的成本管理: 自动扩展可根据需要动态增加或减少 Citrix ADC 实例。此方法使您能够优化所涉及的成本。仅在需要时启动实例并在不需要时终止它们可以降低运营成本。因此,您只需为使用的资源付费。

可观察性: 可观察性是应用程序开发人员或 IT 人员监视应用程序运行状况的关键。Citrix ADM 的自动缩放控制板使您能够显示阈值参数值、自动缩放触发器时间戳、事件和参与自动缩放的实例。

许可要求

为 Citrix 自动扩展组创建的 Citrix ADC 实例使用 Citrix ADC 高级或高级 ADC 许可证。Citrix ADC 群集功能包含在高级或高级 ADC 许可证中。

注意仅在

ADC 高级许可证或高级许可证的 ADM 自动扩展中支持 ADC 群集。

您可以选择以下方法之一来对 Citrix ADM 置备的 Citrix ADC 进行许可:

  • 使用 Citrix ADM 中存在的 ADC 许可证: 在创建自动扩展组时配置池容量、VPX 许可证或虚拟 CPU 许可证。因此,当为 Autoscale 组预配置新实例时,已配置的许可证类型将自动应用于预配置的实例。

    • 池容量:将带宽分配给 Autoscale 组中的每个预配实例。确保您在 Citrix ADM 中具有预配新实例所需的可用带宽。有关详细信息,请参阅配置池容量

      Autoscale 组中的每个 ADC 实例都会从池中签出一个实例许可证以及指定的带宽。

    • VPX 许可证: 将 VPX 许可证应用于新预配置的实例。确保您在 Citrix ADM 中拥有必要数量的可用 VPX 许可证以置备新实例。

      预配置了 Citrix ADC VPX 实例后,该实例将从 Citrix ADM 中签出许可证。有关详细信息,请参阅Citrix ADC VPX 签入和签出许可

    • 虚拟 CPU 许可证: 将虚拟 CPU 许可证应用于新预配置的实例。此许可证指定授予 Citrix ADC VPX 实例的 CPU 数量。确保您在 Citrix ADM 中具有必要数量的虚拟 CPU 来置备新实例。

      预配置了 Citrix ADC VPX 实例后,该实例将从 Citrix ADM 中签出虚拟 CPU 许可证。有关详细信息,请参阅Citrix ADC 虚拟 CPU 许可

    当预配置的实例被销毁或取消置备时,应用的许可证将自动返回到 Citrix ADM。

    要监视已使用的许可证,请导航到 网络 > 许可证 页面。

  • 使用 Microsoft Azure 订阅许可证: 在创建自动扩展组时配置 Azure 市场中可用的 Citrix ADC 许可证。因此,当为自动缩放组预配置新实例时,许可证将从 Azure 市场获取。

支持的用于自动缩放的 Citrix ADC Azure 虚拟机映像

使用至少支持三个网卡的 Azure 虚拟机映像。仅高级版和高级版支持自动缩放 Citrix ADC VPX 实例。有关 Azure 虚拟机映像类型的详细信息,请参阅 Microsoft 文档中的 VM 类型和大小

以下是用于自动扩展的推荐 VM 大小:

  • Standard_DS3_v2

  • Standard_B2ms

  • Standard_DS4_v2

体系结构

Citrix ADM 使用 Azure DNS 或 Azure 负载平衡器 (ALB) 处理客户端流量分配。

使用 Azure DNS 进行流量分配

下图说明了如何使用 Azure 流量管理器作为流量分配器进行基于 DNS 的自动缩放:

流量分布 Citrix 使用 Azure 流量管理器自动缩放

在基于 DNS 的自动缩放中,DNS 充当分布层。Azure 流量管理器是 Microsoft Azure 中基于 DNS 的负载平衡器。流量管理器将客户端流量定向到 Citrix ADM 自动扩展组中可用的相应 Citrix ADC 实例。

Azure 流量管理器将 FQDN 解析为 Citrix ADC 实例的 VIP 地址。

注意:

在基于 DNS 的自动扩展中,Citrix ADM 自动扩展组中的每个 Citrix ADC 实例都需要一个公有 IP 地址。

Citrix ADM 在群集级别触发向外扩展或扩展操作。当触发向外扩展时,将置备已注册的虚拟机并将其添加到群集中。同样,当触发扩展时,节点也会从 Citrix ADC VPX 群集中删除并取消置备。

使用 Azure 负载平衡器的流量分配

下图说明如何使用 Azure 负载均衡器作为流量分配器进行自动缩放:

流量分布 Citrix 使用 Azure 负载均衡器自动缩放

Azure 负载平衡器是群集节点的分发层。ALB 管理客户端流量并将其分发到 Citrix ADC VPX 群集。ALB 将客户端流量发送到 Citrix ADC VPX 群集节点,这些节点在 Citrix ADM 自动扩展组中可用。

注意

公有 IP 地址已分配给 Azure 负载平衡器。Citrix ADC VPX 实例不需要公有 IP 地址。

Citrix ADM 在群集级别触发向外扩展或扩展操作。当触发向外扩展时,注册的虚拟机将被置备并添加到群集中。同样,当触发扩展时,节点也会从 Citrix ADC VPX 群集中删除并取消置备。

Citrix ADM 自动缩放组

自动缩放组是一组 Citrix ADC 实例,它们将应用程序作为单个实体进行负载平衡,并根据配置的阈值参数值触发自动缩放。

资源组

资源组包含与 Citrix ADC 自动缩放相关的资源。此资源组可帮助您管理自动扩展所需的资源。有关详细信息,请参阅管理资源组

Azure 后端虚拟机规模集

Azure 虚拟机规模是相同虚拟机实例的集合。VM 实例的数量可能会增加或减少,具体取决于客户端流量。此集为您的应用程序提供了高可用性。有关详细信息,请参阅虚拟机规模集

可用区

可用区是 Azure 区域内的隔离位置。每个区域由多个可用区组成。每个可用区都属于一个区域。每个可用区都有一个 Citrix ADC VPX 群集。有关详细信息,请参阅Azure 中的可用区

可用性集

可用性集是 Citrix ADC VPX 群集和应用程序服务器的逻辑分组。可用性集有助于跨群集中多个隔离硬件节点部署 ADC 实例。使用可用性集,您可以确保在 Azure 中存在硬件或软件故障时实现可靠的 ADM 自动缩放。有关详细信息,请参阅可用性集

下图说明了可用性集中的自动扩展:

可用性集

Azure 基础结构(ALB 或 Azure 流量管理器)将客户端流量发送到可用性集中的 Citrix ADM 自动缩放组。Citrix ADM 在群集级别触发向外扩展或扩展操作。

自动缩放的工作原理

下面的流程图说明了自动缩放工作流:

Citrix 自动缩放流程图

Citrix ADM 每分钟从自动缩放置备集群收集统计信息(CPU、内存和吞吐量)。

将根据配置阈值评估统计信息。根据统计数据,将触发向外扩展或缩小。当统计数据超过最大阈值时,将触发向外扩展。当统计数据运行在最小阈值以下时触发缩放。

如果触发了横向扩展:

  1. 已置备新节点。

  2. 节点附加到群集,并且配置从群集同步到新节点。

  3. 该节点已在 Citrix ADM 中注册。

  4. 新节点 IP 地址将在 Azure 流量管理器中更新。

如果触发了缩放:

  1. 已标识要删除的节点。

  2. 停止与选定节点的新连接。

  3. 等待指定的时间段以使连接耗尽。在 DNS 流量中,它还会等待指定的生存时间 (TTL) 周期。

  4. 该节点将从群集中分离,从 Citrix ADM 取消注册,然后从 Microsoft Azure 中取消置备。

注意:部署应用程序

时,会在每个可用区域中的群集上创建一个 IP 集。然后,域和实例 IP 地址将注册到 Azure 流量管理器或 ALB。删除应用程序后,域和实例 IP 地址将从 Azure 流量管理器或 ALB 中取消注册。然后,IP 集被删除。

自动缩放方案示例

假设您已在具有以下配置的单个可用性区域中创建名为 asg_arn 的 Autoscale 组。

  • 选定的阈值参数 — 内存使用情况。

  • 设置为内存的阈值限制:

    • 最小限制:40

    • 最大限制:85

  • 观看时间 — 2 分钟。

  • 冷却时间 — 10 分钟。

  • 取消置备期间的等待时间 — 10 分钟。

  • DNS 生存时间 — 10 秒。

创建 AutoScale 组后,将从该组中收集统计信息。自动缩放策略还会评估是否有任何自动缩放事件正在进行中。如果正在进行自动缩放,请等待该事件完成,然后再收集统计信息。

折线图 Citrix 自动缩放

事件的顺序

  1. 内存使用量超过 T2的阈值限制。但是,横向扩展不会触发,因为它在指定的监视时间内没有违反。

  2. 在连续超过最大阈值 2 分钟(观看时间)后, T5 触发向外扩展。

  3. 由于节点 Provisioning 正在进行,因此未对 T5-T10 之间的违规执行任何操作。

  4. 节点在 T10 上置备并添加到群集中。冷却时间开始。

  5. 由于冷却时间,未对 T10-T20 之间的违规行为采取任何行动。此时间段确保了自动缩放组的实例的有机增长。在触发下一个扩展决策之前,它会等待当前流量稳定并平均出现当前实例集。

  6. 内存使用率降至 T23的最低阈值限制以下。但是,不会触发缩放,因为它在指定的监视时间内没有违反。

  7. 在连续超过最小阈值 2 分钟(观看时间)后, T26 触发放量。群集中的节点被标识为取消置备。

  8. 未对 T26-T36 之间的违规执行任何操作,因为 Citrix ADM 正在等待耗尽现有连接。对于基于 DNS 的自动缩放,TTL 生效。

    注意:

    对于基于 DNS 的自动扩展,Citrix ADM 将等待指定的生存时间 (TTL) 期间。然后,它在启动节点取消置备之前等待现有连接耗尽。

  9. 没有对 T37-T39 之间的违规执行任何操作,因为正在进行节点取消置备。

  10. 节点将在 T40 从群集中删除并取消置备。

在启动节点取消置备之前,与选定节点的所有连接都已耗尽。因此,在节点取消置备后跳过冷却时间。

使用 Citrix ADM 在 Microsoft Azure 中自动缩放 Citrix ADC VPX