高级概念

AWS 上的 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 云端平台

本部署指南重点介绍 Amazon Web Services 上的 Citrix ADC VPX。

Amazon Web Services

Amazon Web Services (AWS) 是 Amazon 提供的综合性、不断发展的云计算平台,包括基础设施即服务 (IaaS)、平台即服务 (PaaS) 和打包软件即服务 (SaaS) 产品的混合体。AWS 服务可以提供计算能力、数据库存储和内容交付服务等工具。

AWS 提供以下基本服务

  • AWS 计算服务

  • 迁移服务

  • 存储

  • 数据库服务

  • 管理工具

  • 安全服务

  • 分析

  • 网络连接

  • 消息

  • 开发者工具

  • 移动服务

AWS 术语

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

  • Amazon 系统映像 (AMI)-一种计算机映像,它提供启动实例(云中的虚拟服务器)所需的信息。

  • Auto Scaling-一种基于用户定义的策略、计划和运行状况检查自动启动或终止 Amazon EC2 实例的 Web 服务。

  • AWS Auto Scaling Group-AWS Auto Scaling 组是具有相似特征的 EC2 实例的集合,出于实例扩展和管理的目的,这些实例被视为逻辑分组。

  • Elastic Block Store-提供持久性块存储卷,用于 AWS 云中的 Amazon EC2 实例。

  • 弹性计算云 (EC2)-一种在云中提供安全、可调整大小的计算容量的 Web 服务。它旨在为开发人员简化 Web 规模的云计算。

  • 弹性负载均衡 (ELB)-在多个可用区中的多个 EC2 实例之间分配传入的应用程序流量。分发流量可提高用户应用程序的容错能力。

  • 弹性网络接口 (ENI)-一种虚拟网络接口,用户可以将其连接到虚拟私有云 (VPC) 中的实例。

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

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

  • 身份和访问管理 (IAM)-一个 AWS 身份,其权限策略确定该身份在 AWS 中可以做什么和不能做什么。用户可以使用 IAM 角色使 EC2 实例上运行的应用程序能够安全地访问其 AWS 资源。采用高可用性设置部署 VPX 实例时,需要 IAM 角色。

  • 实例类型-Amazon EC2 提供多种经过优化的实例类型,以适应不同的使用案例。实例类型包括 CPU、内存、存储和网络容量的不同组合,使用户可以灵活地为其应用程序选择适当的资源组合。

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

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

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

  • 安全组-实例允许的入站网络连接的命名集合。

  • 子网-可连接 EC2 实例的 VPC 的 IP 地址范围的一部分。用户可以根据安全和运营需求创建子网来对实例进行分组。

  • 虚拟私有云 (VPC)-一种 Web 服务,用于预置 AWS 云的逻辑隔离部分,用户可以在自己定义的虚拟网络中启动 AWS 资源。

以下是本文档中使用的其他术语的简要说明,我们建议您熟悉这些术语:

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

注意:

在本文档中,Citrix 自动扩展组称为自动扩展组,而 AWS 自动扩展组则明确称为 AWS 自动扩展组。

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

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

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

注意:

默认值是根据横向扩展(大约 4 分钟)后系统稳定所需的时间以及 Citrix ADC 配置和 DNS 通告时间确定的。

  • 耗尽连接超时-在缩减期间,一旦选择要取消置备的实例,Citrix ADM 将从处理与自动扩展组的新连接中移除该实例,并等到指定的耗尽连接超时期限到期后再取消置备。此超时允许在此实例取消置备之前耗尽与该实例的现有连接。如果连接在漏极连接超时到期之前耗尽,即使如此,Citrix ADM 也会等待漏极连接超时期过期,然后再开始新的评估。

注意:

如果即使在耗尽连接超时过期后仍未耗尽连接,Citrix ADM 会删除可能影响应用程序的实例。默认值为 5 分钟,可配置。

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

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

  • 简单存储服务 (S3)-Internet存储。它旨在为开发人员简化 Web 规模的计算。

  • Tags-为每个自动缩放组分配一个标签,该标签是键和值对。您可以将标签应用于资源,使您能够轻松地组织和识别资源。这些标签同时应用于 AWS 和 Citrix ADM。示例:密钥=名称,值=网络服务器。使用一组一致的标签轻松跟踪可能属于不同组(如开发、生产、测试)的自动缩放组。

  • 阈值参数-为触发向外扩展或缩小而受到监视的参数。参数是 CPU 使用率、内存使用率和吞吐量。您可以选择一个参数或多个参数进行监视。

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

  • Watch Time-缩放必须保持超过缩放参数阈值的时间。如果在此指定时间内收集的所有样本均超过阈值,则会进行缩放。如果阈值参数在整个持续时间内保持高于最大阈值的值,则会触发向外扩展。如果阈值参数的运行值低于最小阈值,则触发缩放。默认值为 3 分钟,可配置。

