高级概念

部署指南 Azure 上的 Citrix ADC VPX-自动缩放

贡献者

作者: Blake Schindler,解决方案架构师

概述

Citrix ADC 是一种应用程序交付和负载平衡解决方案,无论其托管在何处,均可为 Web、传统和云原生应用程序提供高质量的用户体验。它具有多种外形规格和部署选项,而不会将用户锁定在单一配置或云中。池容量许可允许在云部署之间移动容量。

作为服务和应用程序交付领域无可争议的领导者,Citrix ADC 已部署在全球数千个网络中,以优化、保护和控制所有企业和云服务的交付。Citrix ADC 直接部署在 Web 和数据库服务器的前面,将高速负载平衡和内容切换、HTTP 压缩、内容缓存、SSL 加速、应用程序流可见性和强大的应用程序防火墙整合到一个易于使用的集成平台中。通过端到端监视,将网络数据转换为可操作的商业智能,大大简化了会议 SLA。Citrix ADC 允许使用简单的声明式策略引擎定义和管理策略,而无需编程专业知识。

Citrix VPX

Citrix ADC VPX产品是一种虚拟设备,可以托管在各种虚拟化和云平台上:

  • Citrix Hypervisor

  • VMware ESX

  • Microsoft Hyper-V

  • Linux KVM

  • Amazon Web Services

  • Microsoft Azure

  • Google 云端平台

本部署指南重点介绍 Microsoft Azure 上的 Citrix ADC VPX

Microsoft Azure

Microsoft Azure 是一套不断扩展的云计算服务,旨在帮助组织应对业务挑战。Azure 使用户可以自由地使用自己喜欢的工具和框架在庞大的全球网络上构建、管理和部署应用程序。借助 Azure,用户可以:

  • 借助 Microsoft 的持续创新为未来做好准备,以支持他们今天的开发以及他们对未来的产品愿景。

  • 在本地、云端和边缘无缝运营混合云-Azure 随时随地都能满足用户的需求。

  • Azure 承诺开放源代码并支持所有语言和框架,从而让用户可以自由地按自己的意愿构建并部署到他们想要的位置。

  • 信任他们的云,从一开始就拥有安全性,由专家团队提供支持,并具有行业领先的主动合规性,深受企业、政府和初创企业的信赖。

Azure 术语

以下是本文档中使用的用户必须熟悉的关键术语的简要说明:

  • Azure 负载均衡器 – Azure 负载均衡器是指在网络中的计算机之间分配传入流量的资源。流量在负载平衡器集中定义的虚拟机之间分配。负载平衡器可以是外部或面向 Internet 的,也可以是内部的。

  • Azure Resource Manager (ARM) – ARM 是指 Azure 中的服务的新管理框架。Azure 负载均衡器使用基于 ARM 的 API 和工具进行管理。

  • 后端地址池 — 这些是与负载分配到的虚拟机 NIC 相关联的 IP 地址。

  • BLOB - 二进制大对象 – 可以存储在 Azure 存储中的文件或图像等任何二进制对象。

  • 前端 IP 配置 – Azure 负载均衡器可以包括一个或多个前端 IP 地址,又称为虚拟 IP (VIP)。这些 IP 地址用作流量的入口。

  • 实例级公有 IP (ILPIP) — ILPIP 是用户可以直接分配给虚拟机或角色实例的公有 IP 地址,而不是分配给虚拟机或角色实例所在的云服务的公有 IP 地址。这不会取代分配给其云服务的 VIP(虚拟 IP)。相反,它是一个额外的 IP 地址,可用于直接连接到虚拟机或角色实例。

注意:

在过去,ILPIP 被称为 PIP,代表公共知识产权。

  • 入站 NAT 规则 — 这包含将负载平衡器上的公共端口映射到后端地址池中特定虚拟机的端口的规则。

  • IP-Config - 可以将其定义为与单个 NIC 相关联的 IP 地址对(公用 IP 和 专用 IP)。在 IP-Config 中,公用 IP 地址可以为空。每个 NIC 可以有多个与之关联的 IP 配置,最多可以有 255 个。

  • 负载平衡规则 — 将给定的前端 IP 和端口组合映射到一组后端 IP 地址和端口组合的规则属性。通过负载均衡器资源的单一定义,用户可以定义多个负载平衡规则,每个规则反映前端 IP 和端口以及与虚拟机关联的后端 IP 和端口的组合。

  • 网络安全组 (NSG) — NSG 包含访问控制列表 (ACL) 规则列表,这些规则允许或拒绝流向虚拟网络中虚拟机实例的网络流量。可以将 NSG 与子网或该子网中的各个虚拟机实例相关联。当 NSG 与子网关联时,ACL 规则将应用于该子网中的所有虚拟机实例。此外,通过将 NSG 直接与该虚拟机关联,可以进一步限制单个虚拟机的流量。

  • 私有 IP 地址 — 用于在 Azure 虚拟网络内进行通信,当使用 VPN 网关将用户网络扩展到 Azure 时,用于用户本地网络的通信。专用 IP 地址允许 Azure 资源通过 VPN 网关或 ExpressRoute 环路与虚拟网络或本地网络中的其他资源通信,不需要使用可通过 Internet 访问的 IP 地址。在 Azure Resource Manager 部署模型中,专用 IP 地址与以下类型的 Azure 资源相关联:虚拟机、内部负载均衡器 (ILB) 和应用程序网关。

  • 探测器 — 包含运行状况探测器,用于检查后端地址池中虚拟机实例的可用性。如果特定的虚拟机在一段时间内不响应运行状况探测,则不会再向其发送流量。使用探测器,用户可以跟踪虚拟实例的运行状况。如果运行状况探测失败,虚拟实例将自动退出轮换。

  • 公用 IP 地址 (PIP) – PIP 用于与 Internet 的通信,包括 Azure 面向公众且与虚拟机相关联的服务、面向 Internet 的负载均衡器、VPN 网关和应用程序网关。

  • 区域 - 地理上不跨越国境并且包含一个或多个数据中心的区域。定价、地区服务以及产品/服务类型在地区级别展现。一个地区通常与另一个地区配对(其距离最多可以相隔几百英里)以组成一个地区对。地区对可以用作灾难恢复和高可用性方案的机制。通常又称为位置。

  • 资源组-资源管理器中的容器,用于保存应用程序的相关资源。资源组可以包括应用程序的所有资源,也可以仅包含逻辑分组的那些资源。

  • 存储帐户 — Azure 存储帐户允许用户访问 Azure 存储中的 Azure blob、队列、表和文件服务。用户存储帐户为用户 Azure 存储数据对象提供唯一的命名空间。

  • 虚拟机 – 运行某个操作系统的物理机的软件实现。多个虚拟机可以同时在同一硬件上运行。在 Azure 中,虚拟机提供各种大小。

  • 虚拟网络-Azure 虚拟网络表示云中的用户网络。它是专用于用户订阅的 Azure 云的逻辑隔离。用户可以完全控制此网络中的 IP 地址块、DNS 设置、安全策略和路由表。用户还可以进一步将其 VNet 划分为子网,并启动 Azure IaaS 虚拟机和云服务(PaaS 角色实例)。此外,用户可以使用 Azure 中提供的连接选项之一将虚拟网络连接到本地网络。从本质上讲,用户可以将其网络扩展到 Azure,完全控制 IP 地址块,利用 Azure 提供的企业规模优势。

用例

与要求将每项服务部署为单独虚拟设备的替代解决方案相比,Azure 上的 Citrix ADC 在单个 VPX 中结合了 L4 负载平衡、L7 流量管理、服务器卸载、应用程序加速、应用程序安全和其他基本应用程序交付功能实例,可通过 Azure 市场方便地获得。此外,所有内容均受单一策略框架管理,并使用用于管理本地 Citrix ADC 部署的相同功能强大的工具集进行管理。最终结果是,Azure 上的 Citrix ADC 支持多个引人注目的用例,这些用例不仅支持当今企业的迫切需求,而且还支持从传统计算基础架构向企业云数据中心的持续演变。

使用 AutoScale 进行数据中心扩展

在应用程序经济中,应用程序是企业生产力、增长和客户体验的代名词,组织必须保持竞争力、快速创新和扩展以满足客户需求,同时最大限度地减少停机时间并防止收入损失。

当组织超出本地数据中心容量时,他们没有考虑购买更多硬件并花费资本支出预算,而是在考虑扩大其在公有云中的影响力。随着向公有云的迁移,在为用户公有云部署选择合适的 ADC 时,规模和性能是重要的因素。始终需要扩展应用程序以响应不断变化的需求。配置不足可能会导致客户流失、员工工作效率降低和收入降低。在过度配置成本高昂的公共云中,按需调整用户基础架构的规模更为重要。

为了满足公有云对更高性能和可扩展性的需求,Citrix ADC 仍然是最佳选择。同类最佳的解决方案允许用户自动扩展到100 Gbps/区域,并且由于其卓越的软件架构,与其他ADC供应商和云提供商选项相比,它在典型的电子商务网页上具有100毫秒的延迟优势。

自动缩放的好处

应用程序的高可用性。自动缩放可确保您的应用程序始终拥有适当数量的 Citrix ADC VPX 实例来处理流量需求。这是为了确保您的应用程序始终启动并运行,无论流量需求如何。

智能扩展决策和零接触配置。自动缩放可持续监视您的应用程序,并根据需求动态添加或删除 Citrix ADC 实例。当需求向上峰值时,会自动添加实例。当需求向下峰值时,实例会自动移除。Citrix ADC 实例的添加和删除会自动使其成为零接触手动配置。

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

优雅的连接终止。在扩展期间,正常移除 Citrix ADC 实例,避免客户端连接丢失。

更好的成本管理。自动缩放可根据需要动态增加或减少 Citrix ADC 实例。这使用户能够优化所涉及的成本。用户仅在需要时启动实例,在不需要时终止实例,从而节省资金。因此,用户只需为他们使用的资源付费。

可观察性。可观察性对于应用程序开发人员或 IT 人员监控应用程序的运行状况至关重要。Citrix ADM 的 AutoScale 仪表板使用户能够直观显示阈值参数值、自动缩放触发器时间戳、事件以及参与自动缩放的实例。

