添加后端 AWS 自动缩放服务
在云中高效托管应用程序涉及根据应用程序需求轻松且经济高效地管理资源。 为了满足日益增长的需求,必须向上扩展网络资源。 当需求减弱时,您需要缩小规模,以避免不必要的闲置资源成本。 您可以通过在任何给定时间内仅部署所需数量的实例来最大限度地降低运行应用程序的成本。 为此,您必须不断监视流量、内存和 CPU 使用情况等。 但是,手动监视流量很麻烦。 为了使应用程序环境动态地向上或向下扩展,您必须在必要时自动执行监视流量和向上和向下扩展资源的流程。
NetScaler VPX 实例与 AWS Auto Scaling 服务集成在一起,具有以下优势:
- 负载平衡和管理:根据需求,自动配置服务器以向上和向下扩展。 VPX 实例会自动检测后端子网中的 AutoScale 组,并允许用户选择自动缩放组来平衡负载。 所有这些操作都是通过在 VPX 实例上自动配置虚拟 IP 地址和子网 IP 地址来完成的。
- 高可用性:检测跨多个可用区和负载平衡服务器的 Autoscale 组。
-
提高了网络可用性:VPX 实例支持:
- 通过使用 VPC 对等,后端服务器位于不同的 VPC 中
- 位于相同置放组的后端服务器
- 后端服务器位于不同的可用区中
- 正常连接终止:通过使用“Graceful Timeout”(正常超时)功能正常移除 Autoscale 服务器,从而避免在进行缩小活动时失去客户端连接。
- 备用服务器的连接耗尽:防止向处于待机状态的服务器发送任何新的客户端连接。 但是,备用服务器仍然是Autoscaling组的一部分,它们将继续处理现有的客户端连接,直到它们关闭。 当服务器变回 InService 状态时,服务器将恢复处理新连接。 您可以使用待机状态来更新、修改服务器或对其进行故障排除,也可以根据要求缩小规模。 有关更多信息,请参阅 A WS 文档。
图:带有 NetScaler VPX 实例的 AWS 自动扩缩服务
此图说明了 AWS 自动扩展服务如何与 NetScaler VPX 实例(负载平衡虚拟服务器)兼容。 有关详细信息,请参阅以下 AWS 主题。
开始之前的准备工作
在开始在 NetScaler VPX 实例上使用自动缩放之前,必须完成以下任务。
-
阅读以下主题:
-
根据您的要求在 AWS 上创建 NetScaler VPX 实例。
- 有关如何创建 NetScaler VPX 独立实例的更多信息,请参阅 在 AWS 上部署 NetScaler VPX 独立实例 和 场景:独立实例
- 有关如何在 HA 模式下部署 VPX 实例的更多信息,请参阅 在 AWS 上部署高可用性对。
注意:
我们的建议如下:
- 使用 CloudFormation 模板在 AWS 上创建 NetScaler VPX 实例。
- 创建三个独立的接口:一个用于管理 (NSIP),一个用于面向客户端 LB 虚拟服务器 (VIP),另一个用于子网 IP (NSIP)。
-
创建 AWS Autoscale 组。 如果没有现有的自动缩放配置,您必须:
- 创建启动配置
- 创建自动扩缩组
- 验证自动扩缩组
有关详细信息,请参阅 http://docs.aws.amazon.com/autoscaling/latest/userguide/GettingStartedTutorial.html。
-
从 NetScaler 版本 14.1-12.x 开始,在 AWS AutoScale 组中,只有启用了平滑选项后,才必须指定缩减策略。 在 14.1-12.x 之前的 NetScaler 版本中,无论是否启用了 Graceful 选项,您都必须指定至少一个缩减策略。
NetScaler VPX 实例仅支持步进扩展策略。 AutoScale 组不支持简单扩展策略和目标跟踪扩展策略。
-
确保您的 AWS 帐户具有以下 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-->
将 AWS 自动扩缩服务添加到 NetScaler VPX 实例
完成以下步骤,将自动扩展服务添加到 VPX 实例:
-
使用您的
nsroot
凭证登录 VPX 实例。 -
导航到“系统”>“AWS”>“云配置文件”,然后单击“添加”。
将出现“创建云配置文件”配置页面。
创建云端配置文件时的注意事项:
- 虚拟服务器 IP 地址是从 VPX 实例可用的免费 IP 地址中自动填充的。 有关更多信息,请参阅 管理多个 IP 地址。
- 键入您在 AWS 帐户上配置的 AutoScale 组的确切名称。 有关更多信息,请参阅 AWS 自动扩展组。
- 在选择自动缩放组协议和端口时,请确保您的服务器监听这些协议和端口,并在服务组中绑定正确的监视器。 默认情况下,使用 TCP 监视器。
- 对于类型为自动缩放的 SSL 协议,创建云配置文件后,由于缺少证书,负载平衡虚拟服务器或服务组似乎已关闭。 可以手动将证书绑定到虚拟服务器或服务组。
-
选择正常并在“延迟”字段中指定超时值以正常移除 AutoScale 服务器。 此选项启动缩小事件。 VPX 实例不会立即删除服务器,而是将其中一台服务器标记为要进行正常删除。 在此期间,VPX 实例不允许与此服务器建立新连接。 在超时发生之前,将为现有连接提供服务。 超时后,VPX 实例将删除服务器。
如果不选择“正常”选项,则负载下降后会立即移除 AutoScale 组中的服务器。 这可能会导致现有已连接客户端的服务中断。
创建云配置文件后,将创建一个 NetScaler 负载平衡虚拟服务器和一个以成员作为自动扩展组服务器的服务组。 您的后端服务器必须能够通过 VPX 实例上配置的 SNIP 进行访问。
注意:
- 要在 AWS 控制台上查看与 Autoscale 相关的信息,请转到 EC2 > Dashboard(控制板)> Auto Scaling > Auto Scaling Group(Auto Scaling 组)。
- 您可以在 AWS 中使用相同的自动扩展组 (ASG) 为不同的服务(使用不同的端口)创建不同的云配置文件。 因此,NetScaler VPX 实例支持公有云中具有相同自动缩放组的多个服务。