用例

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

使用 AutoScale 进行数据中心扩展

有些组织希望扩大 Citrix 在公有云中的足迹,他们正在考虑使用原生公有云服务。一个常见的用例是企业按照自己的节奏迁移到云,这样他们就可以专注于投资回报率更高的工作负载或应用程序。而且,通过使用我们的解决方案(通常包括通过分离带宽和实例,使用池容量设备将工作负载保留在本地和云中),他们可以继续按照自己的节奏迁移到自己选择的任何云。

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

在云中高效托管应用程序涉及根据应用程序需求轻松且经济高效地管理资源。例如,假设一家企业在 AWS 上运行了电子商务 Web 门户。此门户有时会提供巨大的折扣,在此期间,应用程序流量会出现高峰。在这些优惠期间,当应用程序流量增加时,必须动态地向外扩展应用程序,并且可能同样需要增加网络资源。

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

Citrix ADM 自动缩放功能体系结构的设计方式是,用户可以为每个自动扩展组配置最小和最大实例数。预先设置这些数字可确保每个应用程序始终处于正常运行状态,并符合客户的需求。

自动缩放的好处

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

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

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

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

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

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

部署类型

三网卡部署

  • 典型部署

    • 典型部署

    • 样书驱动

    • 使用 ADM

    • 使用 GSLB(带域名注册的 Route53)

    • 许可-汇集/市场

  • 用例

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

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

    • 三网卡部署用于吞吐量通常为 1 Gbps 或更高的网络应用程序,建议使用三个 NIC 部署。

CFT 部署

如果客户正在自定义部署或者正在自动执行部署,他们将使用 CloudFormation 模板进行部署。

部署步骤

三网卡部署,用于通过 AutoScale 进行数据中心扩展

Citrix ADC VPX 实例在 AWS 市场中作为亚马逊系统映像 (AMI) 提供,并且可以在 AWS VPC 中作为弹性计算云 (EC2) 实例启动。Citrix VPX 上作为受支持的 AMI 允许的最低 EC2 实例类型为 m4.large。Citrix ADC VPX AMI 实例最低需要 2 个虚拟 CPU 和 2 GB 内存。从 AWS VPC 内启动的 EC2 实例还可以提供多个接口,每个接口有多个 IP 地址,以及 VPX 配置所需的公用和专用 IP 地址。每个 VPX 实例至少需要三个 IP 子网:

  • 管理子网

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

  • 面向后端的子网 (SNIP)

Citrix 建议对 AWS 安装上的标准 VPX 实例使用三个网络接口。

AWS 目前只对在 AWS VPC 中运行的实例提供多 IP 功能。VPC 中的 VPX 实例可用于对 EC2 实例中运行的服务器实现负载平衡。Amazon VPC 允许用户创建和控制虚拟联网环境,包括他们自己的 IP 地址范围、子网、路由表和网络网关。

注意:

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

许可要求

为思杰自动缩放组创建的 Citrix ADC 实例使用 Citrix ADC 高级或高级 ADC 许可证。Citrix ADC 群集功能包含在高级或高级 ADC 许可证中。

用户可以选择以下方法之一来许可由 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。

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

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

在 AWS 上部署Citrix ADC VPX 实例

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

借助 AWS 上的 Citrix ADC VPX 实例,用户可以将其 L4-L7 网络堆栈无缝扩展到 AWS。借助 Citrix ADC VPX,AWS 成为其本地 IT 基础设施的自然延伸。客户可以使用 AWS 上的 Citrix 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 实例所需的三个子网是管理、客户端和服务器。在 VPC 中为每个子网定义的范围中指定一个 IPv4 CIDR 块。指定子网所在的可用区。在同一可用区域中创建所有三个子网。

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

image-vpx-aws-autoscale-deployment-02

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

创建安全组

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

有关安全组的更多信息,请参阅: 您的 VPC 的安全组

创建 IAM 角色和定义策略

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

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

  • 用户正在将自己的 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 的权限列表:

