先进的概念

部署指南Citrix ADC VPX on AWS - Autoscale

贡献者

作者:布莱克辛德勒

概述

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

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

Citrix VPX

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

  • Citrix管理程序

  • VMware ESX

  • 微软hyper - v

  • Linux KVM

  • 亚马逊网络服务

  • 微软Azure

  • 谷歌云平台

本部署指南主要关注Amazon Web Services上的Citrix ADC VPX。

亚马逊网络服务

亚马逊网络服务(AWS)是亚马逊提供的一个全面的、不断发展的云计算平台,包括基础设施即服务(IaaS)、平台即服务(PaaS)和打包软件即服务(SaaS)产品。AWS服务可以提供计算能力、数据库存储和内容交付服务等工具。

AWS提供以下基本服务

  • AWS计算服务

  • 迁移服务

  • 存储

  • 数据库服务

  • 管理工具

  • 安全服务

  • 分析

  • 网络

  • 消息传递

  • 开发人员工具

  • 移动服务

AWS的术语

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

  • Amazon Machine Image (AMI)——一个机器映像,它提供启动实例(云中的虚拟服务器)所需的信息。

  • 自动扩展——一个基于用户定义的策略、计划和运行状况检查自动启动或终止Amazon EC2实例的web服务。

  • AWS自动扩展组——AWS自动扩展组是一组EC2实例的集合,这些实例具有相似的特征,为了实例扩展和管理的目的,它们被视为一个逻辑组。

  • 弹性块存储——为AWS云中的Amazon EC2实例提供持久的块存储卷。

  • 弹性计算云(EC2)——一种在云中提供安全、可调整计算容量的web服务。它的设计目的是使开发人员更容易进行网络规模的云计算。

  • 弹性负载平衡(ELB)——将传入的应用程序流量分布到多个可用区中的多个EC2实例中。分配流量增加了用户应用程序的容错性。

  • 弹性网络接口ENI (Elastic Network Interface)—用户可以将其绑定到VPC中的实例的虚拟网络接口。

  • 弹性IP (Elastic IP)地址:用户在Amazon EC2或Amazon VPC中分配的静态公网IPv4地址,然后绑定到实例。弹性IP地址与用户帐户相关联,而不是与特定实例相关联。它们是弹性的,因为用户可以根据需求的变化轻松地分配、附加、分离和释放它们。

  • IAM-Instance-Profile——提供给在AWS集群中提供的Citrix ADC实例的标识。配置文件允许实例在开始对客户端请求进行负载平衡时访问AWS服务。

  • 身份和访问管理(IAM)——具有权限策略的AWS身份,该策略决定了该身份在AWS中可以做什么和不能做什么。用户可以使用IAM角色使运行在EC2实例上的应用程序能够安全地访问其AWS资源。在高可用性环境中部署VPX实例需要IAM角色。

  • 实例类型——Amazon EC2提供了广泛的实例类型选择,针对不同用例进行了优化。实例类型包括CPU、内存、存储和网络容量的不同组合,使用户可以灵活地为其应用程序选择适当的资源组合。

  • 侦听器——侦听器是一个使用您配置的协议和端口检查连接请求的进程。为侦听器定义的规则决定负载平衡器如何将请求路由到一个或多个目标组中的目标。

  • NLB—网络负载平衡器。NLB是AWS环境中可用的L4负载平衡器。

  • Route 53——Route 53是亚马逊的高可用性和可扩展的云域名系统(DNS) web服务。

  • 安全组——一个实例允许的入站网络连接的命名集。

  • 子网—VPC中可挂载EC2实例的IP地址段。用户可以根据安全性和操作需要创建子网,对实例进行分组。

  • VPC (Virtual Private Cloud)—一种web服务,用于发放AWS云中逻辑隔离的部分,用户可以在自己定义的虚拟网络中启动AWS资源。

以下是我们建议您熟悉的本文档中使用的其他术语的简要描述:

  • Autoscale组——Autoscale组是一组Citrix ADC实例,它们将应用程序作为一个单一实体进行负载平衡,并在阈值参数超出限制时触发自动缩放。Citrix ADC实例根据自动伸缩组配置动态地向外扩展或向内扩展。

注意:

Citrix自动缩放组在本文中称为自动缩放组,而AWS自动缩放组明确地称为AWS自动缩放组。

  • Citrix ADC集群—Citrix ADC集群是一组Citrix ADC VPX实例,每个实例称为一个节点。客户端流量分布在各个节点上,以提供高可用性、高吞吐量和可伸缩性。

  • CloudFormation——用于编写或更改模板的服务,这些模板可以作为一个单元创建和删除相关的AWS资源。

  • 冷却期——在横向扩展之后,冷却期是统计数据评估必须停止的时间。在做出下一个扩展决策之前,通过允许当前流量在当前实例集上稳定和平均,冷却期确保了自动扩展组的有机增长。默认冷却时间为10分钟,可配置。

注意:

默认值是根据扩展后系统稳定所需的时间(大约4分钟)加上Citrix ADC配置和DNS发布时间确定的。

  • Drain Connection Timeout—在scale-in期间,一旦一个实例被选择去配置,Citrix ADM将从处理到autoscale组的新连接中删除该实例,并等待指定的Drain连接超时时间到期后再去配置。此超时允许在解除配置之前耗尽与此实例的现有连接。如果连接在排泄连接超时之前被排干,即使这样,Citrix ADM也会等待排泄连接超时时间到期,然后再开始新的评估。

注意:

如果在耗尽连接超时后仍未耗尽连接,Citrix ADM将删除可能影响应用程序的实例。缺省值为5分钟,可配置。

  • 密钥对——一组安全凭证,用户用它以电子方式证明自己的身份。密钥对由一个私钥和一个公钥组成。

  • 路由表—一组路由规则,用于控制离开与路由表关联的任何子网的流量。用户可以将多个子网关联到一个路由表,但一个子网一次只能关联一个路由表。

  • 简单存储服务(S3) -互联网存储。它的设计目的是使开发人员更容易进行网络规模的计算。

  • 标签——每个自动缩放组被分配一个标签,它是一个键和值对。您可以对资源应用标记,使您能够轻松地组织和识别资源。标签适用于AWS和Citrix adm。示例:Key= name, Value = webserver。使用一组一致的标签可以轻松地跟踪自动伸缩组,这些组可能属于不同的组,如开发、生产、测试。

  • 阈值参数——监控触发横向扩展或横向扩展的参数。参数包括CPU占用率、内存占用率和吞吐量。可以选择一个或多个参数进行监控。

  • 生存时间(TTL)——指定在再次查询信息源之前缓存DNS资源记录的时间间隔。缺省TTL值为30秒,可配置。

  • 观察时间-缩放参数的阈值必须保持被破坏的时间,以便缩放发生。如果在此指定时间内收集的所有样本都超过阈值,则会发生缩放。如果阈值参数在整个持续时间内保持在高于最大阈值的值,则会触发横向扩展。如果阈值参数低于最小阈值,则触发缩放。默认值为3分钟,可配置。

用例

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

数据中心扩展与Autoscale

有些组织希望扩大思杰在公共云中的足迹,他们正在考虑使用本地公共云服务。一个常见的用例是企业按照自己的速度迁移到云,这样他们就可以专注于更高的ROI工作负载或应用程序。通过使用我们的解决方案(通常包括使用池容量设备,通过解耦带宽和实例来将工作负载保持在本地和云中),他们可以按照自己的速度移动到他们选择的任何云。

现在,公共云提供了弹性,这对于希望按需托管应用程序而又不担心资源供应过剩或不足的客户来说也是一个重要的用例。

