添加后端 AWS 自动缩放服务
在云中高效托管应用程序涉及根据应用程序需求轻松且经济高效地管理资源。 为了满足日益增长的需求,必须向上扩展网络资源。 而当需求减少时,需要缩小以避免不必要的闲置资源成本。 为了通过在任何给定时间内仅部署所需的实例数,从而尽可能降低应用程序运行成本,必须持续监视流量、内存和 CPU 使用情况等。 但是,手动监视流量很麻烦。 为了应用程序环境可动态扩大或缩小,必须自动执行监视流量的过程以及必要时扩大和缩小资源的过程。
NetScaler VPX 实例与 AWS Auto Scaling 服务集成在一起,具有以下优势:
- 负载平衡和管理:根据需求,自动配置服务器以向上和向下扩展。 VPX 实例会在后端子网中自动检测 Autoscale 组,并允许用户选择 Autoscale 组以平衡负载。 所有这些操作都是通过在 VPX 实例上自动配置虚拟 IP 地址和子网 IP 地址来完成的。
- 高可用性:检测跨多个可用区和负载平衡服务器的 Autoscale 组。
-
提高了网络可用性:VPX 实例支持:
- 通过使用 VPC 对等,后端服务器位于不同的 VPC 中
- 后端服务器位于相同的放置组中
- 后端服务器位于不同的可用区中
- 正常连接终止:通过使用“Graceful Timeout”(正常超时)功能正常移除 Autoscale 服务器,从而避免在进行缩小活动时失去客户端连接。
图:带有 NetScaler VPX 实例的 AWS 自动扩缩服务
此图说明了 AWS 自动缩放服务如何与 NetScaler VPX 实例(负载平衡虚拟服务器)兼容。 有关详细信息,请参阅以下 AWS 主题。
开始之前的准备工作
在开始在 NetScaler VPX 实例上使用自动缩放之前,必须完成以下任务。
-
阅读以下主题:
-
根据您的要求在 AWS 上创建 NetScaler VPX 实例。
- 有关如何创建 NetScaler VPX 独立实例的更多信息,请参阅 在 AWS 上部署 NetScaler VPX 独立实例 和 场景:独立实例
- 有关如何在 HA 模式下部署 VPX 实例的更多信息,请参阅 在 AWS 上部署高可用性对。
注意:
Citrix推荐使用 CloudFormation 模板在 AWS 上创建 NetScaler VPX 实例。
Citrix 建议创建三个接口:一个用于管理 (NSIP),一个用于面向客户端的 LB vserver (VIP),一个用于子网 IP (NSIP)。
-
创建 AWS Autoscale 组。 如果没有现有的自动缩放配置,您必须:
a) 创建启动配置
b) 创建自动缩放组
c) 验证自动缩放组
有关详细信息,请参阅 http://docs.aws.amazon.com/autoscaling/latest/userguide/GettingStartedTutorial.html。
-
在 AWS AutoScale 组中,必须至少指定一个纵向扩展策略。 NetScaler VPX 实例仅支持分步扩展策略。 Autoscale 组不支持简单扩展策略和目标跟踪扩展策略。
将 AWS 自动扩缩服务添加到 NetScaler VPX 实例
在 GUI 中单击一次即可将自动缩放服务添加到 VPX 实例。 完成以下步骤可将自动缩放服务添加到 VPX 实例:
-
使用您的
nsroot
凭证登录 VPX 实例。 -
首次登录 NetScaler VPX 实例时,您会看到默认的“Cloud Profile”(云配置文件)页面。 从下拉菜单中选择 AWS 自动缩放组,然后单击 Create(创建)以创建云配置文件。 如果要稍后创建云配置文件,请单击 Skip(跳过)。
创建云配置文件时要记住的要点:默认情况下,CloudFormation 模板会创建并附加以下 IAM 角色。
{ "Version": "2012-10-17", "Statement": \[ { "Action": \[ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DetachNetworkInterface", "ec2:AttachNetworkInterface", "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances", "autoscaling:\*", "sns:\*", "sqs:\*" “iam: SimulatePrincipalPolicy” “iam: GetRole” \], "Resource": "\*", "Effect": "Allow" } \] } <!--NeedCopy-->
确保 实例的 IAM 角色具有适当的权限。
- 虚拟服务器 IP 地址是从 VPX 实例可用的可用 IP 地址自动填充的。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html#ManageMultipleIP
- AutoScale 组是从您的 AWS 帐户上配置的 AutoScale 组中预填充的。 http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroup.html。
- 选择自动缩放组协议和端口时,请确保您的服务器侦听这些协议和端口,且您在服务组中绑定正确的监视器。 默认情况下,使用 TCP 监视器。
- 对于 SSL 协议类型 Autosscaling,您创建云配置文件后,负载平衡虚拟服务器或服务组将由于缺少证书而关闭。 可以手动将证书绑定到虚拟服务器或服务组。
- 选择“Graceful Timeout”(正常超时)选项以正常移除 Autoscale 服务器。 如果未选择此选项,则在负载下降后,会立即删除 Autoscale 组中的服务器,这可能会导致连接的现有客户端的服务中断。 选择“Graceful”(正常)并提供超时意味着发生缩小情况。 VPX 实例不会立即删除服务器,而是将其中一台服务器标记为要进行正常删除。 在此期间,实例不允许与此服务器建立新连接。 现有连接将持续提供直到超时发生,超时后,VPX 实例将删除服务器。
图: 默认云配置文件页面
-
首次登录后,如果要创建云配置文件,请在 GUI 上转到 System(系统)> AWS > Cloud Profile(云配置文件),然后单击 Add(添加)。
将出现“创建云配置文件”配置页面。
云配置文件创建了一个 NetScaler 负载平衡虚拟服务器和一个服务组,其成员是自动缩放组的服务器。 您的后端服务器必须能够通过 VPX 实例上配置的 SNIP 进行访问。
注意:
从 NetScaler 版本 13.1-42.x 起,您可以在 AWS 中使用相同的自动缩放组 (ASG) 为不同的服务(使用不同的端口)创建不同的云配置文件。 因此,NetScaler VPX 实例支持公共云中具有同一自动缩放组的多个服务。
注意:
要在 AWS 控制台上查看与 Autoscale 相关的信息,请转到 EC2 > Dashboard(控制板)> Auto Scaling > Auto Scaling Group(Auto Scaling 组)。