{
"Version": "2012-10-17",
"Statement":
[
    {
         "Effect": "Allow",
        "Action": [
            "ec2:DescribeInstances",
            "ec2:DescribeImageAttribute",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeRegions",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeHosts",
            "ec2:DescribeImages",
            "ec2:DescribeVpcs",
            "ec2:DescribeSubnets",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeNetworkInterfaceAttribute",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeAddresses",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeTags",
            "ec2:DescribeVolumeStatus",
            "ec2:DescribeVolumes",
            "ec2:DescribeVolumeAttribute",
            "ec2:CreateTags",
            "ec2:DeleteTags",
            "ec2:CreateKeyPair",
            "ec2:DeleteKeyPair",
            "ec2:ResetInstanceAttribute",
            "ec2:RunScheduledInstances",
            "ec2:ReportInstanceStatus",
            "ec2:StartInstances",
            "ec2:RunInstances",
            "ec2:StopInstances",
            "ec2:UnmonitorInstances",
            "ec2:MonitorInstances",
            "ec2:RebootInstances",
            "ec2:TerminateInstances",
            "ec2:ModifyInstanceAttribute",
            "ec2:AssignPrivateIpAddresses",
            "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": "*"
    }
]
}
<!--NeedCopy-->
  • 在 JSON 选项卡中复制并粘贴权限列表,然后单击查看策略

  • 在“查看策略”页面中,键入策略的名称,输入描述,然后单击“创建策略”。

在 Citrix ADM 中创建站点

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

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

  2. 单击“添加”。

  3. 选择服务类型作为 AWS 并启用将现有 VPC 用作站点

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

  5. 如果字段中不存在云访问配置文件,请单击添加以创建配置文件。

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

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

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

image-vpx-aws-autoscale-deployment-04

与 AWS 中的用户 IAM 角色关联的 VPC 的详细信息(例如区域、VPC ID、名称和 CIDR 块)将导入到 Citrix ADM 中。

  1. 键入站点的名称。

  2. 单击创建

在 AWS 上预置 Citrix ADC VPX

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

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

  2. VPX选项卡中,单击置备

此选项显示在云上置备 Citrix ADC VPX页面。

  1. 选择Amazon Web Services (AWS),然后单击“下一步”**

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

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

    • HA:此选项在 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 会使用设备配置文件。

    • 单击 Next(下一步)。
  3. 在“云参数”中,

    • 选择在 AWS 中创建的 Citrix IAM 角色。IAM 角色是一种 AWS 身份,其权限策略可确定身份在 AWS 中可以执行和不能执行的操作。

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

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

    • 选择用户要置备的 Citrix ADC版本同时选择 Citrix ADC 的主版本和次要版本。

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

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

    • 子网中,为在 AWS 中创建的每个区域选择管理、客户端和服务器子网。用户还可以从可用区域列表中选择区域

  4. 单击 Finish(完成)。

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 Application Delivery Management (ADM)

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

在 Citrix ADM 中创建自动缩放组,并从 Citrix ADM 配置 Citrix ADC VPX 实例。然后通过 Citrix ADM 中的样本部署应用程序。

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

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

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

Citrix ADM 自动缩放组

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

Citrix ADC 群集

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

注意:

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

  • 独立群集托管在不同的可用区中,因此对某些共享状态功能的支持受到限制。

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

AWS 自动扩展组

AWS 自动扩展组是 EC2 实例的集合,这些实例具有相似特征,并且为了实例扩展和管理的目的被视为逻辑分组。

AWS 可用区

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

流量分配模式

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

流量分配用例

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

基于 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 ADC 功能,但以下功能除外,这些功能需要在群集节点上进行斑点配置:

  • GSLB 虚拟服务器

  • Citrix Gateway 及其功能

  • 电信公司功能

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

自动缩放的工作原理

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

image-vpx-aws-autoscale-deployment-09

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

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

  • 如果触发了横向扩展:

    • 已预配置新节点。

    • 节点附加到群集,并且配置将从群集同步到新节点。

    • 节点已注册到 Citrix ADM。

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

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

  • 如果触发了缩放:

    • 将删除标识为删除的节点的 IP 地址。

    • 节点将与群集分离、取消置备,然后从 Citrix ADM 取消注册。

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

示例

假设用户在具有以下配置的单个可用区中创建了名为 asg_arn 的自动缩放组。

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

  • 最低限额:40

  • 最大限制:85

  • 观看时间 — 3 分钟

  • 冷却时间 — 10 分钟

  • 漏连接超时 — 10 分钟

  • TTL 超时 — 60 秒

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

image-vpx-aws-autoscale-deployment-10

事件顺序

  • 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 的自动缩放,开始评估统计信息。

自动缩放配置

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

image-vpx-aws-autoscale-deployment-11

  • 完成本指南“AWS 必备条件”部分中列出的所有有关 AWS 的必备条件。

  • 完成本指南 Citrix ADM 必备条件部分中 Citrix ADM 上列出的所有必备组件。

  • 创建自动缩放组:

    • 初始化自动缩放配置。

    • 配置自动缩放参数。

    • 查看许可证。

    • 配置云参数。

  • 部署应用程序。

在用户在 Citrix ADM 中创建自动缩放组之前,接下来的几个部分将帮助用户在 AWS 中执行所有必需的任务。用户必须完成的任务如下所示:

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

  • 创建所需的 VPC 或选择现有 VPC。

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

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

提示:

用户可以访问:citrix-adc-aws-cloudformat ion/模板,使用 AWS CloudFormation 模板来自动 Citrix ADC 自动扩缩的 AWS必备条件步骤。

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

在 AWS 中订阅 Citrix ADC VPX 许可证

  • 前往: AWS Marketplace

  • 使用您的凭据登录。

  • 搜索 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 服务并要求Internet访问。配置 NAT Gateway 并添加路由表条目以允许从此子网访问 Internet。

  • 客户端。用户虚拟私有云 (VPC) 中专用于客户端的现有子网。通常情况下,Citrix ADC 从Internet通过公有子网接收应用程序的客户端流量。将客户端子网与具有通往 Internet Gateway 的路由表相关联。这使得 Citrix ADC 能够从Internet接收应用程序流量。

  • 服务器。配置应用程序服务器的服务器子网。所有用户应用程序服务器都存在于此子网中,并通过此子网接收来自 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 > 角色 > 创建角色

  • 用户正在将用户 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 的权限列表:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Action": [
            "ec2:DescribeInstances",
            "ec2:UnmonitorInstances",
            "ec2:MonitorInstances",
            "ec2:CreateKeyPair",
            "ec2:ResetInstanceAttribute",
            "ec2:ReportInstanceStatus",
            "ec2:DescribeVolumeStatus",
            "ec2:StartInstances",
            "ec2:DescribeVolumes",
            "ec2:UnassignPrivateIpAddresses",
            "ec2:DescribeKeyPairs",
            "ec2:CreateTags",
            "ec2:ResetNetworkInterfaceAttribute",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:DeleteNetworkInterface",
            "ec2:RunInstances",
            "ec2:StopInstances",
            "ec2:AssignPrivateIpAddresses",
            "ec2:DescribeVolumeAttribute",
            "ec2:DescribeInstanceCreditSpecifications",
            "ec2:CreateNetworkInterface",
            "ec2:DescribeImageAttribute",
            "ec2:AssociateAddress",
            "ec2:DescribeSubnets",
            "ec2:DeleteKeyPair",
            "ec2:DisassociateAddress",
            "ec2:DescribeAddresses",
            "ec2:DeleteTags",
            "ec2:RunScheduledInstances",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeRegions",
            "ec2:DescribeDhcpOptions",
            "ec2:GetConsoleOutput",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeNetworkInterfaceAttribute",
            "ec2:ModifyInstanceAttribute",
            "ec2:DescribeInstanceStatus",
            "ec2:ReleaseAddress",
            "ec2:RebootInstances",
            "ec2:TerminateInstances",
            "ec2:DetachNetworkInterface",
            "ec2:DescribeIamInstanceProfileAssociations",
            "ec2:DescribeTags",
            "ec2:AllocateAddress",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeHosts",
            "ec2:DescribeImages",
            "ec2:DescribeVpcs",
            "ec2:AttachNetworkInterface",
            "ec2:AssociateIamInstanceProfile",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeInternetGateways"
        ],
        "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"
        ],
        "Resource": "\*",
        "Effect": "Allow",
        "Sid": "VisualEditor2"
    },
    {
        "Action": [
            "iam:ListInstanceProfiles",
            "iam:ListAttachedRolePolicies",
            "iam:SimulatePrincipalPolicy",
            "iam:SimulatePrincipalPolicy"
        ],
        "Resource": "\*",
        "Effect": "Allow",
        "Sid": "VisualEditor3"
    },
    {
        "Action": [
            "ec2:ReleaseAddress",
            "elasticloadbalancing:DeleteLoadBalancer",
            "ec2:DescribeAddresses",
            "elasticloadbalancing:CreateListener",
            "elasticloadbalancing:CreateLoadBalancer",
            "elasticloadbalancing:RegisterTargets",
            "elasticloadbalancing:CreateTargetGroup",
            "elasticloadbalancing:DeregisterTargets",
            "ec2:DescribeSubnets",
            "elasticloadbalancing:DeleteTargetGroup",
            "elasticloadbalancing:ModifyTargetGroupAttributes",
            "ec2:AllocateAddress"
        ],
        "Resource": "*",
        "Effect": "Allow",
        "Sid": "VisualEditor4"
    }
  ]
}
<!--NeedCopy-->
  • 在 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:DescribeInstances",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DetachNetworkInterface",
        "ec2:AttachNetworkInterface",
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "*"
    }
  ]
}
<!--NeedCopy-->