在云中高效托管应用程序涉及根据应用程序需求对资源进行简单且经济高效的管理。例如,假设一个企业有一个在AWS上运行的电子商务网站门户。该门户有时会在应用程序流量高峰期间提供大量折扣。当这些活动期间应用程序流量增加时,必须动态地向外扩展应用程序,网络资源也可能需要增加。

Citrix ADM自动扩展特性支持在AWS中提供和自动扩展Citrix ADC实例。Citrix ADM自动缩放特性会持续监控阈值参数,例如内存使用情况、CPU使用情况和吞吐量。用户可以选择其中一个参数或多个参数进行监控。然后将这些参数值与用户配置的值进行比较。如果参数值超出限制,则会根据需要触发向外扩展或向内扩展。

Citrix ADM自动扩展特性体系结构是这样设计的,用户可以为每个自动扩展组配置最小和最大实例数量。预先设置这些数字可确保每个应用程序始终启动并运行,并与客户需求保持一致。

自动缩放的好处

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

智能缩放决策和零触摸配置.自动缩放持续监控您的应用程序,并根据需求动态地添加或删除Citrix ADC实例。当需求激增时,实例将自动添加。当需求急剧下降时,实例将被自动删除。Citrix ADC实例的添加和删除是自动进行的,使其成为零接触手动配置。

DNS自动管理.Citrix ADM autoscale特性提供自动DNS管理。每当添加新的Citrix ADC实例时,域名都会自动更新。

安全连接终止.在扩展期间,将优雅地删除Citrix ADC实例,避免丢失客户端连接。

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

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

部署类型

Three-NIC部署

  • 典型的部署

    • 典型的部署

    • 样本的驱动

    • 与ADM

    • 带GSLB (Route53 w/域注册)

    • 许可-汇集/市场

  • 用例

    • 采用三网卡部署,实现数据流量和管理流量的真正隔离。

    • 三网卡部署还可以提高ADC的规模和性能。

    • “Three-NIC Deployment”用于吞吐量一般为1gbps或更高的网络应用,建议使用“Three-NIC Deployment”。

钢管部署

如果客户要自定义部署或自动化部署,他们将使用CloudFormation模板进行部署。

部署步骤

Autoscale数据中心扩展的三网卡部署

Citrix ADC VPX实例在AWS市场上作为Amazon Machine Image (AMI)可用,也可以在AWS VPC中作为Elastic Compute Cloud (EC2)实例启动。在Citrix VPX上作为受支持AMI允许的最小EC2实例类型是m4.large.Citrix ADC VPX AMI实例至少需要2个虚拟cpu和2 GB内存。在AWS VPC中启动的EC2实例还可以提供VPX配置所需的多个接口、每个接口的多个IP地址以及公网和私有IP地址。每个VPX实例至少需要三个IP子网:

  • 管理子网

  • 面向客户端的子网(VIP)

  • 面向后端子网(SNIP)

Citrix建议为AWS安装上的标准VPX实例提供三个网络接口。

AWS目前只对在AWS VPC内运行的实例提供多ip功能。VPC中的VPX实例可以用来对运行在EC2实例中的服务器进行负载均衡。在Amazon VPC中,用户可以创建和控制一个虚拟的网络环境,包括自己的IP地址范围、子网、路由表和网络网关。

注意:

默认情况下,每个AWS区域最多可以为每个AWS帐户创建5个VPC实例。用户可以通过提交Amazon的请求表单来请求更高的VPC限制:Amazon VPC请求

许可要求

为Citrix autoscale组创建的Citrix ADC实例使用Citrix ADC Advanced或Premium ADC许可证。Citrix ADC集群特性包含在高级或高级ADC许可证中。

对于Citrix ADM发放的Citrix adc,用户可以选择以下两种方式进行授权:

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

    • 池容量:为autoscale组中每个已发放的实例分配带宽。确保用户在Citrix ADM中有必要的可用带宽来提供新的实例。有关更多信息,请参见:配置池容量.autoscale组中的每个ADC实例从池中签出一个实例许可证和指定带宽。

    • VPX许可证:将VPX license应用到新发放的实例中。确保用户在Citrix ADM中拥有必要数量的可用VPX许可证,以提供新的实例。当发放Citrix ADC VPX实例时,实例会从Citrix adm检查license。更多信息请参见:Citrix ADC VPX签入和签出许可

    • 虚拟CPU license:对新发放的实例应用虚拟CPU license。此许可证指定了有权使用Citrix ADC VPX实例的cpu数量。确保用户在Citrix ADM中拥有必要数量的虚拟cpu来提供新的实例。当发放Citrix ADC VPX实例时,实例会从Citrix adm中检出虚拟CPU license。更多信息请参见:Citrix ADC虚拟CPU授权

当发放的实例被销毁或取消发放时,申请的license将自动返回给Citrix ADM。

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

  • 使用AWS订阅许可:在创建autoscale组时,配置AWS市场中可用的Citrix ADC许可证。因此,当为autoscale组提供新实例时,将从AWS Marketplace获得许可证。

在AWS上部署Citrix ADC VPX实例

当客户将其应用程序迁移到云端时,作为其应用程序一部分的组件会增加,变得更加分布式,并且需要进行动态管理。

借助AWS上的Citrix ADC VPX实例,用户可以无缝地将其L4-L7网络堆栈扩展到AWS。借助Citrix ADC VPX, AWS成为其本地IT基础设施的自然扩展。客户可以在AWS上使用思杰ADC VPX,将云的弹性和灵活性与支持世界上最苛刻的网站和应用程序的相同优化、安全性和控制功能相结合。

借助Citrix应用程序交付管理(Application Delivery Management, ADM)监控其Citrix ADC实例,用户可以了解其应用程序的运行状况、性能和安全性。他们可以在混合多云环境中自动设置、部署和管理应用程序交付基础设施。

架构图

下图概述了Citrix ADM如何与AWS连接以在AWS中提供Citrix ADC VPX实例。

image-vpx-aws-autoscale-deployment-01

配置任务

在Citrix ADM中发放Citrix ADC VPX实例之前,需要在AWS上执行以下任务:

  • 创建子网

  • 创建安全组

  • 创建IAM角色并定义策略

在Citrix ADM上执行以下任务,以便在AWS上发放实例:

  • 创建网站

  • 在AWS上提供Citrix ADC VPX实例

创建子网

在VPC中创建三个子网。在VPC中发放Citrix ADC VPX实例时,需要使用三个子网:management、client和server。在VPC中定义的范围内,为每个子网指定一个IPv4 CIDR块。指定子网所属的可用分区。在同一个可用分区中创建三个子网。

下图说明了在客户区域中创建的三个子网及其与客户端系统的连接。

image-vpx-aws-autoscale-deployment-02

有关VPC和子网的更多信息,请参见:vpc和子网

创建安全组

在Citrix ADC VPX实例中创建安全组,控制入方向和出方向的流量。安全组相当于用户实例的虚拟防火墙。在实例级别创建安全组,而不是在子网级别。可以将用户VPC中的子网中的每个实例分配给不同的安全组。为每个安全组添加规则,控制通过客户端子网进入实例的入站流量。用户还可以添加一组单独的规则来控制通过服务器子网到应用服务器的出站流量。尽管用户可以为其实例使用默认安全组,但他们可能希望创建自己的组。创建三个安全组——每个子网一个。为用户希望控制的入站和出站流量创建规则。用户可以添加任意数量的规则。

有关安全组的详细信息,请参见:VPC的安全组

创建IAM角色并定义策略

创建IAM角色,以便客户与Citrix信任的AWS账户建立信任关系,并创建具有Citrix权限的策略。

  • 在AWS中,单击服务.在左侧导航窗格中选择IAM > Roles >创建角色

  • 用户正在将自己的AWS账户与Citrix adm中的AWS账户进行连接另一个AWS账户允许Citrix ADM在AWS账户中执行操作。

  • 输入12位的Citrix ADM AWS帐号ID。Citrix ID为835822366011。当用户创建云访问配置文件时,也可以在Citrix ADM中找到Citrix ID。

