高级概念

Deployment Guide Citrix ADC VPX on Azure - Autoscale™

贡献者

作者: 布莱克·辛德勒,解决方案架构师

概述

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

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

思杰 VPX

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

  • 思杰 虚拟机监控程序™

  • 威睿 ESX

  • 微软 虚拟化

  • Linux 内核虚拟机

  • 亚马逊网络服务

  • 微软艾云

  • 谷歌云计算平台

本部署指南侧重于在微软 Azure 上部署 Citrix ADC VPX

微软 蔚蓝

Microsoft Azure 是一个不断扩展的云计算服务集合,旨在帮助组织应对其业务挑战。Azure 让用户可以自由地使用他们偏好的工具和框架,在全球大规模网络上构建、管理和部署应用程序。借助 Azure,用户可以:

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

  • 在本地、云端和边缘无缝运行混合云——Azure 满足用户在任何地方的需求。

  • 根据自己的条件进行构建,Azure 致力于开源并支持所有语言和框架,让用户可以自由地按照自己的意愿构建和部署。

  • 从头开始信任他们的云安全——由专家团队和积极主动、行业领先的合规性提供支持,受到企业、政府和初创公司的信任。

微软 Azure 术语

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

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

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

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

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

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

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

注意:

过去,ILPIP 被称为 PIP,即公共 IP。

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

  • IP 配置 - 它可以定义为与单个 NIC 关联的 IP 地址对(公共 IP 和私有 IP)。在 IP 配置中,公共 IP 地址可以为 NULL。每个 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 资源管理器部署模型中,私有 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 将 L4 负载均衡、L7 流量管理、服务器卸载、应用程序加速、应用程序安全以及其他基本应用程序交付功能整合到单个 VPX 实例中,并通过 Azure Marketplace 方便地提供。此外,所有功能都由单一策略框架管理,并使用与管理本地 Citrix ADC 部署相同的强大工具集进行管理。最终结果是,Azure 上的 Citrix ADC 实现了多种引人注目的用例,这些用例不仅支持当今企业的即时需求,还支持从传统计算基础设施到企业云数据中心的持续演进。

使用自动扩缩容扩展数据中心

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

当组织超出本地数据中心容量时,他们不再考虑采购更多硬件和花费资本支出预算,而是考虑扩展其在公共云中的业务。随着向公共云的迁移,在为用户公共云部署选择合适的 ADC 时,规模和性能是重要的因素。始终需要根据波动的需求扩展应用程序。资源不足可能导致客户流失、员工生产力下降和收入减少。在公共云中,过度配置成本高昂,因此按需合理调整用户基础设施的规模变得更加重要。

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

自动扩缩容的优势

应用程序的高可用性。自动扩缩容确保您的应用程序始终拥有适量的 Citrix ADC VPX 实例来处理流量需求。这旨在确保您的应用程序无论流量需求如何,都能始终正常运行。

智能扩缩容决策和零接触配置。自动扩缩容持续监控您的应用程序,并根据需求动态添加或移除 Citrix ADC 实例。当需求向上激增时,实例会自动添加。当需求向下激增时,实例会自动移除。Citrix ADC 实例的添加和移除是自动进行的,从而实现了零接触手动配置。

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

平稳连接终止。在缩容期间,Citrix ADC 实例会平稳移除,避免客户端连接丢失。

更好的成本管理。自动扩缩容根据需要动态增加或减少 Citrix ADC 实例。这使用户能够优化相关成本。用户通过仅在需要时启动实例并在不需要时终止它们来节省资金。因此,用户只需为他们使用的资源付费。

可观测性。可观测性对于应用程序开发运维或 IT 人员监控应用程序的健康状况至关重要。Citrix ADM 的自动扩缩容仪表板使用户能够可视化阈值参数值、自动扩缩容触发时间戳、事件以及参与自动扩缩容的实例。

关于 Citrix ADC VPX 在 Microsoft Azure 平台上的自动扩缩部署,其实现方式是借助 Citrix ADM 自动扩缩架构

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

使用 Azure DNS 进行流量分发

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

图像-VPX-Azure-自动伸缩-部署-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 负载均衡器作为流量分发器进行自动扩缩:

图像-VPX-Azure-自动伸缩-部署-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 虚拟机规模集是相同 VM 实例的集合。VM 实例的数量可以根据客户端流量增加或减少。此集合为您的应用程序提供高可用性。有关详细信息,请参阅:什么是虚拟机规模集?

可用性区域

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

可用性集合

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

下图展示了可用性集中自动扩缩的实现方式。

图像-VPX-Azure-自动伸缩-部署-03

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

自动扩缩的工作原理

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

图像-VPX-Azure-自动伸缩-部署-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 秒。

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

VPX Azure 自动扩缩部署图像 05

