伸缩组与实例启动模板的结合,使得您能够利用实例启动来管理伸缩组的启动配置,将实例启动模板的版本管理引入到伸缩组的配置管理中,同时,使用动态的版本管理策略,使得您能够通过管理实例启动模板的方式来对伸缩组进行调整,大大降低了您操作的复杂性,提高了灵活性,也使您的机器配置的演进过程更加清晰和快捷。
实例启动模板
实例启动模板(Launch Template)包含了快速启动 ECS 实例所需要的相关配置,包括安全组,实例规格等一系列的信息。使用实例启动模板,您不需要为您创建的每一个 ECS 实例分别的指定启动参数,而由模板作为您实例启动参数的容器。
实例启动模板不支持修改,对于每一个实例启动模板,您可以创建一个或多个(目前最多30个)启动模板的版本,新版本的相关参数可以从老版本继承和演进,在使用实例启动模板快速创建实例时您可以通过版本管理的方式来创建所需配置的实例。
实例启动模板作为实例启动参数的模板,其本身不对参数做额外的校验,所有参数都是可选的,但是如果您的模板中不包含创建实例的必要参数,那么将无法使用该模板成功地生产实例。
关于实例启动模板的更多信息,请查看 创建模板。
使用启动模板创建 Auto Scaling 组
在创建伸缩组时,指定实例启动模板作为创建实例时的启动配置,可以让您快速地创建出一个伸缩组,并且使用实例启动模板的版本控制来管理伸缩组生产实例时的启动配置。
使用方式
使用实例启动模板创建伸缩组,将使用实例启动模板的相关配置信息作为创建实例时的启动参数,因此,您不再需要为伸缩组指定伸缩配置。
实例启动模板通过版本来管理同一模板下不同的配置信息,在使用模板创建伸缩组时,您需要指定模板 ID 以及采用的版本管理策略,目前,伸缩组支持以下版本策略:
- 版本号:伸缩组将使用指定的版本来创建实例。
- Default:伸缩组将始终使用实例启动模板的默认版本来创建实例。
- Latest: 伸缩组将始终使用实例启动模板的默认版本来创建实例。
当使用实例启动模板作为伸缩组启动配置,您需要注意,伸缩组对实例启动模板的部分参数尚不支持,因此伸缩组使用启动模板创建出来的实例可能缺失模板的部分配置信息。
目前伸缩组支持的模板参数如下:
名称 | 描述 |
---|---|
imageId | 镜像ID |
instanceType | 实例规格 |
securityGroupId | 安全组ID |
internetChargeType | 带宽收费方式 |
internetMaxBandwidthIn | 公网入带宽最大值 |
internetMaxBandwidthOut | 公网出带宽最大值 |
ioOptimize | 是否为 I/O 优化实例 |
systemDiskCategory | 系统盘类型 |
systemDiskSize | 系统盘大小 |
dataDisk.N.Category | 数据盘类型 |
dataDisk.N.Size | 数据盘大小 |
dataDisk.N.Snapshot | 创建数据盘使用的快照 |
dataDisk.N. DeleteWithInstance | 指定数据盘是否随实例释放 |
userData | 实例自定义数据 |
keyPairName | 秘钥对名称 |
ramRoleName | 实例RAM角色名称 |
tags | 实例标签 |
instanceName | 实例名称 |
hostName | 云服务器的主机名 |
spotStrategy | 后付费实例的抢占策略 |
spotPriceLimit | 设置实例的每小时最高价格 |
上述从模板中继承的实例启动参数需要满足的条件与伸缩配置相同,具体的参数选值与限制可以参考 创建伸缩配置。
限制条件
- 创建实例启动模板时,您必须确保实例启动模板包含创建实例所必需的参数,否则,在使用该模板创建伸缩组时将失败。
- 指定伸缩组始终使用实例启动模板的最新(Latest)版本时,您需要确保新创建的版本包含创建实例的完整信息。否则,伸缩组将无法成功执行扩容的伸缩活动。
- 指定伸缩组始终使用实例启动模板的默认(Default)版本时,您需要确保新创建的版本包含创建实例的完整信息,否则,伸缩组将无法成功执行扩容的伸缩活动。
模板与伸缩配置切换
弹性伸缩支持您在实例启动模板和伸缩配置之间切换。当您使用实例启动模板作为伸缩组的启动配置时,由于模板只能指定一种实例规格,因此无法支持伸缩组 多实例规格
的特性。
最佳实践
关于控制台如何操作配置实例启动模板,可以查看 Auto Scaling 通过启动模板来使用伸缩服务。