image-vpx-aws-autoscale-deployment-03

  • 启用需要外部ID对接第三方帐户。用户可以通过要求一个可选的外部标识符来提高其角色的安全性。键入可以是任意字符组合的ID。

  • 点击权限

  • 附加权限策略页面,点击创建政策

Citrix提供的权限列表如下框所示:

{“版本”:“2012-10-17”,“声明”:[{“效应”:“允许”、“行动”:["ec2: descripbeinstances ", "ec2: descripbeimageattribute ", "ec2: descripbeinstanceattribute ", "ec2: descripbedhcpoptions ", "ec2: descripbesecuritygroups ", "ec2: descripbehosts ", "ec2: descripbeimages ", "ec2: descripbesubnets ", "ec2: descripbenetworkinterfaces ", "ec2: descripbeavailabilityzones ", "ec2: descripbenetworkinterfaceattribute ", "ec2: descripbeinstancatus ", "ec2: descripbeaddresses ", "ec2: descripbekeypairs ", "ec2: descripbetags ", "ec2: descripbevolumestatus ","ec2: descripbevolumes ", "ec2: descripbevolumeattribute ", "ec2:CreateTags", "ec2:CreateKeyPair", "ec2:DeleteKeyPair", "ec2:ResetInstanceAttribute", "ec2:RunScheduledInstances", "ec2: reportinstancatus ", "ec2:StartInstances", "ec2:RunInstances", "ec2:StopInstances", "ec2:UnmonitorInstances", "ec2:RebootInstances", "ec2:TerminateInstances", "ec2:ModifyInstanceAttribute", "ec2:AssignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses", "ec2:UnassignPrivateIpAddresses","ec2:CreateNetworkInterface", "ec2:AttachNetworkInterface", "ec2:DetachNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:ResetNetworkInterfaceAttribute", "ec2:ModifyNetworkInterfaceAttribute", "ec2:AssociateAddress", "ec2:AllocateAddress", "ec2:ReleaseAddress", "ec2:DisassociateAddress", "ec2:GetConsoleOutput"], "Resource": "*"}]} 
  • 复制并粘贴JSON选项卡中的权限列表,然后单击审查政策

  • 审查政策页,键入策略的名称,输入描述,然后单击创建政策

在Citrix ADM中创建站点

在Citrix ADM中创建站点,并添加与AWS角色关联的VPC的详细信息。

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

  2. 点击添加

  3. 选择服务类型为AWS并启用使用已有的VPC作为站点

  4. 选择云访问配置文件。

  5. 如果该字段中不存在云接入策略,请单击添加创建配置文件。

    1. 创建云访问配置文件页中,键入用户想要访问AWS的配置文件的名称。

    2. 键入与用户在AWS中创建的角色关联的ARN。

    3. 键入用户在AWS中创建身份和访问管理(Identity and Access Management, IAM)角色时提供的外部ID。请参见“创建IAM角色并定义策略”任务中的步骤4。确保您在AWS中指定的IAM角色名称以“Citrix-ADM-”开头,并正确显示在角色ARN中。

image-vpx-aws-autoscale-deployment-04

在Citrix ADM中导入与AWS中用户IAM角色关联的VPC的区域、VPC ID、名称、CIDR块等详细信息。

  1. 键入站点的名称。

  2. 点击创建

在AWS上提供Citrix ADC VPX

使用用户之前创建的站点在AWS上配置Citrix ADC VPX实例。提供Citrix ADM服务代理的详细信息,以提供绑定到该代理的那些实例。

  1. 在Citrix ADM中,导航到网络>实例> Citrix ADC

  2. VPX选项卡上,单击条款

此选项显示提供Citrix ADC VPX on Cloud页面。

  1. 选择亚马逊网络服务(AWS)并点击下一个

  2. 基本参数,选择实例类型从列表中。

    • 独立的:此选项在AWS上提供独立的Citrix ADC VPX实例。

    • :此选项提供AWS上的高可用性Citrix ADC VPX实例。

    要在同一分区中发放Citrix ADC VPX实例,请选择单独的区域选择下区域类型

    要跨多个区域提供Citrix ADC VPX实例,请选择多区选择下区域类型.在云参数选项卡,确保为在AWS上创建的每个区域指定网络详细信息。

    image-vpx-aws-autoscale-deployment-05

    • 指定Citrix ADC VPX实例的名称。

    • 网站,选择前面创建的站点。

    • 代理,选择为管理Citrix ADC VPX实例而创建的代理。

    • 云接入配置文件,选择在创建站点时创建的云访问配置文件。

    • 设备配置文件,选择提供身份验证的配置文件。

    当需要登录到Citrix ADC VPX实例时,Citrix ADM使用设备配置文件。

    • 点击下一个
  3. 云参数

    • 选择Citrix IAM角色在AWS中创建。IAM角色是一个具有权限策略的AWS身份,该权限策略决定了该身份在AWS中可以做什么和不可以做什么。

    • 产品字段中,选择用户需要预置的Citrix ADC产品版本。

    • 中选择EC2实例类型实例类型列表。

    • 选择版本用户想要配置的Citrix ADC。选择两个主要Citrix ADC的版本。

    • 安全组,选择用户在其虚拟网络中创建的“管理”、“客户端”和“服务器”安全组。

    • 服务器ip地址。子网/节点,选择安全组在每个节点的服务器子网中的IP地址个数。

    • 子网,为在AWS中创建的每个区域选择Management、Client和Server子网。用户也可以选择区域可用性区域列表。

  4. 点击完成

image-vpx-aws-autoscale-deployment-06

Citrix ADC VPX实例现在在AWS上提供。

注意:目前,Citrix ADM不支持从AWS取消配置Citrix ADC实例。

查看AWS中发放的Citrix ADC VPX

  1. 从AWS主页导航到服务并点击EC2

  2. 资源页面,点击运行的实例

  3. 用户可以查看AWS发放的Citrix ADC VPX。

Citrix ADC VPX实例的名称与用户在Citrix ADM中配置实例时提供的名称相同。

查看Citrix ADM中发放的Citrix ADC VPX

  1. 在Citrix ADM中,导航到网络>实例>Citrix ADC

  2. 选择Citrix ADC VPX选项卡。

  3. 下面列出了在AWS中提供的Citrix ADC VPX实例。

使用Citrix ADM在AWS中自动缩放Citrix ADC

自动定量架构

下图说明了以DNS作为流量分发器的自动缩放特性的体系结构。

image-vpx-aws-autoscale-deployment-07

下图展示了以NLB为流量分发器的自动缩放特性的架构。

image-vpx-aws-autoscale-deployment-08

Citrix应用交付管理(ADM)

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

自动伸缩组是在Citrix ADM中创建的,Citrix ADC VPX实例是从Citrix ADM中提供的。然后,应用程序通过Citrix ADM中的StyleBooks进行部署。

流量分配器(NLB或DNS/Route53)

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

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

Citrix ADM Autoscale集团

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

Citrix ADC集群

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

注意:

自动伸缩决策是在集群级别而不是在节点级别做出的。

  • 独立集群托管在不同的可用性区域中,因此对某些共享状态特性的支持是有限的。

  • 除了基于cookie的持久化之外,源IP持久化等持久化会话不能跨集群共享。但是,负载平衡方法等所有无状态特性都可以在多个可用性区域中按预期工作。

AWS自动伸缩组

AWS自动伸缩组是一组EC2实例,它们具有相似的特征,并被视为一个逻辑分组,用于实例伸缩和管理。

AWS可用区

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

流量分布方式