使用 Citrix ADM 自动缩放架构在 Microsoft Azure 中自动扩展 Citrix ADC VPX

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

使用 Azure DNS 分配流量

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

image-vpx-azure-autoscale-deployment-01

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

image-vpx-azure-autoscale-deployment-02

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 后端虚拟机规模集

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

可用区

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

可用性集

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

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

image-vpx-azure-autoscale-deployment-03

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

自动缩放的工作原理

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

image-vpx-azure-autoscale-deployment-04

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 秒。

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

image-vpx-azure-autoscale-deployment-05

事件的顺序

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

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

  • 由于节点置备正在进行中,因此未对 T5-T10之间的违规行为采取任何措施。

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

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

  • 内存使用量降至T23的最低阈值限制以下。但是,不会触发缩放,因为它在指定的手表时间内没有突破。

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

  • 未对T26-T36之间的漏洞采取任何行动,因为 Citrix ADM 正在等待耗尽现有连接。对于基于 DNS 的自动缩放,TTL 有效。

注意:

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

  • 由于节点取消配置正在进行中,因此未对 T37-T39之间的违规行为采取任何措施。

  • 节点在T40从群集中移除和取消配置。

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

自动缩放配置

Citrix ADM 管理 Microsoft Azure 中的所有 Citrix ADC VPX 群集。Citrix ADM 使用云访问配置文件访问 Azure 资源。

下面的流程图解释了创建和配置 AutoScale 组所涉及的步骤:

image-vpx-azure-autoscale-deployment-06

设置 Microsoft Azure 组件

在用户在 Citrix ADM 中自动缩放 Citrix ADC VPX 实例之前,请在 Azure 中执行以下任务。

  1. 创建虚拟网络

  2. 创建安全组

  3. 创建子网

  4. 在 Microsoft Azure 中订阅 Citrix ADC VPX 许可证

  5. 创建并注册应用程序

创建虚拟网络

  1. 登录用户 Microsoft Azure 门户。

  2. 选择“创建资源”。

  3. 选择网络,然后单击虚拟网络

  4. 指定所需参数。

    • 资源组中,用户必须指定要在其中部署 Citrix ADC VPX 产品的资源组。

    • 位置中,用户必须指定支持可用区域的位置,例如:

      • 美国中部

      • East US2

      • 法國中部

      • 北欧

      • 东南亚

      • 西欧

      • West US2

    注意:

    应用程序服务器存在于此资源组中。

  5. 单击创建

有关更多信息,请参阅此处的 Azure 虚拟网络: 什么是 Azure 虚拟网络?

创建安全组

在用户虚拟网络 (VNet) 中创建三个安全组,分别用于管理、客户端和服务器连接。创建安全组以控制 Citrix ADC VPX 实例中的入站和出站流量。为用户希望在 Citrix 自动缩放组中控制的传入流量创建规则。用户可以根据需要添加任意数量的规则。

  • 管理:用户帐户中专用于管理 Citrix ADC VPX 的安全组。Citrix ADC 必须与 Azure 服务联系,并需要Internet访问。允许在以下 TCP 和 UDP 端口上使用入站规则。

    • TCP:80、22、443、3008–3011、4001

    • UDP:67、123、161、500、3003、4500、7000

有关更多信息,请参阅此处的 Azure 虚拟网络: 什么是 Azure 虚拟网络?

创建安全组

在用户虚拟网络 (VNet) 中创建三个安全组,分别用于管理、客户端和服务器连接。创建安全组以控制 Citrix ADC VPX 实例中的入站和出站流量。为用户希望在 Citrix 自动缩放组中控制的传入流量创建规则。用户可以根据需要添加任意数量的规则。

  • 管理:用户帐户中专用于管理 Citrix ADC VPX 的安全组。Citrix ADC 必须与 Azure 服务联系,并需要Internet访问。允许在以下 TCP 和 UDP 端口上使用入站规则。

    • TCP:80、22、443、3008–3011、4001

    • UDP:67、123、161、500、3003、4500、7000

    注意:请

    确保安全组允许 Citrix ADM 代理访问 VPX。

  • 客户端:用户帐户中的安全组,专门用于 Citrix ADC VPX 实例的客户端通信。通常,TCP 端口 80、22 和 443 上允许入站规则。

  • 服务器:用户帐户中的安全组,专门用于 Citrix ADC VPX 的服务器端通信。

有关如何在 Microsoft Azure 中创建安全组的详细信息,请参阅:创建、更改或删除网络安全组

创建子网

在用户虚拟网络 (VNet) 中创建三个子网,分别用于管理、客户端和服务器连接。指定在用户 VNet 中为每个子网定义的地址范围。指定用户希望子网所在的可用区。

  • 管理:用户虚拟网络 (VNet) 中专用于管理的子网。Citrix ADC 必须与 Azure 服务联系,并需要Internet访问。

  • 客户端:用户虚拟网络 (VNet) 中专用于客户端的子网。通常情况下,Citrix ADC 从Internet通过公有子网接收应用程序的客户端流量。

  • 服务器:用于置备应用程序服务器的子网。所有用户应用程序服务器都存在于此子网中,并通过此子网接收来自 Citrix ADC 的应用程序流量。

注意:

创建子网时,请为子网指定适当的安全组。

