本教程介绍了如何利用弹性伸缩均衡分布ECS实例,并组合使用按量付费ECS实例和抢占式实例,以更低的成本部署高可用计算集群。

前提条件

  • 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册
  • 为应用的ECS实例创建了自定义镜像,具体操作请参见使用实例创建自定义镜像

业务场景

某在线广告提供商应用机器学习精准投放广告,在业务高峰期会临时需要大量计算资源,成本较高,也可能存在ECS实例库存不足、手动创建ECS实例操作仓促、ECS实例临时停止服务等问题,存在一定的业务受损风险。

假设您的应用面向以下场景,也可以采用类似解决方案:
  • 分布式大数据计算。
  • 人工智能训练。

解决方案

弹性伸缩可以快速交付一个计算集群,同时利用均衡分布策略自动将计算节点分散在多个可用区,并实时检测ECS实例的运行状况,确保计算集群的高可用性。

您可以采用以下方案:
  • 通过弹性伸缩将计算节点分散在多个可用区,同时指定多种实例规格。
  • 组合使用按量实例和抢占式实例,以低成本购买ECS实例。伸缩组会按照单位vCPU的价格从低到高排序,优先选择单位vCPU价格更低的实例规格。
示意图如下:

业务收益

利用弹性伸缩部署高可用计算集群,您可以获得以下收益:
  • 零运维成本

    您只需提前配置扩缩容策略。负载增加时,伸缩组自动创建ECS实例,并将ECS实例添加到RDS实例的白名单;负载降低时,伸缩组自动将ECS实例从RDS实例的白名单中移除,然后释放ECS实例。整个过程自动触发和完成,无需人工干预。

  • 超高性价比

    弹性伸缩支持组合使用按量实例和抢占式实例,抢占式实例最低能以一折的价格购得ECS实例,性价比超高。如果抢占式实例库存不足,也会以按量实例的方式交付,保证交付结果。

  • 天然高可用

    均衡分布策略实现自动分散部署计算节点,避免因单可用区中库存不足等原因导致服务不可用,而且默认开启的健康检查功能可以确保伸缩组内ECS实例都处于可用状态。

操作步骤

请根据您的业务架构评估业务模块,为需要部署高可用集群的业务模块创建伸缩组,并为伸缩配置选择应用实例的自定义镜像,确保自动创建出的ECS实例符合应用的要求。

  1. 登录弹性伸缩控制台
  2. 单击创建伸缩组
  3. 配置伸缩组信息并完成伸缩组创建。
    • 伸缩组内最小实例数设置为100
    • 组内实例配置信息来源设置为自定义伸缩配置
    • 选择多个可用区下的虚拟交换机。
    • 多可用区扩容模式设置为均衡分布策略
    • 绑定当前业务模块所使用的RDS实例。

    请根据需要配置其它信息,详细信息请参见创建伸缩组

  4. 单击创建伸缩配置
  5. 配置伸缩配置信息并完成伸缩配置创建。
    • 计费方式设置为抢占式实例
    • 镜像设置为您的自定义镜像。

    请根据需要配置其它信息,详细信息请参见创建伸缩配置

  6. 确定启用伸缩配置。
  7. 确定启用伸缩组。

执行结果

启用伸缩组后,伸缩组自动在所选可用区中均衡部署满100台ECS实例,单可用区中因库存不足等原因引发问题时,对整个应用的影响有限。伸缩组在抢占式实例被回收后自动创建新的抢占式实例,并自动移除进入不健康状态的ECS实例并创建新的ECS实例。保证集群高可用性的同时,也降低了成本。