云服务器自动缩放是 NSX Advanced Load Balancer 平台中的一项新功能,基础架构管理员、操作员和应用程序开发人员可以将 NSX Advanced Load Balancer 服务器自动缩放解决方案与云自动缩放组配合使用。

AWS 中的自动缩放组在 NSX Advanced Load Balancer 中称为外部自动缩放组,因为它们是 NSX Advanced Load Balancer 的外部实体。通过使用该功能,可以根据 NSX Advanced Load Balancer 控制器 收集的衡量指标和 AWS CloudWatch 衡量指标应用更精细的缩放策略。

用于服务器自动缩放的衡量指标

通过使用从 SE 和 AWS 云收集的衡量指标,NSX Advanced Load Balancer 可以针对扩展或缩减事件采取相应的措施。NSX Advanced Load Balancer SE 收集 SE 上托管的服务的衡量指标。AWS CloudWatch 在服务器实例(虚拟机)级别中收集衡量指标。

服务引擎收集以下衡量指标:

  • 级别 4 衡量指标

  • 级别 7 衡量指标

  • 服务引擎衡量指标

  • 详细信息衡量指标

有关 NSX Advanced Load Balancer 收集的衡量指标的完整列表,请参见《VMware NSX Advanced Load Balancer 监控和可操作性指南》中的 SE 衡量指标

AWS 收集的衡量指标

服务器实例的基础架构相关衡量指标(例如 CPU 使用率、网络使用率等)是 NSX Advanced Load Balancer 从 CloudWatch 中获取的。AWS 收集以下衡量指标。

  • vm_stats.avg_cpu_usage

  • vm_stats.avg_disk_read

  • vm_stats.avg_disk_write

  • vm_stats.avg_disk_io

  • vm_stats.avg_net_usage

配置自动缩放策略和自动缩放启动

如果为池启用了自动缩放编排,则会为池获取上述衡量指标。如果为池启用了自动缩放,则会为池获取上一节中所述的衡量指标。要使服务器自动缩放正常工作,必须为池启用自动缩放策略和自动缩放启动配置。

自动缩放策略

自动缩放策略是一组使用上述衡量指标配置和触发警示的规则。要创建或选择现有的自动缩放策略,请导航到应用程序 > ,然后单击所需池的编辑图标。在设置选项卡中选择自动缩放策略选项以添加新的自动缩放策略或使用现有的策略。

自动缩放启动配置

自动缩放启动配置必须与池关联,服务器自动缩放才能正常工作。

如果将 use-external-asg 的值设置为 true,则指示 Autoscale Manager 开始为关联的池编排缩减或扩展活动。对于默认自动缩放启动配置 (default-autoscalelaunchconfig),use-external-asg 标记的值设置为 true

要启用使用外部 ASG,请导航到应用程序 > ,然后单击所需池的编辑图标。从设置选项卡的自动缩放启动配置字段下拉菜单中选择所需的名称。

支持可用区的自动缩放

在缩减时,NSX Advanced Load Balancer 自动缩放将确保对不同 AWS 可用区中的服务器进行均衡。例如,如果在池中具有 4 个服务器(在 AZ1 和 AZ2 中各有两个服务器),并且两个服务器发生缩减,将剩下两个服务器(在每个可用区中具有一个服务器)。

注:

该功能仅适用于 AWS。

配置池以进行服务器自动缩放

以下是配置池以进行服务器自动缩放的步骤:

  1. 导航到应用程序 > 。单击创建池,然后选择所需的云。

  2. 自动缩放策略下拉菜单中选择创建自动缩放策略选项。

  3. 新建自动缩放策略页面上,提供所需的名称以及池的最小和最大实例数。您还可以提供服务器垃圾数据收集延迟详细信息。

    1. 选中智能(机器学习)使用预测的负载选项。

  4. 扩展部分的警示下拉菜单中选择服务器自动缩放所需的警示。还要指定冷却期调整幅度智能边界

  5. 缩减部分的警示下拉菜单中选择服务器自动缩放所需的警示。还要指定冷却期调整幅度智能边界

    1. 冷却期:在此期间,不会触发新的扩展事件以使以前的扩展完成。

    2. 调整幅度:要同时缩减的最大服务器数。请选择相应的数字,以使目标服务器数始终大于或等于 min_size

    3. 智能边界:最小额外容量,表示为智能方案使用的负载百分比。在可用容量小于该边界时,将触发扩展;在可用容量超过该边界时,将触发缩减。

  6. 在指定所需的详细信息后,单击保存

  7. 导航到应用程序 > ,然后选择自动缩放启动配置下拉菜单以创建新的自动缩放启动配置。指定自动缩放启动的名称。

  8. 单击保存

  9. 为配置了自动缩放组的池创建虚拟服务。

自动缩放活动和事件

在配置的衡量指标超过阈值时,将生成自动缩放警示并扩展池成员。以下是池为缩减和扩展活动生成的事件。

以下是为扩展活动生成的事件:

  1. SERVER_AUTOSCALE_OUT:警示管理器生成自动缩放扩展警示。

  2. SERVER_AUTOSCALE_OUT_TRIGGERED:自动缩放管理器在池上触发扩展活动。

  3. CONFIG_UPDATE:使用新成员更新池。

  4. AWS_ASG_NOTIFICATION_INSTANCE_ADDED:在 AWS 自动缩放组中添加实例。

  5. SERVER_AUTOSCALE_OUT_COMPLETE:在扩展活动完成时,自动缩放管理器将触发该事件。这表示已成功完成扩展。

  6. SERVER_UP:这表示新添加的服务器已准备好处理流量。

导航到模板 > 事件,以检查为扩展或缩减事件生成的警示。

以下是为缩减活动生成的事件:

  1. SERVER_AUTOSCALE_IN:警示管理器生成自动缩放缩减警示。

  2. SERVER_AUTOSCALE_IN_TRIGGERED:自动缩放管理器在池上触发缩减活动。

  3. CONFIG_UPDATE:更新池并删除缩减的池成员。

  4. AWS_ASG_NOTIFICATION_INSTANCE_REMOVED:表示已从 AWS 自动缩放组中移除实例。

  5. SERVER_AUTOSCALE_IN_COMPLETE:在缩减活动完成时,自动缩放管理器将触发该事件。这表示已成功完成缩减活动。

注:

基于 CPU 占用率的自动缩放不支持可突增性能实例类型。可突增性能实例类型是名称以 T2 开头的 AWS 实例类型,例如,T2.microT2.large 等。