有关如何在 Microsoft Azure 中创建子网的详细信息,请参阅:添加、更改或删除虚拟网络子网

在 Microsoft Azure 中订阅 Citrix ADC VPX 许可证

  1. 登录用户 Microsoft Azure 门户。

  2. 选择“创建资源”。

  3. 搜索市场栏中,搜索 Citrix ADC 并选择所需的产品版本。

  4. “选择软件计划”列表中,选择以下许可证类型之一:

    • 携带您自己的许可证

    • Enterprise

    • Platinum

    注意:

    • 如果用户选择自带许可证选项,则自动缩放组将在置备 Citrix ADC 实例时从 Citrix ADM 中签出许可证。

    • 在 Citrix ADM 中,高级版和高级版分别是企业版和白金的等效许可证类型。

  5. 确保已为所选 Citrix ADC 产品启用编程部署。

    • 除了想以编程方式部署? 单击“开始”。

    image-vpx-azure-autoscale-deployment-07

    • 选择订阅中,选择启用以编程方式部署选定的 Citrix ADC VPX 版本。

    image-vpx-azure-autoscale-deployment-08

    重要信息:

    要在 Azure 中自动缩放 Citrix ADC VPX 实例,需要启用编程部署。

    • 单击保存

    • 关闭配置编程部署

  6. 单击创建

创建和注册应用程序

Citrix ADM 使用此应用程序在 Azure 中自动缩放 Citrix ADC VPX 实例。

在 Azure 中创建和注册应用程序:

  1. 在 Azure 门户中,选择 Azure Active Directory。此选项显示用户组织的目录。

  2. 选择应用程序注册

    • 名称中,指定应用程序的名称。

    • 从列表中选择应用程序类型

    • 在“登录URL”中,指定用于访问应用程序的应用程序 URL。

  3. 单击创建

有关应用程序注册的更多信息,请参阅:如何:使用门户创建可以访问资源的 Azure AD 应用程序和服务主体

Azure 将应用程序 ID 分配给应用程序。以下是在 Microsoft Azure 中注册的应用程序示例:

image-vpx-azure-autoscale-deployment-09

当用户在 Citrix ADM 中配置云访问配置文件时,复制以下 ID 并提供这些 ID。有关检索以下 ID 的步骤,请参阅: 获取用于登录的值

  • 应用程序 ID

  • 目录 ID

image-vpx-azure-autoscale-deployment-10

  • 订阅 ID:从用户存储帐户复制订阅 ID。

为应用程序分配角色权限

Citrix ADM 使用应用程序即服务原则自动缩放 Microsoft Azure 中的 Citrix ADC 实例。此权限仅适用于选定的资源组。 要向用户注册的应用程序分配角色权限,用户必须是 Microsoft Azure 订阅的所有者。

  1. 在 Azure 门户中,选择资源组

  2. 选择用户要向其分配角色权限的资源组。

  3. 选择访问控制 (IAM)

  4. 角色分配中,单击添加

  5. 从“角色”列表中选择“所有者”。

  6. 选择为自动缩放 Citrix ADC 实例注册的应用程序。

  7. 单击保存

image-vpx-azure-autoscale-deployment-11

设置 Citrix ADM 组件

在用户在 Citrix ADM 中自动缩放 Citrix ADC VPX 实例之前,请在 Azure 中执行以下任务:

  1. 在 Azure 上配置 Citrix ADM 代理

  2. 创建站点

  3. 将站点附加到 Citrix ADM 服务代理

在 Azure 上配置 Citrix ADM 代理

Citrix ADM 服务代理充当 Citrix ADM 与数据中心或云中发现的实例之间的中介。

  1. 导航到“网络”>“代理”。

  2. 单击“置备”。

  3. 选择 Microsoft Azure,然后单击“下一步”。

  4. 在“云参数”选项卡中,指定以下内容:

    • 名称-指定 Citrix ADM 代理名称。

    • 站点-选择用户为置备代理和 ADC VPX 实例而创建的站点。

    • 云访问配置文件-从列表中选择云访问配置文件。

    • 可用区-选择用户要在其中创建 AutoScale 组的区域。根据用户选择的云访问配置文件,将填充特定于该配置文件的可用区域。

    • 安全组-安全组控制 Citrix ADC 代理中的入站和出站流量。用户为他们想要控制的传入和传出流量创建规则。

    • 子网-选择用户想要置备代理的管理子网。

    • 标签-键入 AutoScale 组标记的键值对。标签由区分大小写的键值对组成。使用这些标记,用户可以轻松地组织和识别 AutoScale 组。这些标记同时应用于 Azure 和 Citrix ADM。

  5. 单击 Finish(完成)。

或者,用户可以从 Azure 市场安装 Citrix ADM 代理。有关更多信息,请参阅:在 Microsoft Azure 云上安装 Citrix ADM 代理

创建站点