随着用户将应用程序部署迁移到云端,自动伸缩成为基础设施的一部分。当应用程序使用自动扩展向外或向内扩展时,必须将这些更改传播到客户机。这种传播是使用基于DNS或基于NLB的自动缩放来实现的。

流量分配用例

功能 支持NLB DNS支持
HTTPS 支持 支持
WAF 支持 支持
网关 不支持 不支持
* ICA代理 不支持 不支持
* EDT支持 不支持 不支持

基于NLB的自动缩放

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

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

使用基于nlb的自动缩放来管理TCP流量。使用基于dns的自动缩放功能管理UDP流量。

基于DNS的自动缩放

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

注意:

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

自动缩放支持所有Citrix ADC特性,除了以下特性需要在集群节点上进行斑点配置:

  • GSLB虚拟服务器

  • Citrix Gateway及其特性

  • 电信的特性

有关斑点配置的更多信息,请参见条纹,部分条纹和斑点配置

自动缩放如何工作

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

image-vpx-aws-autoscale-deployment-09

Citrix ADM以一分钟的时间间隔从自动伸缩提供的集群收集统计信息(CPU使用情况、内存使用情况、吞吐量)。

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

  • 如果触发了横向扩展:

    • 发放新节点。

    • 节点被附加到集群中,配置从集群同步到新节点。

    • 节点在Citrix ADM上注册。

    • 在DNS/NLB中更新新的节点IP地址。

部署应用程序时,在每个可用区域的集群上创建一个IPset,并通过DNS/NLB注册域和实例IP地址。

  • 如果触发缩放:

    • 完成移除待移除节点的IP地址。

    • 从集群中分离节点,解除配置,然后从Citrix ADM中注销节点。

删除应用后,域名和实例IP地址将从DNS/NLB中注销,IPset也将被删除。

例子

假设用户在一个可用区中使用以下配置创建了一个名为asg_arn的自动伸缩组。

  • 阈值参数—内存使用率

  • 最小限制:40

  • 最大限制:85

  • 观看时间- 3分钟

  • 冷却时间- 10分钟

  • 排水连接超时- 10分钟

  • TTL超时- 60秒

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

image-vpx-aws-autoscale-deployment-10

事件顺序

  • T1、T2:内存占用率超过最大阈值。

  • T3 -内存使用率低于最大阈值限制。

  • T6、T5、T4:内存使用率连续3次超过最大阈值限制。

    • 触发横向扩展。

    • 开始发放节点。

    • 冷却时间生效。

  • T7 - T16:由于冷却期生效,从T7到T16的可用性区域将跳过自动缩放评估。

  • T18、T19、T20—内存使用率连续三个观察时间超过最低阈值限制。

    • 缩放被触发。

    • 排水连接超时生效。

    • IP地址从DNS/NLB中解除。

  • T21 - T30:从T21到T30的可用性区域跳过自动规模评估,因为漏连接超时生效。

  • T31

    • 对于基于DNS的自动缩放,TTL有效。

    • 对于基于NLB的自动伸缩,会发生实例的取消配置。

  • T32

    • 对于基于NLB的自动缩放,开始对统计数据进行评估。

    • 对于基于DNS的自动伸缩,会发生实例的取消配置。

  • T33:对于基于DNS的自动缩放,开始评估统计信息。

自动定量配置

要在AWS中启动Citrix ADC VPX实例的自动伸缩,用户必须完成以下步骤:

image-vpx-aws-autoscale-deployment-11

  • 完成本指南的AWS先决条件部分中列出的所有AWS先决条件。

  • 在本指南的Citrix ADM先决条件部分中完成所有关于Citrix ADM的先决条件。

  • 创建自动伸缩组:

    • 初始化自动缩放配置。

    • 配置自动缩放参数。

    • 查看许可证。

    • 配置云参数

  • 部署应用程序。

接下来的几节将帮助用户在AWS中执行所有必要的任务,然后在Citrix adm中创建自动伸缩组。用户必须完成的任务如下:

  • 在AWS上订阅所需的Citrix ADC VPX实例。

  • 创建VPC或选择已有VPC。

  • 定义相应的子网和安全组。

  • 创建两个IAM角色,一个用于Citrix ADM,一个用于Citrix ADC VPX实例。

提示:

用户可以使用AWS CloudFormation模板自动完成Citrix ADC自动缩放的AWS先决条件步骤,方法如下:citrix-adc-aws-cloudformation /模板

有关如何创建VPC、子网和安全组的更多信息,请参见:AWS的文档

在AWS中订阅Citrix ADC VPX许可证

  • 至:AWS市场

  • 使用您的凭据登录。

  • 搜索Citrix ADC VPX客户许可版、高级版或高级版。

image-vpx-aws-autoscale-deployment-12

  • 订阅Citrix ADC VPX客户许可、高级版或Citrix ADC VPX高级版许可。

注意:

如果用户选择客户许可版本,自动扩展组在发放Citrix ADC实例时从Citrix ADM签出许可证。

创建子网

在用户VPC中创建三个子网,分别用于管理连接、客户端连接和服务器连接。在用户VPC中定义的范围内,为每个子网指定一个IPv4 CIDR块。指定用户希望子网所属的可用分区。在服务器所在的每个可用性区域中创建所有三个子网。

  • 管理.用户VPC中已有的子网,用于管理。Citrix ADC必须联系AWS服务,并且需要互联网接入。配置NAT网关,并添加路由表项,允许该子网访问internet。

  • 客户端.用户VPC中已有的客户端专用子网。通常,Citrix ADC通过来自internet的公共子网接收应用程序的客户端流量。将客户端子网与路由表关联,其中包含到Internet网关的路由。这允许Citrix ADC接收来自互联网的应用程序流量。

  • 服务器.发放应用服务器的服务器子网。所有用户应用服务器都在此子网中,并通过此子网接收来自Citrix ADC的应用程序流量。

创建安全组

  • 管理.您帐户中的现有安全组专门用于管理Citrix ADC VPX。在以下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服务器端通信专用用户帐号中的现有安全组。

创建IAM角色

除了创建IAM角色和定义策略外,用户还必须在AWS中创建实例配置文件。IAM角色允许Citrix ADM发放Citrix ADC实例,创建或删除Route53表项。

而角色定义了“我能做什么?”,它们不能定义“我是谁?”AWS EC2使用实例概要文件作为IAM角色的容器。实例概要文件是IAM角色的容器,用户可以使用它在实例启动时将角色信息传递给EC2实例。

当用户使用控制台创建IAM角色时,控制台会自动创建一个实例配置文件,并为其提供与其对应的角色相同的名称。角色提供了一种机制来定义权限集合。IAM用户代表一个人,实例概要文件代表EC2实例。如果用户具有角色“a”,并且实例具有附加到“a”的实例概要文件,则这两个主体可以以相同的方式访问相同的资源。

注意:

确保角色名称以“Citrix-ADM-”开头,实例配置文件名称以“Citrix-ADC-”开头。

创建IAM角色

创建IAM角色,以便在您的用户和Citrix信任的AWS帐户之间建立信任关系,并创建具有Citrix权限的策略。

  • AWS,点击服务.在左侧导航窗格中选择IAM > Roles >创建角色

  • 用户正在将用户的AWS帐户与Citrix adm中的AWS帐户进行连接,请选择另一个AWS账户允许Citrix ADM在用户AWS帐户中执行操作。

  • 输入12位的Citrix ADM AWS帐号ID。Citrix ID为835822366011。当用户创建云访问配置文件时,也可以在Citrix ADM中找到Citrix ID。

image-vpx-aws-autoscale-deployment-13

  • 点击权限

  • 附加权限策略页面,点击创建政策

  • 用户可以在可视化编辑器中或使用JSON创建和编辑策略。

Citrix对Citrix ADM的权限列表见下框:

{“版本”:“2012-10-17”,“声明”:[{“行动”:["ec2: descripbeinstances ", "ec2:UnmonitorInstances", "ec2:MonitorInstances", "ec2:ResetInstanceAttribute", "ec2: reportinstancatus ", "ec2:DescribeVolumeStatus", "ec2:StartInstances", "ec2: descripbevolumes ", "ec2:UnassignPrivateIpAddresses", "ec2:StartInstances", "ec2:CreateTags", "ec2:ResetNetworkInterfaceAttribute", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface", "ec2:RunInstances", "ec2:StopInstances", "ec2:AssignPrivateIpAddresses","ec2: descripbevolumeattribute ", "ec2: descripbeinstancecreditspecifications ", "ec2:CreateNetworkInterface", "ec2: descripbeimageattribute ", "ec2:AssociateAddress", "ec2: descripbesubnets ", "ec2:DeleteKeyPair", "ec2:DisassociateAddress", "ec2: descripbeinstanceaddress ", "ec2:DeleteTags", "ec2:RunScheduledInstances", "ec2: descripbeinstanceattribute ", "ec2: descripbenetworkinterfaces ", "ec2: descripbedhcpoptions ", "ec2:GetConsoleOutput", "ec2: descripbenetworkinterfaces ", "ec2: descripbeavailabilityzones ","ec2: descripbenetworkinterfaceattribute ", "ec2:ModifyInstanceAttribute", "ec2: describeinstancatus ", "ec2:ReleaseAddress", "ec2:RebootInstances", "ec2:TerminateInstances", "ec2:DetachNetworkInterface", "ec2:DescribeTags", "ec2:AllocateAddress", "ec2:DescribeSecurityGroups", "ec2:DescribeHosts", "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:AttachNetworkInterface", "ec2:AssociateIamInstanceProfile", "ec2:DescribeAccountAttributes","ec2: descripbeinternetgateway "], "Resource": "*", "Effect": "Allow", "Sid": "VisualEditor0"}, {"Action": ["iam:GetRole", "iam:PassRole", "iam:CreateServiceLinkedRole"], "Resource": "*", "Effect": "Allow", "Sid": "VisualEditor1"}, {"Action":[" route53: CreateHostedZone”、“route53: CreateHealthCheck”、“route53: GetHostedZone”,“route53: ChangeResourceRecordSets”,“route53: ChangeTagsForResource”,“route53: DeleteHostedZone”,“route53: DeleteHealthCheck”,“route53: ListHostedZonesByName”,“route53: GetHealthCheckCount”),“资源”:“*”,“效果”:“允许”、“Sid”:“VisualEditor2”},{“行动”:[“我:ListInstanceProfiles”,“我:ListAttachedRolePolicies”,“我:SimulatePrincipalPolicy”,“我:SimulatePrincipalPolicy”),“资源”:“*”、“效应”:“允许”、“Sid”:“VisualEditor3”},{“行动”:["ec2:ReleaseAddress", "elasticloadbalancing:DeleteLoadBalancer", "ec2: descripbeaddresses ", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing: derregistertargets ", "ec2: descripbesubnets ", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing: modifytargetgrouattributes ", "ec2:AllocateAddress"], "Resource": "*", "Effect": "Allow", "Sid":"VisualEditor4"}]} 
  • 复制并粘贴JSON选项卡中的权限列表,然后单击审查政策

  • 审查政策页,键入策略的名称,输入描述,然后单击创建政策

注意:

确保名称以“Citrix-ADM-”开头。

  • 创建角色页,输入角色的名称。

注意:

确保角色名称以“Citrix-ADM-”开头。

  • 点击创建角色

类似地,通过提供以开头的不同名称,为Citrix ADC实例创建概要文件Citrix-ADC -.附加一个策略,其中包含Citrix为AWS提供的访问Citrix ADC实例的权限。

确保用户选择AWS服务>EC2,然后点击权限创建实例概要文件。添加Citrix提供的权限列表。

image-vpx-aws-autoscale-deployment-14

Citrix为Citrix ADC实例提供的权限列表如下:

{"Version": "2012-10-17", "Statement": [{"Sid": "VisualEditor0", "Effect": "Allow", "Action": ["iam:GetRole", "iam:SimulatePrincipalPolicy", "autoscaling:*", "sns:*", "sqs:*", "cloudwatch:*", "ec2:AssignPrivateIpAddresses", "ec2: descripbeinstances ", "ec2: descripbenetworkinterfaces ", "ec2:DetachNetworkInterface", "ec2:AttachNetworkInterface", "ec2:StartInstances", "ec2:StopInstances"], "Resource": "*"}]} 

注册DNS域

用户还必须确保他们已经注册了用于托管其应用程序的DNS域。

评估用户网络中所需的弹性ip (elastic ip)数量。

所需的eip数量取决于用户是部署基于DNS的自动缩放还是基于NLB的自动缩放。要增加eip的数量,请使用AWS创建一个用例。

  • 对于基于DNS的自动扩展,每个可用区域所需的eip数量等于应用程序数量乘以用户希望在自动扩展组中配置的VPX实例的最大数量。

  • 对于基于NLB的自动伸缩,所需的eip数量等于应用程序数量乘以部署应用程序的可用性区域数量。

评估实例限制要求

在评估实例限制时,确保用户也考虑到Citrix ADC实例的空间需求。

创建Autoscale组

初始化自动缩放配置

  • 在Citrix ADM中,导航到网络b> AutoScale组

  • 点击添加创建自动伸缩组。的创建AutoScale组页面出现。

  • 输入以下详细信息。

    • 名字.键入自动缩放组的名称。

    • 网站.选择用户创建的站点,用于在AWS上发放Citrix ADC VPX实例。

    • 代理.选择管理已分配实例的Citrix ADM代理。

    • 云接入配置文件.选择云访问配置文件。

    注意:

    如果该字段中不存在云接入策略,请单击添加创建配置文件。

    • 键入与您在AWS中创建的角色关联的ARN。

    • 键入用户在AWS中创建身份和访问管理(Identity and Access Management, IAM)角色时提供的外部ID。根据用户选择的云访问配置文件,填充可用性区域。

    • 设备配置文件.从列表中选择设备配置文件。每当Citrix ADM必须登录到实例时,设备配置文件将被使用。

    • 流量分布方式.的使用NLB进行负载均衡默认流量分配方式为“Option”。如果应用程序使用UDP流量,则选择DNS使用AWS route53image-vpx-aws-autoscale-deployment-15

注意:

自动伸缩配置完成后,不能添加新的可用分区,也不能删除已有的可用分区。

  • 启用AutoScale组.启用或禁用ASG组的状态。默认情况下,该选项是启用的。如果禁用此选项,则不会触发自动缩放。

  • 可用性区域.选择要在其中创建自动伸缩组的区域。根据您选择的云访问配置文件,将填充特定于该配置文件的可用性区域。

  • 标签.键入自动缩放组标记的键值对。标记由区分大小写的键值对组成。这些标签使您能够轻松地组织和识别自动缩放组。这些标签同时应用于AWS和Citrix ADM。

image-vpx-aws-autoscale-deployment-16

  • 点击下一个

配置自动缩放参数

  • 在“自动缩放参数”页签中输入以下详细信息。

  • 选择以下一个或多个阈值参数,必须监控这些参数的值才能触发横向缩放或横向缩放。

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

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

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

注意:

  1. 默认最小阈值为30,最大阈值为70。但是,用户可以修改限制。
  2. 最小阈值限制必须等于或小于最大阈值限制的一半。
  3. 可以选择多个阈值参数进行监控。在这种情况下,如果阈值参数中至少有一个高于最大阈值,则会触发缩放。但是,只有当所有阈值参数都低于其正常阈值时,才会触发缩放。

