弹性供应是一个快速交付ECS实例集群的方案,简单配置后即可自动在多个可用区内交付不同计费方式(按量付费和抢占式实例)、多种实例规格的实例集合,提升批量交付大量实例的效率。弹性供应提供多种供应策略,有效缓解抢占式实例被回收对业务的影响,让您更稳定地使用低价算力。

弹性供应简介

弹性供应组根据您设置的资源池、目标容量、供应策略等属性自动交付实例集群,您无需逐一关注实例的创建过程或者计算单台实例的成本。以下为弹性供应组的主要属性:
  • 资源池:单可用区和单实例规格的组合形成一个资源池,指定多个可用区、多个实例规格,弹性供应组在创建实例时即可有多个资源池可以选择。
  • 目标容量:期望通过弹性供应组交付的算力,分为抢占式实例容量和按量付费实例容量,容量单位支持实例个数、vCPU个数或内存大小。

    弹性供应组默认使用抢占式实例满足目标容量的需求,您可以手动指定按量付费实例容量满足最低算力的需求。如果指定了按量付费实例容量,优先创建按量付费实例,然后创建抢占式实例补齐剩余容量。但如果因库存不足导致不能创建抢占式实例,会创建按量付费实例满足目标容量的需求。

  • 供应策略:创建实例时选择资源池的策略,例如尽量选择单价低的资源池以降低成本,尽量在不同可用区均衡创建实例以提高集群可用性。

应用场景

弹性供应组和抢占式实例的应用场景类似,即无状态应用的场景,例如可横向伸缩的Web站点服务、图像渲染、大数据分析、并行计算等。更多信息,请参见抢占式实例概述

使用说明

在创建弹性供应组前,请确定以下内容:
  • 确定弹性供应组的实例基本配置,即启动模板。更多信息,请参见实例启动模板概述

    弹性供应组沿用启动模板中指定的镜像、安全组、登录凭证等属性,但不会直接使用交换机(决定实例所在可用区)和实例规格属性,而是使用单独指定的交换机和实例规格。

  • 确定弹性供应组的资源池,实现多可用区、多实例规格。
    单可用区和单实例规格的组合形成一个资源池,当某些资源池库存不足时,弹性供应组会自动切换到其他资源池继续尝试创建实例。资源池越多,创建实例时的可选范围越大,创建成功率越高。
    说明 单可用区下仅支持指定一个交换机。如果指定了同一个可用区下的多个交换机,仅第一个交换机生效。
  • 确定弹性供应组的目标容量以及不同类型容量的占比。
    弹性供应组目标容量的单位支持实例个数、vCPU个数和内存大小,通过权重表示单台实例可满足的容量大小。权重规则如下:
    • 如果目标容量单位为实例个数,各实例规格的权重都是相同的。
    • 如果目标容量单位为vCPU个数,各实例规格的权重和vCPU个数有关,vCPU个数越多权重越大,满足目标容量所需实例的数量越少。
    • 如果目标容量是实例规格多个维度因子(例如vCPU、内存)的组合,请您自行评估指定实例规格能为目标容量贡献的算力,然后手动为各实例规格设置权重,权重越大代表该实例规格能贡献的算力越大。
      说明 仅在调用API CreateAutoProvisioningGroup创建弹性供应组时支持手动设置权重。

    按量付费实例容量用于满足最低算力的需求,在此基础上使用抢占式实例可以大大降低成本。

  • 确定供应策略。

    弹性供应组支持的策略类型如下表所示。

    策略类型 适用于 支持设置策略的方式 说明
    容量优化策略(capacity-optimized) 抢占式实例
    • 控制台(抢占式实例):供应策略设置为容量优化策略
    • API(抢占式实例):SpotAllocationStrategy取值为capacity-optimized
    综合考虑抢占式实例的回收率和价格,使用创建成功率高且成本相对较低的资源池创建实例,有效降低抢占式实例被回收的次数,保证容量稳定。
    多可用区均衡策略(diversified) 抢占式实例
    • 控制台(抢占式实例):供应策略设置为多可用区均衡策略
    • API(抢占式实例):SpotAllocationStrategy取值为diversified
    优先在多个可用区中均衡地创建实例,规避因单可用区库存不足导致实例创建失败,有效提高应用容灾能力。
    成本最优策略(lowest-price) 抢占式实例、按量付费实例
    • 控制台(抢占式实例):供应策略设置为成本最优策略
    • API(抢占式实例):SpotAllocationStrategy取值为lowest-price
    • API(按量付费实例):PayAsYouGoAllocationStrategy取值为lowest-price
    使用成本最低的资源池创建实例,有效降低成本。此处成本最低指vCPU单价最低。

    如果您调用CreateAutoProvisioningGroup创建弹性供应组,可以针对抢占式实例指定使用成本最优策略和使用的资源池数量(SpotInstancePoolsToUseCount),同时使用成本最低的多个资源池创建实例。

    例如,