在 Citrix ADM 中创建一个站点,然后添加与用户 Microsoft Azure 资源组关联的 VNet 详细信息。

  1. 在 Citrix ADM 中,导航到“网络”>“站点”。

  2. 单击“添加”。

  3. “选择云”窗格中,

    • 选择数据中心作为站点类型

    • 从“类型”列表中选择Azure

    • 选中从 Azure 提取 VNet复选框。

    此选项可帮助用户从用户 Microsoft Azure 帐户检索现有 VNet 信息。

    • 单击 Next(下一步)。
  4. “选择区域”窗格中,

    • 云访问配置文件中,选择为用户 Microsoft Azure 帐户创建的配置文件。如果没有配置文件,请创建配置文件。

    • 要创建云访问配置文件,请单击“添加”。

    • 名称中,指定一个名称以标识 Citrix ADM 中的用户 Azure 帐户。

    • 租户Active Directory ID/租户 ID中,指定租户的 Active Directory ID 或 Microsoft Azure 中的帐户。

    • 指定订阅 ID

    • 指定应用程序 ID/客户端 ID

    • 指定应用程序密钥密码/机密

    • 单击创建

    有关更多信息,请参阅:在 Microsoft Azure 云上安装 Citrix ADM 代理并将云访问配置文件映射到 Azure 应用程序

    image-vpx-azure-autoscale-deployment-12

    • Vnet中,选择包含用户想要管理的 Citrix ADC VPX 实例的虚拟网络。

    • 指定站点名称

    • 单击 Finish(完成)。

将云访问配置文件映射到 Azure 应用程序

Citrix ADM 期限 Microsoft Azure 术语
租户 Active Directory ID/租户 ID 目录 ID
订阅 ID 订阅 ID
应用程序 ID/客户端 ID 应用程序 ID
应用程式密码/密码 密钥或证书或客户端密钥

将站点附加到 Citrix ADM 服务代理

  1. 在 Citrix ADM 中,导航到网络 > 代理

  2. 选择用户要为其附加站点的代理。

  3. 单击“附加站点”。

  4. 从列表中选择用户要附加的站点。

  5. 单击保存

步骤 1:在 Citrix ADM 中初始化自动缩放配置

  • 在 Citrix ADM 中,导航到网络 > 自动扩展组

  • 单击“添加”创建自动缩放组。

此时将显示 创建 AutoScale 组 页面。

  • 选择 Microsoft Azure,然后单击“下一步”。

  • 基本参数中,输入以下详细信息:

    • 名称:键入 AutoScale 组的名称。

    • 站点:选择用户为在 Microsoft Azure 上自动缩放 Citrix ADC VPX 实例而创建的站点。如果用户尚未创建站点,请单击“添加”以创建站点。

    • 代理:选择用于管理已置备实例的 Citrix ADM 代理。

    • 云访问配置文件:选择云访问配置文件。用户还可以添加或编辑云访问配置文件。

    • 设备配置文件:从列表中选择设备配置文件。当 Citrix ADM 要求用户登录 Citrix ADC VPX 实例时,它会使用设备配置文件。

    注意:

    确保所选设备配置文件符合 Microsoft Azure 密码规则,可在此处找到:仅适用于云用户帐户的密码策略

    • 流量分配模式使用 Azure LB 的负载平衡选项被选为默认流量分配模式。用户还可以使用 Azure DNS 模式选择 DNS进行流量分配。

    • 启用自动扩展组:启用或禁用 ASG 组的状态。默认情况下,此选项处于启用状态。如果禁用此选项,则不会触发自动缩放。

    • 可用性集或可用区:选择用户要在其中创建 AutoScale 组的一个或多个可用区。根据用户选择的云访问配置文件,可用区将显示在列表中。

    • 标签:键入 AutoScale 组标记的键值对。标签由区分大小写的键值对组成。使用这些标记,用户可以轻松地组织和识别 AutoScale 组。这些标签同时应用于 Microsoft Azure 和 Citrix ADM。

    image-vpx-azure-autoscale-deployment-13

  • 单击 Next(下一步)。

步骤 2:配置自动缩放参数

  • 在“自动缩放参数”选项卡中,输入以下详细信息。

  • 选择以下一个或多个阈值参数,必须监视其值才能触发向外扩展或扩展。

    • 启用 CPU 使用率阈值:基于 CPU 使用率监控指标。

    • 启用内存使用阈值:根据内存使用情况监控指标。

    • 启用吞吐量阈值:基于吞吐量监控指标。

注意:

  • 默认最小阈值限制为 30,最大阈值限制为 70。但是,用户可以修改限制。
  • 最小阈值限制必须等于或小于最大阈值限制的一半。
  • 用户可以选择多个阈值参数进行监视。如果至少有一个阈值参数高于最大阈值,则触发向外扩展。但是,只有当所有阈值参数都低于其正常阈值时,才会触发放入。