注册 DNS 域名

用户还必须确保已注册 DNS 域以托管其应用程序。

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

所需的 EIP 数量因用户部署的是基于 DNS 的自动扩缩还是基于 NLB 的自动扩缩而异。要增加 EIP 数量,请使用 AWS 创建案例。

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

  • 对于基于 NLB 的自动扩展,所需的 EIP 数等于应用程序数乘以部署应用程序的可用区数。

评估实例限制要求

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

创建自动缩放组

初始化自动缩放配置

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

  • 单击“添加”创建自动缩放组。此时将显示“创建自动扩展组”页。

  • 输入以下详细信息。

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

    • 站点。选择用户为在 AWS 上预置 Citrix ADC VPX 实例而创建的站点。

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

    • 云访问配置文件。选择云访问配置文件。

    注意:

    如果字段中不存在云访问配置文件,请单击添加以创建配置文件。

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

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

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

    • 流量分配模式。“使用 NLB 进行负载平衡”选项被选为默认流量分配模式。如果应用程序正在使用 UDP 流量,则选择使用 AWS route53的 DNS。 image-vpx-aws-autoscale-deployment-15

注意:

设置 autoScale 配置后,将无法添加新的可用区,也无法移除现有可用区。

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

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

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

image-vpx-aws-autoscale-deployment-16

  • 单击 Next(下一步)。

