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

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

对 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 及其功能
  • 电信功能

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

优势

应用程序的高可用性: 自动缩放可确保您的应用程序始终拥有适当数量的 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 许可证中。

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

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

    • 池容量:为自动缩放组中的每个预配置实例分配带宽。确保您在 Citrix ADM 中拥有必要的带宽来配置新实例。有关详细信息,请参阅配置池容量

      自动缩放组中的每个 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 的自动缩放:

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

在基于 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 负载平衡器作为流量分发器进行自动缩放:

使用 Azure 负载平衡器的流量分配 Citrix 自动缩放

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

注意

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

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

Citrix ADM 自动缩放组

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

资源组

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

Azure 后端虚拟机规模集

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

可用区

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

自动缩放的工作原理

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

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 的自动缩放组。

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

  • 阈值限制设置为内存:

    • 最低限额:40

    • 最大限制:85

  • 观看时间 —2 分钟。

  • 冷却时间 —10 分钟。

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

  • DNS 时间生活 —10 秒。

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

线形图 Citrix 自动缩放

事件的顺序

  1. 内存使用超过 T2处的阈值限制。但是,不会触发向外扩展,因为它在指定的手表时间内没有突破。

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

  3. 没有对 T5-T10 之间的违规采取任何操作,因为节点 Provisioning 正在进行中。

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

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

  6. 内存使用率低于 T23的最小阈值限制。但是,不会触发缩放,因为它在指定的手表时间内没有突破。

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

  8. 由于 Citrix ADM 正在等待耗尽现有连接,因此未对 T26-T36 之间的违规采取任何措施。对于基于 DNS 的自动缩放,TTL 有效。

    注意

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

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

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

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