image-vpx-azure-autoscale-deployment-14

  • 最小实例数:选择必须为此 AutoScale 组预配置的最小实例数。

    默认的最小实例数等于选定的区域数。用户只能以指定区域数的倍数递增最小实例数。

    例如,如果可用区数为 4,则默认情况下最少实例为 4。用户可以将最小实例数增加 8、12、16。

  • 最大实例数:选择必须为此 AutoScale 组预配置的最大实例数。

    实例的最大数量必须大于或等于最小实例的值。最大实例数不能超过可用区数乘以 32。

    最大实例数 = 可用区数 x 32

  • 观看时间(分钟):选择观看时长。缩放参数阈值必须保持超出以便进行缩放的时间。如果在此指定时间内收集的所有样本均超过阈值,则会进行缩放。

  • 冷却时间(分钟):选择冷却时间。在横向扩展期间,冷却时间是指在向外扩展发生后必须停止统计数据评估的时间。此时间段确保了自动缩放组的实例的有机增长。在触发下一个扩展决策之前,它会等待当前流量稳定并平均出现当前实例集。

  • 取消置备期间的等待时间(分钟):选择耗尽连接超时时间。在扩展操作期间,将确定要取消预配置的实例。Citrix ADM 限制已识别的实例处理新连接,直到指定时间在取消预配置之前到期。在此期间,它允许在取消置备前将与此实例的现有连接耗尽。

  • DNS 生存时间(秒):选择时间(以秒为单位)。在此期间,数据包被设置为在路由器丢弃数据包之前存在于网络内。此参数仅在使用 Microsoft Azure 流量管理器的流量分配模式为 DNS 时适用。

    image-vpx-azure-autoscale-deployment-15

  • 单击 Next(下一步)。

步骤 3:配置用于置备 Citrix ADC 实例的许可证

选择以下模式之一以授权属于自动扩展组的 Citrix ADC 实例:

  • 使用 Citrix ADM:在 Provisioning Citrix ADC 实例时,自动扩展组会从 Citrix ADM 中签出许可证。

  • 使用 Microsoft Azure:“从云端分配”选项使用 Azure 市场中可用的 Citrix 产品许可证。在 Provisioning Citrix ADC 实例时,自动扩展组使用市场中的许可证。

如果用户选择使用 Azure 市场中的许可证,请在“云参数”选项卡中指定产品或许可证。

有关更多信息,请参阅: 许可要求

使用来自 Citrix ADM 的许可证

要使用此选项,请确保用户已在 Azure 中使用自带许可证软件计划订阅了 Citrix ADC。请参阅:在 Microsoft Azure 中订阅 Citrix ADC VPX 许可证

  • 在“许可证”选项卡中,选择“从 ADM 分配”。

  • 许可证类型中,从列表中选择以下选项之一:

    • 带宽许可证:用户可以从“带宽许可证类型”列表中选择以下选项之一:

      • 池容量:指定要为 AutoScale 组中的每个新实例分配的容量。

      在公共池中,AutoScale 组中的每个 ADC 实例签出一个实例许可证,并且只签出指定的带宽。

      • VPX 许可证:置备 Citrix ADC VPX 实例后,该实例会从 Citrix ADM 签出许可证。
    • 虚拟 CPU 许可证:预配的 Citrix ADC VPX 实例根据自动缩放组中运行的 CPU 数量签出许可证。

注意:

移除或销毁置备的实例后,应用的许可证将返回到 Citrix ADM 许可证池。在下一次 AutoScale 期间,这些许可证可以重复用于预配新实例。

  • 许可证版本中,选择许可证版本。自动扩展组使用指定版本来置备实例。

  • 单击 Next(下一步)。

步骤 4:配置云参数

  • 在“云参数”选项卡中,输入以下详细信息:

    • 资源组:选择在其中部署 Citrix ADC 实例的资源组。

    • 产品/许可证:选择用户要置备的 Citrix ADC 产品版本。确保为所选类型启用了编程访问权限。有关更多信息,请参阅:在 Microsoft Azure 中订阅 Citrix ADC VPX 许可证

    • Azure 虚拟机大小:从列表中选择所需的虚拟机大小。

    注意:请

    确保所选的 Azure 虚拟机大小至少有三个 NIC。有关更多信息,请参阅:使用 Citrix ADM 在 Microsoft Azure 中自动扩展 Citrix ADC VPX。

    • 适用于 ADC 的云访问配置文件:Citrix ADM 使用此配置文件登录到用户 Azure 帐户,以置备或取消置备 ADC 实例。它还配置 Azure LB 或 Azure DNS。

    • 图片:选择所需的 Citrix ADC 版本映像。单击“新增”以添加 Citrix ADC 映像。

    • 安全组:安全组控制 Citrix ADC VPX 实例中的入站和出站流量。为管理、客户端和服务器流量选择一个安全组。有关管理、客户端和服务器安全组的更多信息,请参阅:创建安全组

    • 子网:用户必须具有三个单独的子网(例如管理、客户端和服务器子网)才能自动缩放 Citrix ADC 子网。子网包含自动缩放所需的实体。选择有关详情,请参阅:创建子网

    image-vpx-azure-autoscale-deployment-16

  • 单击 Finish(完成)。

步骤 5:为自动缩放组配置应用程序

  • 在 Citrix ADM 中,导航到网络 > 自动缩放组

  • 选择用户创建的 AutoScale 组,然后单击配置

  • 配置应用程序中,指定以下详细信息:

    • 应用程序名称-指定应用程序的名称。

    • 域名-指定应用程序的域名。

    • 区域名称-指定应用程序的区域名称。

    此域和区域名称将重定向到 Azure 中的虚拟服务器。例如,如果用户在 app.example.com 中托管应用程序,则该应用程序是域名,example.com 是区域名称。

    • 访问类型-用户可以对外部和内部应用程序使用 ADM 自动缩放。选择所需的应用程序访问类型。
  • 选择用户想要为选定的 AutoScale 组部署配置的所需样书。