image-vpx-aws-autoscale-deployment-17

  • 最小实例.选择需要为此自动伸缩组配置的最小实例数。

  • 缺省情况下,最小实例数等于选择的分区数。用户可以将最小实例增加到分区数的倍数。

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

  • 最大的实例.选择需要为此自动伸缩组配置的最大实例数。

  • 最大实例数必须大于或等于最小实例值。可以配置的最大实例数等于可用区数乘以32。

  • 最大实例数=可用区数* 32。

  • 连接超时时间(分钟).选择漏接超时时间。在伸缩期间,一旦一个实例被选择用于解除配置,Citrix ADM将从处理到自动伸缩组的新连接中删除该实例,并等待直到指定的时间到期才解除配置。这允许在该实例解除配置之前耗尽与该实例的现有连接。

  • 冷却时间(分钟).选择冷却时间。在扩展期间,冷却期是在发生扩展后必须停止对统计信息进行评估的时间。这确保了自动扩展组实例的有机增长,允许当前流量在做出下一个扩展决策之前稳定并平均当前一组实例。

  • DNS运行时间(秒).设置报文在网络中存在的时间长度,单位为秒。仅当流量分配方式为“DNS + AWS route53”时有效。

  • 值班时间(分钟).选择计时时长。缩放参数的阈值必须保持被破坏的时间,才会发生缩放。如果在此指定时间内收集的所有样本都超过阈值,则会发生缩放。

image-vpx-aws-autoscale-deployment-18

  • 点击下一个

为发放Citrix ADC实例配置license

选择以下模式之一来授权属于Autoscale Group的Citrix ADC实例:

  • 使用Citrix ADM:在发放Citrix ADC实例时,autoscale组从Citrix ADM检查许可证。

  • 使用AWS云:从云端分配资源选项使用AWS市场中可用的Citrix产品许可。在供应Citrix ADC实例时,autoscale组使用来自市场的许可。

    • 如果用户选择使用来自AWS市场的许可证,请在云参数选项卡。

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

使用Citrix ADM的许可证

  • 许可证选项卡上,选择从行政管理拨款

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

    • 带宽许可:用户可在“带宽许可类型”列表中选择以下两种类型:

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

    从公共池中,autoscale组中的每个ADC实例只签出一个实例许可证和指定的带宽。

    • VPX许可证:发放Citrix ADC VPX实例时,由实例向Citrix ADM检出license。

    • 虚拟CPU license:发放的Citrix ADC VPX实例根据autoscale组中运行的活动cpu数量检查许可证。

注意:当发放的实例被删除或销毁时,申请的license将返回到Citrix ADM license池。这些许可证可以在下次自动扩展期间重新使用,以提供新的实例。

  • 许可版,选择license版本。autoscale组使用指定的版本来预置实例。

  • 点击下一个

配置云参数

image-vpx-aws-autoscale-deployment-19

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

    • 我的角色:选择用户在AWS上创建的IAM角色。IAM角色是一个具有权限策略的AWS身份,该权限策略决定了该身份在AWS中可以做什么和不可以做什么。

    • 产品:选择用户需要发放的Citrix ADC产品版本。

    • 版本:选择Citrix ADC产品发布版本和构建号。发布版本和构建号是根据用户选择的产品自动填充的。

    • 我很高兴。:输入用户选择的区域对应的AMI ID。

    • 实例类型:选择EC2实例类型。

注意:

默认情况下,所选产品的推荐实例类型是自动填充的。

  • 安全组:安全组控制Citrix ADC VPX实例的入方向和出方向的流量。用户为想要控制的传入和传出流量创建规则。请为以下子网选择合适的值。

  • 用于管理Citrix ADC VPX实例的用户帐号中的组。在以下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服务器端通信专用用户帐号中的现有安全组。

  • 服务器子网中每个节点的IP:选择安全组每个节点服务器子网的IP地址个数。

image-vpx-aws-autoscale-deployment-20

  • :填充的分区数量等于用户选择的可用分区数量。对于每个区域,为以下子网选择适当的值。

  • 管理.用户VPC中已有的子网,用于管理。Citrix ADC需要联系AWS服务,并且需要互联网接入。配置NAT网关,并添加路由表项,允许该子网访问internet。

  • 客户端.用户VPC中已有的客户端专用子网。通常,Citrix ADC通过来自internet的公共子网接收应用程序的客户端流量。将客户端子网与路由表关联,其中包含到Internet网关的路由。这将允许Citrix ADC接收来自互联网的应用程序流量。

  • 服务器.应用服务器是在服务器子网中发放的。所有用户应用服务器都将出现在此子网中,并将通过此子网接收来自Citrix ADC的应用程序流量。

image-vpx-aws-autoscale-deployment-21

  • 点击完成

将出现一个进度窗口,其中显示创建自动伸缩组的状态。创建和配置自动伸缩组可能需要几分钟的时间。

使用样式簿配置应用程序

image-vpx-aws-autoscale-deployment-22

  • 在Citrix ADM中,导航到网络b> Autoscale集团

  • 选择用户创建的自动伸缩组,单击配置

  • 选择样本页显示所有可供客户用于在自动伸缩集群中部署配置的stylebook。

    • 选择合适的StyleBook。例如,用户可以使用HTTP/SSL负载平衡样式手册.用户还可以导入新的stylebook。

    • 单击StyleBook以创建所需的配置。StyleBook以用户界面页面的形式打开,用户可以在其中输入在此StyleBook中定义的所有参数的值。

    • 为所有参数输入值。

    • 如果用户在AWS中创建后端服务器,请选择后端服务器配置.进一步的选择AWS EC2自动伸缩>云然后输入所有参数的值。

    image-vpx-aws-autoscale-deployment-23

    • 根据用户选择的StyleBook,可能需要一些可选配置。例如,用户可能必须创建监视器、提供SSL证书设置等等。

    • 点击创建将配置部署到Citrix ADC集群上。

    • 应用或虚拟服务器的FQDN配置部署完成后,不允许修改。

应用的FQDN通过DNS解析为IP地址。由于此DNS记录可能跨多个名称服务器缓存,因此更改FQDN可能会导致流量陷入黑洞。

  • SSL会话共享在可用性区域内但跨可用性区域按预期工作,需要重新身份验证。

SSL会话在集群内同步。由于跨可用区域的自动伸缩组在每个区域中都有单独的集群,因此无法跨区域同步SSL会话。

  • 诸如最大客户端和溢出等共享限制是根据可用性区域的数量静态设置的。此限制必须在手动计算后设置。限制=“所需限制”除以“区域数量”。

共享限制在集群内的节点之间自动分布。由于跨越可用性区域的自动伸缩组在每个区域中都有单独的集群,因此必须手动计算这些限制。

升级Citrix ADC集群

用户必须手动升级集群节点。用户首先升级现有节点的镜像,然后从Citrix ADM更新AMI。

重要的是:

在升级过程中,请确保以下事项:

  1. 不会触发扩展或扩展。
  2. 必须对自动伸缩组中的集群执行任何配置更改。
  3. 用户需要备份之前版本的ns.conf文件。如果升级失败,用户可以退回到以前的版本。

升级Citrix ADC集群节点的操作步骤如下。

  • 在MAS ASG portal上禁用autoscale组。

  • 在自动伸缩组中选择一个集群进行升级。

  • 遵循本主题中记录的步骤:升级/降级Citrix ADC集群

注意:

  1. 升级集群中的一个节点。
  2. 监视应用程序流量以查找任何故障。
  3. 如果用户遇到任何问题或失败,降级之前升级过的节点。否则,继续升级所有节点。
  • 继续升级autoscale组中所有集群中的节点。

注意:

如果任何集群的升级失败,请将自动伸缩组中的所有集群降级到以前的版本。遵循本主题中记录的步骤升级/降级Citrix ADC集群

  • 所有集群升级成功后,请在MAS ASG Portal上更新AMI。AMI必须与用于升级的映像版本相同。

  • 编辑自动缩放组,并键入升级版本对应的AMI。

  • 在ADM门户上启用自动伸缩组。

修改自动伸缩组配置

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

    • 流量分布方式。

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

    • 最小和最大实例值。

    • 排水连接周期值。

    • 冷却时间值。

    • 存活时间值—当流量分配方式为DNS时。

    • 手表持续时间值。

  • 用户也可以在自动伸缩组创建后将其删除。

当用户删除autoscale组时,将注销DNS/NLB中的所有域和IP地址,并注销集群节点。

CloudFormation模板部署

Citrix ADC VPX以Amazon Machine Images (AMI)的形式在AWS市场

在使用CloudFormation模板在AWS中配置Citrix ADC VPX之前,AWS用户必须接受条款并订阅AWS Marketplace产品。市场上的每个版本的Citrix ADC VPX都需要此步骤。

CloudFormation存储库中的每个模板都有描述模板用法和体系结构的文档。这些模板试图编纂推荐的Citrix ADC VPX的部署体系结构,或者向用户介绍Citrix ADC,或者演示特定的功能、版本或选项。用户可以重用、修改或增强模板,以满足他们的生产和测试需求。除了创建IAM角色的权限外,大多数模板还需要完整的EC2权限。

CloudFormation模板包含特定于Citrix ADC VPX的特定版本(例如,版本12.0-56.20)和版本(例如,Citrix ADC VPX白金版- 10 Mbps)或Citrix ADC BYOL的AMI id。要将Citrix ADC VPX的不同版本/版本与CloudFormation模板一起使用,需要用户编辑模板并替换AMI id。

最新的Citrix ADC aws - ami - id可从GitHub上的Citrix ADC CloudFormation模板中获得citrix-adc-aws-cloudformation /模板

CFT三网卡部署

该模板为2个可用分区部署了3个子网(Management、client、server)。它部署了一个Internet网关,在公共子网上有一条默认路由。该模板还创建了一个跨可用分区的HA对,该HA对使用两个Citrix ADC实例:主用3个eni关联到3个VPC子网(Management、Client、Server),从用3个eni关联到3个VPC子网(Management、Client、Server)。该CFT创建的所有资源名称都以堆栈名称的tagName作为前缀。

CloudFormation模板的输出包括:

  • PrimaryCitrixADCManagementURL - HTTPS主VPX的管理界面URL(使用自签名证书)。

  • PrimaryCitrixADCManagementURL2 -主VPX管理界面的URL。

  • PrimaryCitrixADCInstanceID -新创建的主VPX实例Id。

  • PrimaryCitrixADCPublicVIP - VIP关联的主VPX实例的弹性IP地址。

  • PrimaryCitrixADCPrivateNSIP -私网IP (NS IP),用于管理主VPX。

  • PrimaryCitrixADCPublicNSIP公网IP (NS IP),用于管理主VPX。

  • PrimaryCitrixADCPrivateVIP - VIP关联的主VPX实例私有IP地址。

  • PrimaryCitrixADCSNIP -与该SNIP关联的主VPX实例的私有IP地址。

  • SecondaryCitrixADCManagementURL - HTTPS备用VPX管理界面的URL(使用自签名证书)。

  • SecondaryCitrixADCManagementURL2 -备用VPX管理界面的URL。

  • SecondaryCitrixADCInstanceID -新创建的备用VPX实例Id。

  • SecondaryCitrixADCPrivateNSIP -私网IP (NS IP),用于备VPX的管理。

  • SecondaryCitrixADCPublicNSIP -公网IP (NS IP),用于备VPX的管理。

  • SecondaryCitrixADCPrivateVIP - VIP关联的备VPX实例私有IP地址。

  • SecondaryCitrixADCSNIP -与该SNIP关联的备VPX实例的私有IP地址。

  • SecurityGroup - VPX所属的安全组id。

在向CFT提供输入时*对于CFT中的任何参数都意味着它是一个必填字段。例如,VPC ID *是必填字段。

必须满足以下先决条件。CloudFormation模板需要足够的权限来创建IAM角色,超出正常的EC2完全权限。在使用此CloudFormation模板之前,此模板的用户还需要接受条款并订阅AWS Marketplace产品。

以下内容也应包括在内:

  • 密钥对

  • 3个未分配的eip

    • 主要管理

    • 客户贵宾

    • 二级管理

有关在AWS上配置Citrix ADC VPX实例的更多信息,用户可以访问在AWS上发放Citrix ADC VPX实例

有关使用Citrix ADM在AWS中自动缩放Citrix ADC的更多信息,请访问:使用Citrix ADM在AWS中自动缩放Citrix ADC

有关将AWS自动扩展服务添加到Citrix ADC VPX实例的信息,请访问:添加后端AWS自动伸缩服务

AWS的先决条件

在尝试在AWS中创建VPX实例之前,用户应确保具备以下条件:

  • 用于在AWS (Amazon Web Services) VPC中启动Citrix ADC VPX AMI的AWS账户。用户可以在Amazon Web Services上免费创建AWS账户:AWS

  • 已在AWS中添加Citrix ADM服务代理。

  • 已创建VPC,并选择可用分区。

  • 有关如何创建帐户和其他任务的详细信息,请参见:AWS的文档

  • 有关如何在AWS上安装Citrix ADM服务代理的详细信息,请参见:在AWS上安装Citrix ADM Agent

  • 一个AWS IAM (Identity and Access Management)用户账户,用于安全控制用户对AWS服务和资源的访问。有关如何创建IAM用户帐户的详细信息,请参见主题:创建IAM用户(控制台)

  • 一个我adminuser已创建所有管理权限。

对于独立部署和高可用性部署,IAM角色都是必需的。IAM角色必须具有以下权限:

  • ec2: DescribeInstances

  • ec2: DescribeNetworkInterfaces

  • ec2: DetachNetworkInterface

  • ec2: AttachNetworkInterface

  • ec2: StartInstances

  • ec2: StopInstances

  • ec2: RebootInstances

  • ec2: DescribeAddresses

  • ec2: AssociateAddress

  • ec2: DisassociateAddress

  • 自动定量:*

  • sns: *

  • sqs: *

  • 我:SimulatePrincipalPolicy

  • 我:GetRole

如果使用Citrix CloudFormation模板,则自动创建IAM角色。模板不支持选择已经创建的IAM角色。

注意:

当用户通过GUI登录到VPX实例时,将出现提示配置IAM角色所需的权限。如果已经配置了特权,则忽略提示。

要求AWS CLI在终端程序中使用AWS Management Console提供的所有功能。有关更多信息,请参见:什么是AWS命令行界面?.用户也需要通过AWS命令行修改网口类型为SR-IOV。

ADM先决条件

用户必须确保他们已经在Citrix ADM上完成了使用自动缩放特性的所有先决条件。

image-vpx-aws-autoscale-deployment-24

创建站点

在Citrix ADM中创建站点,并添加与用户AWS角色关联的VPC的详细信息。

  • 在Citrix ADM中,导航到网络>网站

  • 点击添加

  • 选择服务类型为AWS并启用使用已有的VPC作为站点

  • 选择云访问配置文件。

  • 如果该字段中不存在云接入配置文件,请单击添加创建配置文件。

    • 创建云访问配置文件页中,键入用户想要访问AWS的配置文件的名称。

    • 键入与用户在AWS中创建的角色关联的ARN。

    • 复制自动生成的外部ID更新IAM角色。

  • 点击创建

  • 再次,点击创建创建站点。

  • 使用自动生成的角色更新AWS中的IAM角色外部ID