配置自动缩放参数

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

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

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

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

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

注意:

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

image-vpx-aws-autoscale-deployment-17

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

  • 默认情况下,实例的最小数量等于选定的区域数。用户可以按区域数的倍数来增加最小实例数。

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

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

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

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

  • 漏极连接超时(分钟)。选择漏极连接超时期限。在扩展期间,一旦某个实例被选择进行撤销,Citrix ADM 将从处理到自动缩放组的新连接中删除该实例,并等待指定的时间到期后再撤销。这允许在取消预配置之前将与此实例的现有连接耗尽。

  • 冷却时间(分钟)。选择冷却时间。在向外扩展期间,冷却时间是指在向外扩展发生后必须停止对统计信息的评估的时间。这样可以通过允许当前流量在当前实例集上稳定和平均值,确保自动缩放组实例的有机增长。

  • DNS 生存时间(秒)。选择路由器丢弃数据包之前设置为网络内存在的时间(以秒为单位)。仅当流量分配模式为使用 AWS route53 的 DNS 时,此参数才适用。

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

image-vpx-aws-autoscale-deployment-18

  • 单击 Next(下一步)。

配置用于置备 Citrix ADC 实例的许可证

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

  • 使用 Citrix ADM:在 Provisioning Citrix ADC 实例时,自动缩放组从 Citrix ADM 中检出许可证。

  • 使用 AWS 云:“从云中分配”选项使用 AWS 市场中提供的 Citrix 产品许可证。在 Provisioning Citrix ADC 实例时,自动缩放组使用市场中的许可证。

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

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

使用来自 Citrix ADM 的许可证

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

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

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

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

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

    • VPX 许可证:置备 Citrix ADC VPX 实例后,该实例会从 Citrix ADM 签出许可证。

    • 虚拟 CPU 许可证:预配的 Citrix ADC VPX 实例根据自动缩放组中运行的活动 CPU 的数量签出许可证。

注意: 移除或销毁置备的实例后,应用的许可证将返回到 Citrix ADM 许可证池。在下次自动扩展期间,可以重复使用这些许可证来预置新实例。

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

  • 单击 Next(下一步)。

配置云参数