如果用户想要导入样书,请单击“导入新样书”。

  • 指定所有参数的值。

配置参数在所选样本中预先定义。

  • 选中应用程序服务器组类型 CLOUD复选框以指定虚拟机规模集中可用的应用程序服务器。

    • 应用程序服务器队列名称中,指定虚拟机规模集的AutoScale 设置名称

    • 从列表中选择应用服务器协议

    • 在“成员端口”中,指定应用程序服务器的端口值。

    注意:

    确保自动禁用正常关机设置为“”,并且“自动禁用延迟”字段为空。

    • 如果用户要为用户应用程序服务器指定高级设置,请选中高级应用程序服务器设置复选框。然后,指定“高级应用程序服务器设置”下列出的必需值。

    image-vpx-azure-autoscale-deployment-17

  • 如果用户在虚拟网络中有独立的应用程序服务器,请选中应用程序服务器组类型静态复选框:

    • 从列表中选择应用服务器协议

    • 在“服务器 IP 和端口”中,单击**+添加应用程序服务器 IP 地址、端口和权重,然后单击“创建”**。

    image-vpx-azure-autoscale-deployment-18

  • 单击创建。

修改自动缩放组配置

用户可以修改 AutoScale 组配置或删除 AutoScale 组。用户只能修改以下 AutoScale 组参数:

  • 阈值参数的最大限制和最小限制

  • 最小和最大实例值

  • 漏水连接周期值

  • 冷却时间值

  • 观看持续时间值

用户还可以在创建 AutoScale 组后将其删除。

删除自动缩放组后,所有域和 IP 地址都将从 DNS 中取消注册,并取消配置群集节点。

有关在 Microsoft Azure 上置备 Citrix ADC VPX 实例的更多详细信息,请参阅在 Microsoft Azure 上置备 Citrix ADC VPX 实例

ARM(Azure Resource Manager)模板

Citrix ADC ARM (Azure Resource Manager) 模板的 GitHub 存储库托管用于在 Microsoft Azure 云服务中部署 Citrix ADC 的 Citrix ADC 自定义模板。此存储库中的模板由 Citrix ADC 工程团队开发和维护。

此存储库中的每个模板都有描述模板用法和体系结构的共置文档。这些模板试图编写 Citrix ADC VPX 的推荐部署架构,或者向用户介绍 Citrix ADC 或演示特定的功能/版本/选项。用户可以重复使用/修改或增强模板, 以满足其特定的生产和测试需求。大多数模板都需要足够的 portal.azure.com 订阅才能创建资源和部署模板。 Citrix ADC VPX Azure Resource Manager (ARM) 模板旨在确保以简单一致的方式部署独立的 Citrix ADC VPX。这些模板通过内置冗余提高了可靠性和系统可用性。这些 ARM 模板支持自带许可证 (BYOL) 或基于小时的选择。选择要么在模板描述中提及,要么在模板部署期间提供。 有关如何使用 ARM(Azure Azure Resource Manager)模板在 Microsoft Azure 上置备 Citrix ADC VPX 实例的更多信息,请访问 Citrix ADC Azure 模板

有关如何添加 Azure 自动缩放设置的更多信息,请访问: 添加 Azure 自动缩放设置

有关如何在 Microsoft Azure 上部署 Citrix ADC VPX 实例的更多信息,请参阅在 Microsoft Azure 上部署 Citrix ADC VPX 实例

有关 Citrix ADC VPX 实例如何在 Azure 上工作的更多信息,请访问 Citrix ADC VPX 实例如何在 Azure 上工作

必备条件

在 Azure 上部署 Citrix VPX 实例之前,用户需要具备一些必备知识:

  • 熟悉 Azure 术语和网络详细信息。有关信息,请参阅上一节中的 Azure 术语。

  • 了解 Citrix ADC 设备。有关 Citrix ADC 设备的详细信息,请参阅:Citrix ADC 13.0
  • Citrix ADC 网络知识。请参阅: 联网

Azure 自动缩放必备条件

本节介绍了用户在置备 Citrix ADC VPX 实例之前必须在 Microsoft Azure 和 Citrix ADM 中完成的先决条件。

本文档假定以下情况:

  • 用户拥有支持 Azure 资源管理器部署模型的 Microsoft Azure 帐户。

  • 用户在 Microsoft Azure 中有一个资源组。

有关如何创建帐户和其他任务的详细信息,请参阅 Microsoft Azure 文档

限制

