Citrix Application Delivery Management 服务

体系结构

下图说明了以 DNS 作为流量分配服务器的自动缩放功能的体系结构。

AWS-autoscale-architecture-NLB

下图说明了以 NLB 作为流量分配器的自动缩放功能的体系结构。

AWS-autoscale-architecture-NLB

Citrix Application Delivery Management (ADM)

Citrix Application Delivery Management 是一种基于 Web 的解决方案,用于管理部署在本地或云上的所有 Citrix ADC 部署。您可以使用此云解决方案从单一、统一和集中的基于云的控制台管理、监控和故障排除整个全球应用程序交付基础架构。Citrix Application Delivery Management (ADM) 提供了在 Citrix ADC 部署中快速设置、部署和管理应用程序交付所需的所有功能,并对应用程序运行状况、性能和安全性进行了丰富的分析。

自动扩展组是在 Citrix ADM 中创建的,而 Citrix ADC VPX 实例则是从 Citrix ADM 预配置的。然后通过 Citrix ADM 中的样本部署应用程序。

流量分销商(NLB 或 DNS/Route53)

NLB 或 DNS/Route53 用于在自动扩展组中的所有节点之间分配流量。有关详细信息,请参阅自动缩放流量分布模式。

Citrix ADM 与流量分配器通信,以更新前端应用程序的负载平衡虚拟服务器的应用程序域和 IP 地址。

Citrix ADM 自动缩放组

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

Citrix ADC 群集

Citrix ADC 群集是一组 Citrix ADC VPX 实例,每个实例都称为一个节点。客户端流量分布在节点之间,以提供高可用性、高吞吐量和可扩展性。

注意

  • 自动缩放决策是在群集级别而不是在节点级别做出的。
  • 独立群集托管在不同的可用区中,因此对某些共享状态功能的支持受到限制。

持久性会话(如源 IP 持久性和除基于 cookie 的持久性之外的其他持久性会话)不能跨群集共享。但是,所有无状态功能(如负载平衡方法)在多个可用区域中按预期工作。

AWS 自动扩展组

AWS Auto Scaling 组是具有相似特征的 EC2 实例的集合,为了实例扩展和管理目的,它们被视为逻辑分组。

AWS 可用区

AWS 可用区是区域内的隔离位置。每个区域由多个可用区组成。每个可用区都属于一个区域。

流量分配模式

当您将应用程序部署迁移到云时,自动扩展将成为基础架构的一部分。当应用程序使用自动缩放进行横向扩展或扩展时,这些更改必须传播到客户端。这种传播是使用基于 DNS 或基于 NLB 的自动缩放来实现的。

基于 NLB 的自动缩放

在基于 NLB 的部署模式下,群集节点的分发层是 AWS 网络负载平衡器。

在基于 NLB 的自动扩展中,每个可用区仅提供一个静态 IP 地址。这是添加到 route53 的公有 IP 地址,后端 IP 地址可以是私有的。使用此公有 IP 地址时,在自动扩展期间配置的任何新 Citrix ADC 实例都会使用私有 IP 地址运行,不需要额外的公有 IP 地址。

使用基于 NLB 的自动扩展管理 TCP 流量。使用基于 DNS 的自动扩展管理 UDP 流量。

基于 DNS 的自动扩展

在基于 DNS 的自动扩展中,DNS 充当 Citrix ADC 群集节点的分布层。通过更新与应用程序对应的域名,扩展更改将传播到客户端。目前,DNS 提供商是 AWS Route53。

注意:

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

自动缩放的工作原理

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

自动扩展工作流

Citrix ADM 以一分钟的时间间隔从自动扩展预配置的群集收集统计信息(CPU 使用率、内存使用率、吞吐量)。

将根据配置阈值评估统计信息。根据统计数据是超过最大阈值还是低于最小阈值,分别触发向外扩展或向外扩展。

  • 如果触发了横向扩展:

    • 已置备新节点。
    • 节点附加到群集,并且配置从群集同步到新节点。
    • 这些节点已向 Citrix ADM 注册。
    • 在 DNS/NLB 中更新新的节点 IP 地址。

部署应用程序时,IPSet 将在每个可用区域中的群集上创建,并且域和实例 IP 地址将注册到 DNS/NLB。

  • 如果触发了缩放:
    • 将删除标识为删除的节点的 IP 地址。
    • 节点将与群集分离,取消置备,然后从 Citrix ADM 取消注册。

删除应用程序后,域和实例 IP 地址将从 DNS/NLB 中取消注册,并删除 IPSet。

示例

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

  • 阈值参数 — 内存使用情况
  • 最小限制:40
  • 最大限制:85
  • 观看时间 — 3 分钟
  • 冷却时间 — 10 分钟
  • 耗尽连接超时 — 10 分钟
  • TTL 超时 — 60 秒

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

自动缩放示例

事件序列:

  • T1 和 T2:内存使用量超过最大阈值限制。
  • T3-内存使用率低于最大阈值限制。
  • T6、T5、T4:内存使用率连续超过三个监视时间持续时间的最大阈值限制。

    • 触发向外扩展。
    • 发生节点预配。
    • 冷却时间有效。
  • T7 — T16:由于冷却期已生效,此可用区域从 T7 到 T16 跳过自动缩放评估。

  • T18、T19、T20-内存使用率连续超过三个监视时间持续时间的最小阈值限制。
    • 触发缩放。
    • 漏极连接超时有效。
    • IP 地址从 DNS/NLB 中解除。
  • T21 — T30:由于漏极连接超时生效,此可用区域从 T21 到 T30 跳过自动缩放评估。

  • T31
    • 对于基于 DNS 的自动缩放,TTL 生效。
    • 对于基于 NLB 的自动缩放,会取消配置实例。
  • T32
    • 对于基于 NLB 的自动缩放,开始评估统计信息。
    • 对于基于 DNS 的自动扩展,会取消预配实例。
  • T33:对于基于 DNS 的自动缩放,开始评估统计信息。