文档

高级配置:抢占型实例选择

更新时间:

EAS提供了公共资源组和专属资源组,当您使用公共资源组部署EAS服务时,您可以选用抢占式资源实例,降低运行成本。本文为您介绍如何配置EAS服务使用抢占式资源实例。

背景信息

  • 抢占式实例简介

    EAS支持部署服务时选择使用成本更低的抢占式资源实例(Spot Instance),EAS使用的是指定价格上限的抢占模式,抢占式资源实例的详细介绍请参见抢占式实例概述

    使用抢占式资源的最大优势在于价格便宜,其价格随市场和库存的供需关系实时变化,相对于公共资源组按量付费的普通实例,价格有较大的优惠。同时抢占式实例也分为有保护期实例与无保护期实例,价格从低到高顺序为:

    无保护期价格 < 有保护期价格 < 普通实例
    说明

    抢占式实例受库存和市场价格的影响,可能被释放回收,如果被释放,EAS会根据配置文件中的资源规格重新进行遍历,拉起当前指定的最高优先级资源。

  • 如何才能购买到抢占式实例

    在配置部署服务时,您可以在配置文件中指定是否使用抢占式实例,并设置抢占实例时的出价上限。后续在部署EAS服务时,会根据配置文件的配置结果,自动竞价抢占资源。

    当满足如下条件时可成功抢占资源:

    • 抢占式资源实例库存充足。

    • 您配置的出价上限不低于当前抢占式实例的市场价。

  • 使用抢占式实例

    • 成功抢占到抢占式资源后,默认至少可以使用1小时,即抢占成功后有1小时的保护期,保护期内可以保障您能够使用资源。

    • 超过1小时的保护期后,如果抢占式资源实例库存充足,且您之前设置出价上限不低于当前抢占式实例市场价,您也可以继续使用抢占式实例。

      如果不满足上述条件,超过1小时的保护期后,您的抢占资源实例可能会被释放。

  • 释放抢占式实例

    • 超出1小时保护期,抢占式资源实例库存不足。

    • 超出1小时保护期,您设置的出价上限低于当前抢占式实例市场价。

    • 无保护期,抢占式资源实例库存不足或您设置的出价上限低于当前抢占式实例市场价。

  • 抢占式实例计费

    抢占式实例为按量计费的计费模式,按照实时的市场价进行计费。

  • 多实例部署时,实例使用顺序

    创建或更新服务时,您可以在配置文件中同时配置多个实例规格,例如同时配置了抢占式资源实例和普通实例,后续实际部署时会根据配置文件中的实例顺序依次使用实例,当实例规格竞价失败或库存不足时,按照配置顺序依次使用下一个实例规格。

前提条件

如果您使用本地客户端方式使用抢占式实例,则需要下载EASCMD客户端工具并认证成功,具体操作,请参见下载并认证客户端

创建服务时使用抢占式实例

通过控制台创建服务使用抢占式实例

  1. 进入新建服务页面,详情请参见服务部署:控制台

  2. 新建服务页面,配置以下关键参数,其他参数配置详情,请参见服务部署:控制台image

    参数

    描述

    资源组种类

    选择公共资源组

    资源配置方法

    选择性价比资源配置

    抢占型保留时长

    支持以下两种配置方式:

    • 设定实例使用1小时:您可以为抢占型实例设置1小时保护期,即实例抢占成功后,默认至少可以使用1小时。

    • 无确定保护期:表示禁用保护期。

    部署资源

    • 资源类型:选择抢占型

    • 机器型号:选择合适的机器型号。

    • 出价:设置出价用来自动竞价抢占资源。

      如果抢占式资源实例库存充足,且出价不低于当前抢占式实例市场价,可以使用抢占式实例。

    • 配置多规格实例

      您可以单击image..png来配置多个抢占型实例,最多支持添加5个资源类型。配置多个实例时,实例的生效逻辑请参见高级配置:多规格实例选择

      说明

      建议您同时配置常规型实例,避免抢占型实例抢占失败导致服务部署失败。

  3. 单击部署。待服务状态变为运行中时,表明服务部署成功。

通过本地客户端创建服务使用抢占式实例

以Windows 64版本为例:

  1. 在客户端文件所在目录新建JSON格式的文件,命名为service.json,文件内容示例如下。

    {
      "name": "service_example",
      "model_path": "http://examplebucket.aliyuncs.com/models%2Fmnist_saved_model.tar.gz",
      "processor": "tensorflow_cpu_1.12",
      "metadata": {
        "instance": 1,
      }
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明如下。其他参数说明,详情请参见命令使用说明

    参数

    描述

    instance

    服务启动的实例数量。上述JSON文件中表示启动1个实例。

    instances

    表示允许的实例规格,支持配置多个。当实例规格竞价失败或库存不足时,按照配置顺序依次尝试使用下一个实例规格创建服务。

    • type:表示配置的实例规格。

    • spot_price_limit为可选参数:

      • 当配置该参数时:表示对应实例规格使用抢占式资源实例,并指明价格上限。单位为CNY,支持按量付费。

      • 当不配置该参数时:表示对应实例规格为普通的按量付费实例。

    disable_spot_protection_period

    支持以下取值:

    • false(默认值):表示在抢占式资源实例创建成功后,默认有1小时保护期。在保护期内即使市场价格超过了出价,实例也不会被释放。

    • true:表示禁用保护期,无保护期实例会始终比有保护期实例优惠10%左右。

  2. 打开终端工具,在JSON文件所在目录,使用以下命令创建服务。

    eascmdwin64.exe create <service.json>

    其中:<service.json>需要替换为您创建的JSON文件名称。

修改服务配置使用抢占式实例

通过控制台修改服务配置使用抢占式实例

  1. 打开服务资源配置对话框,具体操作,请参见通过控制台修改服务使用多规格实例

  2. 性价比资源配置页签,设置抢占型保留时长,添加抢占型资源类型,并单击确定

    说明

    建议您同时配置常规型实例,避免抢占型实例抢占失败导致服务运行失败。

    image

    其他参数配置方法,请参见通过控制台创建服务使用抢占式实例

通过本地客户端修改服务配置使用抢占式实例

以Windows 64版本为例:

  1. 在客户端文件所在目录新建JSON格式的文件,命名为instances.json,文件内容示例如下。

    {
      "cloud": {
        "computing": {
          "instances": [
            {"type": "ecs.g7.2xlarge", "spot_price_limit": 2.00},
            {"type": "ecs.g7.4xlarge", "spot_price_limit": 4.00},
            {"type": "ecs.g7.2xlarge"},
            {"type": "ecs.g7.4xlarge"}
          ],
          "disable_spot_protection_period": true
        }
      }
    }

    其中关键参数说明,详情请参见部署服务时使用抢占式实例

  2. 打开终端工具,在JSON文件所在目录,使用以下命令修改EAS服务使用抢占式资源实例。

    eascmdwin64.exe modify <service_name> -s <instances.json>

    其中:<service_name>需要替换为EAS服务名称;<instances.json>需要替换为新建的JSON文件名称。

相关文档