image-vpx-aws-autoscale-deployment-19

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

    • IAM 角色:选择用户在 AWS 中创建的 IAM 角色。IAM 角色是一种 AWS 身份,其权限策略可确定身份在 AWS 中可以执行和不能执行的操作。

    • 产品:选择用户要置备的 Citrix ADC 产品版本。

    • 版本:选择 Citrix ADC 产品发行版本和内部版本号。发布版本和内部版本号将根据用户选择的产品自动填充。

    • AWS AMI ID:输入特定于用户所选区域的 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 服务并需要Internet访问。配置 NAT Gateway 并添加路由表条目以允许从此子网访问 Internet。

  • 客户端。用户虚拟私有云 (VPC) 中专用于客户端的现有子网。通常情况下,Citrix ADC 从Internet通过公有子网接收应用程序的客户端流量。将客户端子网与具有通往 Internet Gateway 的路由表相关联。这将允许 Citrix ADC 从Internet接收应用程序流量。

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

image-vpx-aws-autoscale-deployment-21

  • 单击 Finish(完成)。

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

使用样书配置应用程序

image-vpx-aws-autoscale-deployment-22

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

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

  • “选择样书”页面显示所有可供客户在自动缩放集群中部署配置的样书。

    • 选择相应的样本。例如,用户可以使用HTTP/SSL 负载平衡样书。用户还可以导入新的样书。

    • 单击样书以创建所需的配置。样书将作为用户界面页面打开,用户可以在该页面上输入此样书中定义的所有参数的值。

    • 输入所有参数的值。

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

    image-vpx-aws-autoscale-deployment-23

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

    • 单击创建在 Citrix ADC 群集上部署配置。

    • 配置和部署应用程序或虚拟服务器的 FQDN 后,无法修改它。

应用程序的 FQDN 使用 DNS 解析为 IP 地址。由于此 DNS 记录可能会在不同的名称服务器上缓存,因此更改 FQDN 可能会导致流量变黑。

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

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

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

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

升级Citrix ADC 群集

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

重要信息:

升级期间请确保满足以下条件:

  1. 不触发扩展或向外扩展。
  2. 不得对自动缩放组中的群集执行任何配置更改。
  3. 用户保留先前版本的 ns.conf 文件的备份。如果升级失败,用户可以回退到以前的版本。

执行以下步骤以升级 Citrix ADC 群集节点。

注意:

  1. 升级群集中的一个节点。
  2. 监视应用程序流量是否有任何故障。
  3. 如果用户遇到任何问题或故障,请降级之前升级的节点。否则,继续升级所有节点。
  • 继续升级自动缩放组中所有群集中的节点。

注意:

如果任何群集的升级失败,请将 autoScale 组中的所有集群降级到以前的版本。按照 升级或降级 Citrix ADC 群集主题中记录的步骤进行操作

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

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

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

修改自动缩放组配置

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

    • 流量分配模式。

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

    • 最小和最大实例值。

    • 耗尽连接周期值。

    • 冷却时间值。

    • 生存时间值 — 如果流量分配模式为 DNS。

    • 观看时长值。

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

当用户删除自动缩放组时,所有域和 IP 地址都将从 DNS/NLB 中取消注册,群集节点也将取消置备。

云形成模板部署

Citrix ADC VPX 在 A WS Marketplace 中作为亚马逊系统映像 (AMI) 提供。

在使用 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 -aws-cloudformation /模板上的 Citrix ADC 云形成模板中获得。

CFT 三网卡部署

此模板部署一个 VPC,其中包含 2 个可用区的 3 个子网(管理、客户端、服务器)。它部署了一个 Internet 网关,在公有子网上有一条默认路由。此模板还使用两个 Citrix ADC 实例跨可用区创建高可用性对:3 个 ENI 与主节点上的 3 个 VPC 子网(管理、客户端、服务器)关联,3 个 ENI 与 3 个 VPC 子网(管理、客户端、服务器)关联在辅助子网上。此 CFT 创建的所有资源名称都以堆栈名称的 tagName 作为前缀。

CloudFormation 模板的输出包括:

  • primaryCitrixadcManagementURL-主 VPX 的管理 GUI 的 HTTPS URL(使用自签名证书)。

  • primaryCitrixadcManagementurl2-主 VPX 的管理 GUI 的 HTTP URL。

  • primaryCitrixadcInstanceID-新创建的主要 VPX 实例的实例 ID。

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

  • primaryCitrixadcPrivatensip-用于管理主 VPX 的私有 IP (NS IP)。

  • primaryCitrixadcPublicnSIP-用于管理主 VPX 的公共 IP (NS IP)。

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

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

  • secondaryCitrixadcManagementURL-辅助 VPX 的管理 GUI 的 HTTPS URL(使用自签名证书)。

  • secondaryCitrixadcManagementurl2-辅助 VPX 的管理 GUI 的 HTTP URL。

  • secondaryCitrixadcInstanceID-新创建的辅助 VPX 实例的实例 ID。

  • secondaryCitrixadcPrivatensip-用于管理辅助 VPX 的私有 IP (NS IP)。

  • secondaryCitrixadcPublicnSIP-用于管理辅助 VPX 的公共 IP (NS IP)。

  • secondaryCitrixadcPrivateVip-与 VIP 关联的辅助 VPX 实例的私有 IP 地址。

  • secondaryCitrixadcsnip-与 SNIP 关联的辅助 VPX 实例的私有 IP 地址。

  • 安全组-VPX 所属的安全组 ID。

