本文介绍如何基于多实例规格和多可用区应用成本优化策略,提高弹性伸缩的成功率,同时降低成本。
前提条件 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。 您已经创建了专有网络,具体操作请参见创建专有网络。 您在专有网络下创建了多个虚拟交换机,且虚拟交换机分布在多个可用区内,具体操作请参见创建交换机。 背景信息 弹性伸缩支持多实例规格,您可以在伸缩配置中指定备选的实例规格。在无法弹出高优先级规格的实例时,弹性伸缩会自动尝试下一优先级规格的实例,直至成功创建实例。多实例规格可以有效应对单个实例规格库存不足的情况,保证伸缩活动可以顺利执行。在业务高峰时,您可能需要争分夺秒地弹出高配实例规格承载业务流量,更关注性能,而不限定于一种特定规格,此时多实例规格尤为实用。
弹性伸缩支持多可用区,您可以在创建伸缩组时指定多台虚拟交换机,在一台虚拟交换机所在的可用区库存不足时,弹性伸缩会自动尝试在其它可用区创建实例,保证伸缩活动可以顺利执行。配置多可用区后,您还可以根据业务部署情况配置对应的扩缩容策略,灵活满足业务需要。多可用区扩缩容策略包括优先级策略、均衡分布策略和成本优化策略,详细信息,请参见使用自定义伸缩配置创建伸缩组。 说明 多可用区扩缩容策略仅适用于网络类型为专有网络的伸缩组。 不支持修改伸缩组的多可用区扩缩容策略。 由于抢占式实例受到市场价格限制,竞价失败可能会导致扩容不及时,影响业务运行。此时您可以选择应用成本优化策略,在抢占式实例创建失败时,伸缩组会自动尝试创建相同规格的按量实例,兼顾了成功率和成本,配合多实例规格更会大大提高伸缩活动成功率。应用成本优化策略的伸缩组会按vCPU单价从低到高尝试创建ECS实例,即使您未选用抢占式实例,也能够以较低的价格使用同等规模的ECS实例资源。
操作步骤 创建伸缩组。 本步骤主要介绍多可用区扩缩容策略相关的选项,如需了解其它伸缩组选项,请参见使用自定义伸缩配置创建伸缩组或者使用实例启动模板创建伸缩组。 网络类型配置为专有网络,然后选择专有网络下的多个虚拟交换机。 由于一个虚拟交换机只归属于一个可用区,选择多个虚拟交换机即可以在多个可用区创建ECS实例,合理利用不同可用区的库存。 多可用区扩缩容策略配置为成本优化策略。 根据需要配置其余伸缩组选项。 创建伸缩配置。 本步骤主要介绍多可用区扩缩容策略相关的选项,如需了解其它伸缩配置选项,请参见创建伸缩配置。 计费方式配置为抢占式实例。 选择多个实例规格(不超过10个)。 建议您按照vCPU、内存、处理器主频、内网带宽或者内网收发包等维度选择多个相近的实例规格。 建议您根据预算设定最高价,如果您使用自动出价,伸缩组会按照抢占式实例的市场价格出价并创建抢占式实例。 I/O优化实例和非I/O优化实例的配置相差较大,即使同时选择也很难增加伸缩成功率。 根据需要配置其余伸缩配置选项。 启用伸缩组。 创建伸缩规则。 本步骤主要介绍简单验证所需配置的选项,如需了解其它伸缩规则选项,请参见创建伸缩规则。 伸缩规则类型配置为简单规则。 执行的操作配置为增加1台。 根据需要配置其余伸缩规则选项。 执行伸缩规则。 验证成本控制效果 假设在操作步骤中,您为伸缩组指定了两个可用区下的虚拟交换机:华北1 可用区 B、华北 1 可用区 C,伸缩配置中指定了两种实例规格:ecs.sn1.large、ecs.sn1.xlarge。由于计费方式为抢占式实例,每种实例规格会对应两种单价:抢占式实例vCPU单价、按量付费实例vCPU单价。 注意 本文列出的价格仅用作示例,购买时请以售卖页的实时价格为准。
组合实例规格和计费方式后,可以得出四种创建实例的方案(vCPU单价从低到高排序): 方案编号 实例规格 计费方式 vCPU 市场价格 vCPU单价 Solution1 ecs.sn1.xlarge 抢占式实例 8 0.158/时 0.01975/时 Solution2 ecs.sn1.large 抢占式实例 4 0.088/时 0.022/时 Solution3 ecs.sn1.xlarge 按量付费 8 1.393/时 0.174125/时 Solution4 ecs.sn1.large 按量付费 4 0.697/时 0.17425/时 期望动作:当发生扩容伸缩活动时,伸缩组优先按方案 Solution1 创建实例,如果在可用区 B 和可用区 C 下均无法创建出实例,则依次尝试方案 Solution2、Solution3 和 Solution4。
执行伸缩规则触发伸缩活动后,向伸缩组添加1台ECS实例。前往弹性伸缩控制台的ECS实例列表页面,单击刚创建的ECS实例,查看计费方式和实例规格,分别为ecs.sn1.xlarge和按量-抢占式实例,成功降低了成本。使用扩缩容策略降低成本-成本优化策略效果
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。