image-vpx-aws-autoscale-deployment-25

*登录用户AWS帐户并导航到用户想要更新的角色。*在“信任关系”选项卡中,单击“编辑信任关系”,并在语句块中添加以下条件:
"Condition": {"StringEquals": {"sts:ExternalId": \\}} 

在AWS中为IAM角色启用外部ID,允许用户连接到第三方帐户。外部ID增加了用户角色的安全性。

在Citrix ADM中导入与AWS中用户IAM角色关联的VPC的区域、VPC ID、名称、CIDR块等详细信息。

Provision Citrix ADM Agent on AWS

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

  • 导航到网络b>代理

  • 点击条款

  • 选择AWS并点击下一个

  • 云参数选项卡,指定以下内容:

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

    • 网站—选择已创建的用于发放agent和ADC VPX实例的站点用户。

    • 云接入配置文件—在列表中选择云接入配置文件。

    • 可用性区域—选择用户需要创建自动伸缩组的区域。根据用户选择的云访问配置文件,将填充特定于该配置文件的可用性区域。

    • 安全组—安全组用于控制Citrix ADC代理的入/出流量。用户为想要控制的传入和传出流量创建规则。

    • 子网—选择用户需要发放代理的管理子网。

    • 标签—输入autoscale组标签的键值对。标记由区分大小写的键值对组成。这些标签使用户能够轻松地组织和识别自动缩放组。这些标签同时应用于AWS和Citrix ADM。

  • 点击完成

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

限制和使用指南

在AWS上部署Citrix ADC VPX实例时,适用以下限制和使用指南:

  • 在开始新的部署之前,用户应该阅读本文前面列出的AWS术语。

  • 只有配置了Citrix ADM Auto Scale Groups时,才支持集群特性。

  • 为了使高可用性配置更有效地工作,需要在管理接口上关联专用NAT设备或在NSIP上关联弹性IP (Elastic IP)。有关NAT的更多信息,请参阅AWS文档:NAT实例

  • 数据流量和管理流量必须隔离,且eni属于不同的子网。

  • 只有NSIP地址必须出现在管理ENI上。

  • 如果不给NSIP分配EIP,而是使用NAT实例来保证安全,则需要对VPC级别的路由进行适当的修改。有关在AWS文档中更改VPC级别路由的说明,请参见:场景二:VPC中存在公网和私网子网

  • VPX实例可以从一种EC2实例类型移动到另一种(例如,从m3.large到一个m3.xlarge).欲了解更多信息,请访问:限制和使用指南

  • 对于AWS上VPX的存储介质,Citrix建议使用EBS,因为它是持久的,即使从实例分离后数据仍然可用。

  • 不支持向VPX动态添加eni。重新启动VPX实例以应用更新。Citrix建议用户停止独立或HA实例,附加新的ENI,然后重新启动实例。主ENI一旦部署,就不能更改或附加到不同的子网。在VPX停止时,可以根据需要分离和更改辅助eni。

  • 用户可以为一个ENI分配多个IP地址。每个ENI的最大IP地址数由EC2实例类型决定,请参见“每个实例类型的每个网络接口的IP地址”一节:弹性网络接口.用户在为eni分配IP地址之前,必须先在AWS中分配IP地址。有关更多信息,请参见:弹性网络接口

  • Citrix建议用户避免在Citrix ADC VPX接口上使用enable和disable接口命令。

  • Citrix ADC set ha node -haStatus STAYPRIMARY和set ha node -haStatus STAYSECONDARY命令默认禁用。

  • VPX不支持IPv6。

  • 由于AWS的限制,不支持以下功能:

    • ARP (GARP)。

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

    • VLAN标记。

    • 动态路由。

    • 虚拟MAC。

  • 为了使RNAT,路由和透明vserver工作,确保对数据路径中的所有eni禁用源/目的检查。有关更多信息,请参见“更改源/目的签入”:弹性网络接口

  • 在AWS上部署Citrix ADC VPX时,在某些AWS区域,AWS基础设施可能无法解析AWS API调用。如果API调用是通过Citrix ADC VPX实例上的非管理接口发出的,就会发生这种情况。作为一种解决方法,将API调用限制为仅对管理接口调用。为此,需要在VPX实例上创建NSVLAN,并使用相应的命令将管理接口绑定到该NSVLAN中。

  • 例如:

    • set ns config -nsvlan \ -ifnum 1/1 -tagged NO

    • 保存配置

  • 在提示符下重新启动VPX实例。

  • 有关配置的更多信息nsvlan,请参阅配置NSVLAN

  • 在AWS控制台上,Monitoring选项卡下显示的VPX实例的vCPU使用率可能很高(高达100%),即使实际使用率要低得多。要查看实际的vCPU使用情况,请导航到查看所有CloudWatch指标。有关更多信息,请参见:使用Amazon CloudWatch监视您的实例.或者,如果不关心低延迟和性能,用户可以启用CPU Yield特性,允许数据包引擎在没有流量时闲置。有关CPU Yield特性的详细信息以及如何启用它,请访问:思杰技术支持知识中心

AWS-VPX支持矩阵

以下部分列出了支持的VPX模型和AWS区域、实例类型和服务。

AWS支持的VPX模型

  • Citrix ADC VPX标准/企业/白金版- 200mbps
  • Citrix ADC VPX标准/企业/白金版- 1000 Mbps
  • Citrix ADC VPX标准/企业/白金版- 3gbps
  • Citrix ADC VPX标准/企业/白金版- 5gbps
  • Citrix ADC VPX标准/高级/高级- 10mbps
  • Citrix ADC VPX Express - 20mbps
  • Citrix ADC VPX -客户许可

支持的AWS区域

  • 美国西部(俄勒冈)地区
  • 美国西部(加州北部)地区
  • 美国东部(俄亥俄州)地区
  • 美国东部(弗吉尼亚北部)地区
  • 亚太(首尔)地区
  • 加拿大(中部)地区
  • 亚太(新加坡)地区
  • 亚太(悉尼)地区
  • 亚太(东京)地区
  • 亚太(香港)地区
  • 加拿大(中部)地区
  • 中国(北京)地区
  • 中国(宁夏)地区
  • 欧盟(法兰克福)地区
  • 欧盟(爱尔兰)地区
  • 欧盟(伦敦)地区
  • 欧盟(巴黎)大区
  • 南美洲(圣保罗)地区
  • AWS GovCloud(美国东部)区域

支持的AWS实例类型

  • m3.largem3.largem3.2xlarge
  • c4.largec4.largec4.2xlargec4.4xlargec4.8xlarge
  • m4.largem4.largem4.2xlargem4.4xlargem4.10xlarge
  • m5.largem5.xlargem5.2xlargem5.4xlargem5.12xlargem5.24xlarge
  • c5.largec5.xlargec5.2xlargec5.4xlargec5.9xlargec5.18xlargec5.24xlarge
  • C5n.largeC5n.xlargeC5n.2xlargeC5n.4xlargeC5n.9xlargeC5n.18xlarge

支持的AWS服务

  • # EC2
  • # S3
  • # VPC
  • # route53
  • # ELB
  • #监测
  • # AWS自动定量
  • #云的形成
  • 简单排队服务(SQS)
  • 简易通知服务(SNS)
  • 身份与访问管理(IAM)

对于更高的带宽,Citrix建议使用以下实例类型

实例类型 带宽 增强型组网(SR-IOV)
M4.10x大 3gbps和5gbps 是的
C4.8x大 3gbps和5gbps 是的
C5.18xlarge / M5.18xlarge 25 Gbps ENA
C5n.18xlarge 30 Gbps ENA

要了解当前支持的VPX模型和AWS区域、实例类型和服务的最新信息,请访问VPX-AWS支持矩阵