向 CFT 提供输入时, CFT 中针对任何参数的 * 都表示它是必填字段。例如, VPC ID* 是必填字段。

必须满足以下先决条件。CloudFormation 模板需要足够的权限来创建 IAM 角色,这超出了普通的 EC2 完全权限。使用此模板的用户还需要接受条款并订阅 AWS Marketplace 产品,然后才能使用此 CloudFormation 模板。

还应存在以下内容:

  • Key Pair(密钥对)

  • 3 个未分配的 EIP

    • 主要管理层

    • 客户贵宾

    • 二级管理

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

有关使用 Citrix ADM 在 AWS 中自动扩展 Citrix ADC 的更多信息,请访问:使用 C itrix ADM 在 AWS 中自动扩展 Citrix ADC。

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

AWS 必备

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

  • 用于在Amazon Web Services (AWS) 虚拟私有云 (VPC) 中启动 Citrix ADC VPX AMI 的 AWS 帐户。用户可以在Amazon Web Services 云科技免费创建 AWS 帐户: AWS

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

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

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

  • 有关如何在 AWS 上安装 Citrix ADM 服务代理的更多信息,请参阅:在 AWS 上 安装 Citrix ADM 代理

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

  • 已创建 adminuser 具有所有管理权限的 IAM。

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

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DetachNetworkInterface

  • ec2:AttachNetworkInterface

  • ec2:StartInstances

  • ec2:StopInstances

  • ec2:RebootInstances

  • ec2:DescribeAddresses

  • ec2:AssociateAddress

  • ec2:DisassociateAddress

  • autoscaling:*

  • sns:*

  • sqs:*

  • iam:SimulatePrincipalPolicy

  • iam:GetRole

如果使用 Citrix CloudFormation 模板,则会自动创建 IAM 角色。该模板不允许选择已创建的 IAM 角色。

注意:

当用户通过 GUI 登录 VPX 实例时,将显示一条提示,要求为 IAM 角色配置所需权限。如果已配置权限,请忽略提示。

使用 AWS 管理控制台通过终端程序提供的所有功能都需要 AWS CLI。有关更多信息,请参阅: 什么是 AWS 命令行界面?。用户还需要使用 AWS CLI 将网络接口类型更改为 SR-IOV。

ADM 必备条件

用户必须确保已完成 Citrix ADM 上的所有必备条件才能使用自动缩放功能。

image-vpx-aws-autoscale-deployment-24

创建站点

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

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

  • 单击“添加”。

  • 选择服务类型作为 AWS 并启用将现有 VPC 用作站点

  • 选择云访问配置文件。

  • 如果字段中不存在云访问配置文件,请单击“添加”以创建配置文件。

    • 在“创建云访问配置文件”页面中,键入用户要用来访问 AWS 的配置文件的名称。

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

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

  • 单击创建

  • 再次单击“创建”以创建站点。

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

image-vpx-aws-autoscale-deployment-25

*  Log in to the user AWS account and navigate to the role that users want to update.

*  In the Trust relationships tab, click Edit trust relationship and append the following condition within the Statement block:
  "Condition": {
  "StringEquals": {
    "sts:ExternalId": <External-ID>\
  }
}
<!--NeedCopy-->

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

与 AWS 中的用户 IAM 角色关联的 VPC 的详细信息(例如区域、VPC ID、名称和 CIDR 块)将导入到 Citrix ADM 中。

在 AWS 上配置 Citrix ADM 代理

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

  • 导航到“网络”>“代理”。

  • 单击“置备”。

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

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

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

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

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

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

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

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

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

  • 单击 Finish(完成)。

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

局限性与用法指南

