抢占式实例的市场价格根据供需关系变化存在波动,单一出价模式设置(使用自动出价或设置单台上限价格)可能无法满足您平衡成本和业务稳定运行的诉求。您可以使用自动出价结合系统运维管理OOS实时监控出价来感知成本变化,在出价超出设定阈值时根据实际需求进行资源管理。
方案概览
该方案使用自动出价(SpotAsPriceGo)的出价模式提升实例的稳定运行概率,通过系统运维管理OOS补充感知成本增加的能力。实现该方案您只需要进行以下几步:
创建抢占式实例:创建抢占式实例时设置使用自动出价。
创建RAM角色并授权:创建信任系统运维管理OOS的角色并添加访问ECS的权限。
接入钉钉机器人:创建钉钉自定义机器人用于接收价格超出阈值时的通知。
创建定时运维任务:借助系统运维管理的定时运维任务实现抢占式实例价格的定期监控和突破阈值消息的推送。
1. 创建抢占式实例
创建出价模式为使用自动出价(SpotAsPriceGo)的抢占式实例。具体操作,请参见创建抢占式实例。
本教程中创建一台抢占式实例,信息如下表所示,后续步骤将基于实例的信息设置价格/折扣监控。
实例名称 | 地域和可用区 | 实例规格 |
实例名称 | 地域和可用区 | 实例规格 |
抢占式实例 | 华东1(杭州)可用区H | ecs.c5.xlarge |
2. 创建RAM角色并授权
登录RAM控制台,在左侧导航栏,选择 ,单击创建角色。
信任主体类型选择云服务,信任主体名称选择系统运维管理。
单击确定之后,输入角色名称
OOSServiceRole
,在角色详情页面单击新增授权,选择AliyunECSReadOnlyAccess
权限策略并确认。
3. 接入钉钉自定义机器人
接入自定义机器人时,您需要注意:
安全设置选择自定义关键词,并设置
监控
关键词。完成设置后,复制出Webhook地址,后续步骤中,OOS将通过钉钉自定义机器人的Webhook地址发送消息。
4. 创建定时运维任务
登录OOS管理控制台-定时运维,在顶部菜单栏处,选择目标资源组和地域。
单击创建,在创建定时运维任务页面,完成以下配置:
定时设置:
定时类型:选择周期性重复执行。
重复周期:按照您的需求填写,本教程选择每1小时执行一次。
抢占式实例短时间内价格变化不频繁,建议您以1小时为周期进行价格监控。
选择模板:通过搜索框搜索并选中
ACS-ECS-AlarmWhenDiscountAndPriceExceedsThresholdInMultiZoneAndInstanceType
公共模板。设置模板参数:
按照以下步骤设置模板参数,其他参数设置保持默认即可。
根据步骤1创建的抢占式实例信息填写地域、可用区以及实例规格。
设置监控任务类型和价格/折扣阈值。
抢占式实例价格波动不频繁,不易验证定时任务的触发结果。本示例中将监控任务类型设置为Discount(折扣监控),折扣阈值设置为
10
(1折)来触发定时任务执行。在设置抢占式实例的监控价格或折扣阈值时,您可以通过以下两种方式获取关键数据支持决策:
购买页查询历史价格 在实例购买页,选择目标实例规格后查看该实例规格的历史价格。
API查询历史价格、平均释放率和折扣率
DescribeSpotPriceHistory
接口:可按时间范围、地域等参数精准查询指定实例规格的历史价格数据。DescribeSpotAdvice
接口:查询抢占式实例平均释放率和折扣率。
将步骤3复制出的Webhook地址填写到钉钉接收信息的地址。
选择步骤2创建的RAM角色
OOSServiceRole
作为执行使用到的权限的来源。
创建定时任务后,您可以在定时运维页面查看定时任务,执行状态为生效中即可。
5. 查看通知
抢占式实例价格随供需变动,变动的时间周期不定,以下仅为示例。
当前抢占式实例规格折扣为14.03,超过设置的折扣阈值10,您可以在接入钉钉自定义机器人的群消息中查看通知消息:
- 本页导读 (1)
- 方案概览
- 1. 创建抢占式实例
- 2. 创建RAM角色并授权
- 3. 接入钉钉自定义机器人
- 4. 创建定时运维任务
- 5. 查看通知