事件的执行顺序

  • 内存使用率在 T2 时超过了阈值限制。但是,由于在指定的观察时间内未持续超出,因此未触发横向扩缩。

  • T5 时触发横向扩缩,因为最大阈值已连续超出 2 分钟(观察时间)。

  • T5-T10 之间未对超出采取任何操作,因为节点预配正在进行中。

  • 节点在 T10 处完成预配并添加到集群。冷却期开始。

  • 由于冷却期,在 T10-T20 之间的违规行为未采取任何措施。此期间确保自动扩缩组实例的有机增长。在触发下一次扩缩决策之前,它会等待当前流量稳定并在当前实例集上平均分配。

  • 内存使用量在 T23 处降至最低阈值限制以下。但是,未触发缩减,因为它在指定的观察时间内未违规。

  • T26 处触发缩减,因为最低阈值已连续违规 2 分钟(观察时间)。集群中的一个节点被识别为待解除预配。

  • 由于 Citrix ADM 正在等待排空现有连接,因此在 T26-T36 之间的违规行为未采取任何措施。对于基于 DNS 的自动扩缩,TTL 生效。

注意:

对于基于 DNS 的自动扩缩,Citrix ADM 会等待指定的生存时间 (TTL) 周期。然后,它会等待现有连接排空,然后才启动节点解除预配。

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

  • 节点在 T40 处从集群中移除并解除预配。

在启动节点解除预配之前,所有到所选节点的连接都已排空。因此,在节点解除预配后会跳过冷却期。

自动扩缩配置

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

以下流程图详细解释了创建和配置自动扩缩组所涉及的步骤:

图像-VPX-Azure-自动扩缩-部署-06

