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

前提条件

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

业务场景

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

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

解决方案

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

您可以采用以下方案:
  • 通过弹性伸缩将计算节点分散在多个可用区,同时指定多种实例规格。
  • 使用抢占式实例,以低成本购买ECS实例。
示意图如下:

业务收益

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

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

  • 超高性价比

    弹性伸缩支持使用抢占式实例,抢占式实例最低能以一折的价格购得ECS实例,性价比超高。

  • 天然高可用

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

操作步骤

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

  1. 登录弹性伸缩控制台
  2. 在顶部菜单栏处,选择地域。
  3. 创建一个伸缩组。
    • 组内实例配置信息来源设置为从零开始创建
    • 组内最小实例数设置为100
    • 网络类型设置为专有网络
    • 选择多个可用区下的虚拟交换机。
    • 扩缩容策略设置为均衡分布策略
    • 绑定当前业务模块所使用的RDS实例。

    请根据需要配置其它信息,更多信息,请参见配置伸缩组

  4. 伸缩组管理页面,找到新创建的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列,单击伸缩组ID。
    • 操作列,单击查看详情
  5. 在页面上方,单击实例配置来源页签。
  6. 创建一个伸缩配置。
    • 付费模式设置为抢占式实例
    • 镜像设置为您的自定义镜像。

    请根据需要配置其它信息,更多信息,请参见创建伸缩配置(ECS实例)

  7. 启用伸缩配置和伸缩组。

执行结果

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