在 ARM 上运行 Citrix ADC VPX 负载平衡解决方案具有以下局限性:

  • Azure 体系结构不支持以下 Citrix ADC 功能:

    • 群集

    • IPv6

    • 免费 ARP (GARP)

    • L2 模式(桥接)。对于与 SNIP 位于同一子网中的服务器,L2(MAC 重写)支持透明虚拟服务器。

    • 已标记的 VLAN

    • 动态路由

    • 虚拟 MAC

    • USIP

    • 巨型帧

  • 如果用户认为他们可能必须随时关闭 Citrix ADC VPX 虚拟机并暂时取消分配,则应在创建虚拟机时分配静态内部 IP 地址。如果他们不分配静态内部 IP 地址,Azure 可能会在虚拟机每次重新启动时为其分配不同的 IP 地址,虚拟机可能无法访问。

  • 在 Azure 部署中,只支持以下 Citrix ADC VPX 型号:VPX 10、VPX 200、VPX 1000 和 VPX 3000。有关更多信息,请参阅 Citrix ADC VPX 产品手册。

  • 如果使用型号高于 VPX 3000 的 Citrix ADC VPX 实例,则网络吞吐量可能与实例许可证指定的吞吐量不同。但是,其他功能(例如,每秒钟的 SSL 吞吐量和 SSL 事务量)可能会有所改进。

  • 在 ARM 中,用户看不到虚拟机置备期间由 Azure 生成的“部署 ID”。用户无法使用部署 ID 在 ARM 上部署 Citrix ADC VPX 设备。

  • Citrix ADC VPX 实例在初始化时支持 20 MB/s 的吞吐量和标准版功能。

  • 对于 XenApp 和 XenDesktop 部署,VPX 设备上的 VPN 虚拟服务器可配置为具有下列模式:

    • “基本”模式,其中 ICAOnly VPN 虚拟服务器参数设置为 ON。“基本”模式完全适用于未获许可的 Citrix ADC VPX 实例。

    • SmartAccess 模式,在此模式下,ICAOnly VPN 虚拟服务器参数设置为 OFF。SmartAccess 模式仅适用于未经许可的 Citrix ADC VPX 实例上的 5 个 Citrix ADC AAA 会话用户。

    注意:

    要配置 SmartControl 功能,用户必须向 Citrix ADC VPX 实例应用高级许可证。

Azure VPX 支持的型号和许可

在 Azure 部署中,只支持以下 Citrix ADC VPX 型号:VPX 10、VPX 200、VPX 1000 和 VPX 3000。有关更多信息,请参阅 Citrix ADC VPX 产品手册。

Azure 上的 Citrix ADC VPX 实例需要许可证。以下许可选项适用于在 Azure 上运行的 Citrix ADC VPX 实例。用户可以选择以下方法之一来许可由 Citrix ADM 置备的 Citrix ADC:

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

    • 池容量:为自动缩放组中的每个预配置实例分配带宽。确保用户在 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 虚拟机映像

支持用于置备的 Citrix ADC Azure 虚拟机映像

使用至少支持三个网卡的 Azure 虚拟机映像。仅高级版和高级版支持置备 Citrix ADC VPX 实例。有关 Azure 虚拟机映像类型的详细信息,请参阅:通用虚拟机大小

以下是用于 Provisioning 备的建议 VM 大小:

  • Standard_DS3_v2

  • Standard_B2ms

  • Standard_DS4_v2

端口用法指南

在创建 Citrix ADC VPX 实例时或置备虚拟机后,用户可以在 Citrix Gateway 上配置更多入站和出站规则。每个入站和出站规则都与一个公用端口和一个专用端口相关联。

在配置 NSG 规则之前,请注意以下有关用户可以使用的端口号的指导原则:

  1. Citrix ADC VPX 实例保留以下端口。用户在使用公共 IP 地址处理来自 Internet 的请求时,不能将这些端口定义为私有端口。端口 21、22、80、443、8080、67、161、179、500、520、3003、3008、3009、3010、3011、4001、5061、9000、7000。但是,如果用户希望面向 Internet 的服务(如 VIP)使用标准端口(例如,端口 443),则用户必须使用 NSG 创建端口映射。然后,标准端口将映射到在 Citrix ADC VPX 上为此 VIP 服务配置的其他端口。例如,VIP 服务可能会在 VPX 实例上的端口 8443 上运行,但映射到公用端口 443。因此,当用户通过公用 IP 访问端口 443 时,请求将定向到专用端口 8443。

  2. 公有 IP 地址不支持动态打开端口映射的协议,例如被动 FTP 或 ALG。

  3. 高可用性不适用于使用与 VPX 实例关联的公用 IP 地址 (PIP),而非在 Azure 负载均衡器上配置的 PIP。有关更多信息,请参阅:使用单个 IP 地址和单个 NIC 配置高可用性设置

  4. 在 Citrix Gateway 部署中,用户无需配置 SNIP 地址,因为在未配置 SNIP 的情况下,可以将 NSIP 用作 SNIP。用户必须使用 NSIP 地址和一些非标准端口号配置 VIP 地址。对于后端服务器上的回叫配置,必须同时指定 VIP 端口号和 VIP URL(例如 url: port)。

注意:

在 Azure Resource Manager 中,Citrix ADC VPX 实例与两个 IP 地址相关联:公有 IP 地址 (PIP) 和内部 IP 地址。外部流量连接到 PIP,而内部 IP 地址或 NSIP 是不可路由的。要在 VPX 中配置 VIP,请使用内部 IP 地址 (NSIP) 和任何可用的空闲端口。请勿使用 PIP 来配置 VIP。 例如,如果 Citrix ADC VPX 实例的 NSIP 为 10.1.0.3,可用端口为 10022,则用户可以通过提供 10.1.0.3:10022(NSIP 地址 + 端口)组合来配置 VIP。