设置 微软 Azure 组件

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

  1. 创建虚拟网络

  2. 创建安全组

  3. 创建子网

  4. 在 微软 Azure 中订阅 思杰 ADC VPX 许可证(https://docs.citrix.com/zh-cn/citrix-application-delivery-management-service/hybrid-multi-cloud-deployments/autoscale-for-azure/autoscale-for-azure-configuration.html#subscribe-to-the-citrix-adc-vpx-license-in-microsoft-azure)。

  5. 创建并注册应用程序

创建虚拟网络

  1. 登录到 微软 Azure 用户门户。

  2. 选择 创建资源

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

  4. 指定所需的参数。

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

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

      • 美国中部

      • 美国东部 2

      • 法国中部

      • 欧洲北部

      • 东南亚地区

      • 西欧地区

      • 美国西部2

    注意:

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

  5. 单击 创建

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

创建安全组规则

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

  • 管理:用户帐户中专用于 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 Autoscale 组中控制的入站流量创建规则。用户可以根据需要添加任意数量的规则。

  • 管理:用户帐户中专用于管理 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 中创建子网的更多信息,请参阅:添加、更改或删除虚拟网络子网

订阅微软 Azure 中的思杰 ADC VPX 许可证

  1. 登录到用户微软 Azure 门户。

  2. 选择 创建资源

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

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

    • 使用您自己的许可证

    • 企业版

    • 白金版

    注意:

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

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

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

    • 想要以编程方式部署? 旁边,点击 开始

    图像-vpx-azure-自动伸缩-部署-07

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

    图像-vpx-azure-自动伸缩-部署-08

    重要提示:

    在 Azure 中自动扩展 Citrix ADC VPX 实例需要启用编程部署。

    • 点击 保存

    • 关闭 配置编程部署

  6. 点击 创建

创建并注册应用程序

Citrix ADM uses this application to Autoscale Citrix ADC VPX instances in Azure.

要在 Azure 中创建并注册应用程序,请执行以下操作:

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

  2. 选择 应用注册

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

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

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

  3. 单击 创建

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

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

Azure VPX 自动扩缩部署图 09

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

  • 应用程序 ID

  • 目录 ID

  • 密钥

Azure VPX 自动扩缩部署图 10

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

为应用程序分配角色权限

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

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

  2. 选择用户希望为其分配角色权限的资源组。

  3. 选择 访问控制 (IAM)

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

  5. 角色 列表中选择 所有者

  6. 选择已注册用于自动扩缩 Citrix ADC 实例的应用程序。

  7. 单击 保存

Citrix ADC VPX 在 Azure 上的自动扩缩部署图 十一

配置 思杰 ADM 组件

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

  1. 在 Azure 上预置 思杰 ADM 代理

  2. 创建站点

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

在微软 Azure 上部署思杰 ADM 代理

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

  1. 导航到 网络 > 代理

  2. 单击 预配

  3. 选择 微软 Azure 并单击 下一步

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

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

    • 站点 - 选择用户创建的站点以预配代理和 ADC VPX 实例。

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

    • 可用区 - 选择用户要创建自动扩缩组的区域。根据用户选择的云访问配置文件,将填充该配置文件特有的可用区。

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

    • 子网 - 选择用户要预配代理的管理子网。

    • 标签 - 键入自动扩缩组标签的键值对。标签由区分大小写的键值对组成。这些标签使用户能够轻松组织和识别自动扩缩组。这些标签应用于 Azure 和 Citrix ADM。

  5. 单击 完成

或者,用户可以从 Azure 应用商店安装 Citrix ADM 代理。有关详细信息,请参阅:在 Microsoft Azure 云上安装 Citrix ADM 代理

创建站点

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

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

  2. 点击 添加

  3. 选择云 窗格中,

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

    • 类型 列表中选择 Azure

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

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

    • 点击 下一步
  4. 选择区域 窗格中,

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

    • 要创建云访问配置文件,请点击 添加

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

    • 租户活动目录 ID / 租户 ID 中,指定 Microsoft Azure 中租户或帐户的活动目录 ID。

    • 指定 订阅 ID

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

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

    • 点击创建

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

    图像-vpx-azure-自动伸缩-部署-12

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

    • 指定站点名称

    • 点击完成

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

思杰 ADM 术语 微软 Azure 术语
租户 Active Directory 身份识别码 / 租户标识符 目录 ID
订阅 ID 订阅 ID
应用程序 ID / 客户端 ID 应用程序 ID
应用程序密钥密码 / 密钥 密钥或证书或客户端密钥

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

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

  2. 选择用户希望将站点附加到的代理。

  3. 单击 附加站点

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

  5. 单击 保存

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

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

  • 单击 添加 以创建自动扩缩组。

“创建自动扩缩组”页面随即出现。

  • 选择 Microsoft Azure 选项,然后单击 下一步

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

    • 名称:键入自动扩缩组的名称。

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

    • 代理:选择管理已预置实例的 Citrix ADM 代理。

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

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

    注意

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

    • 流量分发模式:默认流量分发模式选择的是“使用 Azure LB 进行负载平衡”选项。用户还可以选择“使用 Azure DNS 的 DNS”模式进行流量分发。

    • 启用自动扩缩组:启用或禁用 ASG 组的状态。此选项默认启用。如果此选项被禁用,则不会触发自动扩缩。

    • 可用性集或可用区:选择用户要在其中创建自动扩缩组的可用性集或可用区。根据用户选择的云访问配置文件,可用区会显示在列表中。

    • 标签:键入自动扩缩组标签的键值对。标签由区分大小写的键值对组成。这些标签使用户能够轻松组织和识别自动扩缩组。这些标签同时应用于 Microsoft Azure 和 Citrix ADM。

    图像-VPX-Azure-自动扩缩-部署-13

  • 单击“下一步”。

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

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

  • 选择以下一个或多个阈值参数,其值必须受到监控以触发横向扩缩或横向缩减。

    • 启用 CPU 使用率阈值:根据 CPU 使用率监控指标。

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

    • 启用吞吐量阈值:根据吞吐量监控指标。

注意:

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

vpx-azure-自动扩缩部署-14

  • 最小实例数:选择必须为此自动扩缩组预置的最小实例数。

    默认的最小实例数量与所选区域的数量相等。用户只能以所指定的区域数量的倍数来递增最小实例的数量。

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

  • 最大实例数:选择必须为此自动扩缩组预置的最大实例数。

    所允许的最大实例数量必须大于或等于所配置的最小实例数量的值。最大实例数量不能超过可用区数量与数字 32 的乘积。

    最大实例数 = 可用区数量 * 32

  • 观察时间(分钟):选择观察时间持续时间。扩缩参数的阈值必须保持超出状态才能进行扩缩的时间。如果在此指定时间内收集的所有样本都超出阈值,则会发生扩缩。

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

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

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

    图像-VPX-Azure-自动扩缩-部署-15

  • 单击“下一步”。

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

选择以下模式之一,以许可属于自动扩缩组的 Citrix ADC 实例:

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

  • 使用 Microsoft Azure从云分配选项使用 Azure Marketplace 中提供的 Citrix 产品许可证。在预配 Citrix ADC 实例时,自动扩缩组会使用 Marketplace 中的许可证。

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

有关详细信息,请参阅:许可要求

使用 Citrix ADM 中的许可证

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

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

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

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

      • 池化容量:指定为自动扩缩组中的每个新实例分配的容量。

      从公共池中,自动扩缩组中的每个 ADC 实例都会检出一个实例许可证,并且只检出指定带宽的量。

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

注意:

当预配的实例被删除或销毁时,已应用的许可证将返回到 Citrix ADM 许可证池。这些许可证可以在下一次自动扩缩期间重复用于预配新实例。

  • 许可证版本中,选择许可证版本。自动扩缩组使用指定版本来预配实例。

  • 单击下一步

步骤 4:配置云参数

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

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

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

    • Azure VM 大小:从列表中选择所需的 VM 大小。

    注意:

    确保所选的 Azure 虚拟机大小至少有三个网卡。有关详细信息,请参阅:使用 Citrix ADM 在 微软 Azure 中自动缩放 Citrix ADC VPX

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

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

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

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

    图像-vpx-azure-自动扩缩-部署-16

  • 单击“完成”。

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

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

  • 选择用户创建的自动缩放组,然后单击“配置”。

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

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

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

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

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

    • 访问类型 - 用户可以将 ADM 自动扩缩用于外部和内部应用程序。选择所需的应用程序访问类型。
  • 选择用户希望为其选定的自动扩缩组部署配置所需的 StyleBook。

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

  • 请为所有参数指定相应的值。

配置参数在选定的 StyleBook 中预定义。

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

    • 在“应用程序服务器组名称”中,指定虚拟机规模集的“自动扩缩设置名称”。

    • 从列表中选择“应用程序服务器协议”。

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

    注意:

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

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

    图像-vpx-Azure-自动伸缩-部署-17

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

    • 从列表中选择“应用程序服务器协议”。

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

    图像-vpx-Azure-自动伸缩-部署-18

  • 单击“创建”。

对自动扩缩组的配置进行修改

用户可以修改自动扩缩组配置或删除自动扩缩组。用户只能修改以下自动扩缩组参数:

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

  • 实例的最小值和最大值

  • 连接排空周期数值

  • 冷却周期的值

  • 观察持续时间值

用户还可以在创建自动扩缩组后将其删除。

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

如需了解在 微软 Azure 上预配 Citrix ADC VPX 实例的更多详细信息,请参阅在 微软 Azure 上预配 Citrix ADC VPX 实例

Azure 资源管理器 (ARM) 模板

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

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

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

有关如何在微软 Azure 上部署思杰 ADC VPX 实例的更多信息,请参阅 在微软 Azure 上部署思杰 ADC VPX 实例

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

先决条件

用户在 Azure 上部署 Citrix VPX 实例之前需要一些先决知识:

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

  • 了解思杰 ADC 设备。有关思杰 ADC 设备的详细信息,请参阅:思杰 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

    • 免费地址解析协议 (GARP)

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

    • 标记的虚拟局域网 (VLAN)

    • 动态路由

    • 虚拟 MAC

    • 使用源 IP

    • 巨型帧

  • 如果用户认为他们可能随时需要关闭并临时解除分配 Citrix ADC VPX 虚拟机,则应在创建虚拟机时分配一个静态内部 IP 地址。如果他们不分配静态内部 IP 地址,Azure 可能会在每次虚拟机重新启动时为其分配不同的 IP 地址,从而导致虚拟机无法访问。

  • 在 Azure 部署环境中,仅支持以下 Citrix ADC VPX 型号:VPX 10、VPX 200、VPX 1000 和 VPX 3000。如需了解更多信息,请参阅 Citrix ADC VPX 数据表。

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

  • Azure 在虚拟机预配期间生成的“部署 ID”在 ARM 中对用户不可见。用户无法使用部署 ID 在 ARM 上部署 Citrix ADC VPX 设备。

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

  • 对于 XenApp 和 XenDesktop® 部署,VPX 实例上的 VPN 虚拟服务器可以配置为以下模式:

    • 基本模式,其中 ICAOnly VPN 虚拟服务器参数设置为 ON。基本模式在未授权的 Citrix ADC VPX 实例上完全可用。

    • 智能访问模式,其中 ICAOnly VPN 虚拟服务器参数设置为关闭。智能访问模式仅适用于未授权的 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 许可证。因此,当为自动扩缩组预配新实例时,已配置的许可证类型会自动应用于预配的实例。

    • 池容量:为自动扩缩组中的每个预配实例分配带宽。确保用户在 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 Marketplace 中提供的 Citrix ADC 许可证。因此,当为自动扩缩组预置新实例时,许可证将从 Azure Marketplace 获取。

支持的 思杰 ADC Azure 虚拟机映像

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

使用至少支持三个 NIC 的 Azure 虚拟机映像。Citrix ADC VPX 实例的预置仅在高级版和企业版上受支持。有关 Azure 虚拟机映像类型的更多信息,请参阅:通用虚拟机大小

以下是建议用于预置的 VM 大小:

  • 标准_DS3_v2

  • Standard_B2ms

  • Standard_DS4_v2

端口使用指南

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

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

  1. Citrix ADC VPX 实例保留以下端口。当使用公共 IP 地址处理来自互联网的请求时,用户不能将这些端口定义为私有端口。端口 21、22、80、443、8080、67、161、179、500、520、3003、3008、3009、3010、3011、4001、5061、9000、7000。但是,如果用户希望面向互联网的服务(例如 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 资源管理器中,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。