在 AWS 上部署 Citrix ADC VPX 实例时,应遵循以下限制和使用准则:

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

  • 只有在使用 Citrix ADM 自动扩展组进行置备时,才支持群集功能。

  • 要使高可用性设置有效运行,请将专用 NAT 设备关联到管理接口或将弹性 IP (EIP) 关联到 NSIP。有关 NAT 的更多信息,请参阅 AWS 文档: NAT 实例

  • 必须使用属于两个不同子网的 ENI 将数据流量与管理流量隔离。

  • 管理 ENI 上必须仅存在 NSIP 地址。

  • 如果使用 NAT 实例来实现安全性,而不是将 EIP 分配给 NSIP,需要更改恰当的 VPC 级别路由。有关更改 VPC 级别路由的说明,请参阅 AWS 文档: 场景 2:具有公有子网和私有子网的 VPC

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

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

  • 不支持将 ENI 动态添加到 VPX。请重新启动 VPX 实例以应用更新。Citrix 建议用户停止独立或 HA 实例,连接新的 ENI,然后重新启动实例。主弹性网卡在部署后无法更改或附加到其他子网。在 VPX 停止时,可以根据需要分离和更改辅助 ENI。

  • 用户可以为一个 ENI 分配多个 IP 地址。每个 ENI 的最大 IP 地址数由 EC2 实例类型决定,请参阅: 弹性网络接口中的“每个实例类型的每个网络接口的 IP 地址”部分。用户必须先在 AWS 中分配 IP 地址,然后才能将其分配给 ENI。有关更多信息,请参阅: 弹性网络接口

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

  • <NODE_ID><NODE_ID>默认情况下,Citrix ADC set ha node-haStatus STAYPRIMARY 和 set ha 节点-haStatus STAYSECONDAR

  • VPX 不支持 IPv6。

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

    • 无偿的 ARP (GARP)。

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

    • 标记为 VLAN。

    • 动态路由。

    • 虚拟 MAC。

  • 要使 RNAT、路由和透明虚拟服务器正常工作,请确保对数据路径中的所有 ENI 禁用源/目标检查。有关更多信息,请参阅: 弹性网络接口中的“更改源/目标检查”。

  • 在 AWS 上的 Citrix ADC VPX 部署中,在某些 AWS 区域,AWS 基础结构可能无法解析 AWS API 调用。如果通过 Citrix ADC VPX 实例上的非管理接口发出 API 调用,则会发生这种情况。解决方法为,将 API 调用限制为仅对管理接口。为此,请在 VPX 实例上创建 NSVLAN,然后使用相应的命令将管理接口绑定到 NSVLAN。

  • 例如:

    • set ns config -nsvlan <vlan id>\ -ifnum 1/1 -tagged NO

    • save config

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

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

  • 在 AWS 控制台中,Monitoring(监视)选项卡下显示的 VPX 实例的 vCPU 使用率可能很高(高达 100%),即使实际使用率要低得多亦如此。要查看实际 vCPU 使用率,请导航到 View all CloudWatch metrics(查看所有 CloudWatch 指标)。有关更多信息,请参阅: 使用 Amazon CloudWatch 监控您的实例。 或者,如果不考虑低延迟和性能,则用户可以启用 CPU Yield 功能,允许数据包引擎在没有流量时空闲。有关 CPU 收益率功能以及如何启用该功能的更多详细信息,请访问: Citrix 支持知识中心

AWS-VPX 支持列表

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

AWS 上支持的 VPX 模型

  • Citrix ADC VPX Standard/Enterprise/Platinum Edition - 200 Mbps
  • Citrix ADC VPX Standard/Enterprise/Platinum Edition - 1000 Mbps
  • Citrix ADC VPX Standard/Enterprise/Platinum Edition - 3 Gbps
  • Citrix ADC VPX Standard/Enterprise/Platinum Edition - 5 Gbps
  • Citrix ADC VPX Standard/Advanced/Premium - 10 Mbps
  • Citrix ADC VPX Express - 20 Mbps
  • 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.12xlarge, m5.24xlarge
  • c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge, c5.24xlarge
  • C5n.largeC5n.xlargeC5n.2xlargeC5n.4xlargeC5n.9xlarge, C5n.18xlarge

支持的 AWS 服务

  • #EC2
  • #Lambda
  • #S3
  • #VPC
  • #route53
  • #ELB
  • #Cloudwatch
  • #AWS AutoScaling
  • #Cloud formation
  • 简单队列服务 (SQS)
  • 简单通知服务 (SNS)
  • 身份和访问管理 (IAM)

要获得更高的带宽,Citrix 建议使用以下实例类型

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

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