阿里云抢占式实例怎么用

阿里云抢占式实例怎么用

  • admin admin
  • 2026-09-12
  • 3910
  • 0

阿里云抢占式实例是阿里云ECS的一种按量计费模式,以低于常规按量付费的价格提供计算资源,但实例可能因市场价格或库存变化被系统自动回收。创建前的准备使用抢占式实例前,需要确认账号已完成实名认证,并已创建VPC网络、交换机和安全组,如果使用自定义镜像,需要提前...

优惠价格:¥ 4
当前位置:首页 > 阿里云服务器 > 阿里云抢占式实例怎么用
详情介绍

阿里云抢占式实例是阿里云ECS的一种按量计费模式,以低于常规按量付费的价格提供计算资源,但实例可能因市场价格或库存变化被系统自动回收。

创建前的准备

使用抢占式实例前,需要确认账号已完成实名认证,并已创建VPC网络、交换机和安全组,如果使用自定义镜像,需要提前准备好镜像,如果使用密钥对登录,需要提前创建或导入密钥对,确认目标地域和可用区有足够的抢占式实例库存。

控制台创建抢占式实例

登录阿里云控制台,进入云服务器ECS页面,点击“创建实例”。

在创建页面中,计费方式选择“抢占式实例”,这一步决定了实例的后付费折扣属性。

阿里云抢占式实例怎么用  第1张

选择地域和可用区,建议选择库存充足的可用区,可用区库存会直接影响抢占式实例的可创建性和被回收概率,尽量选择多个可用区部署,以便在单一可用区库存不足时快速切换到其他可用区。

选择实例规格,抢占式实例支持大多数ECS实例规格族,包括通用型、计算型、内存型、大数据型等,选择规格时,页面会显示当前的抢占式实例市场价格和按量付费价格,可以直观比较折扣幅度,如果使用自动出价,市场价格即为成交价格。

设置出价模式,出价模式有两种:自动出价和设置最高价,自动出价模式下,系统会以当前市场价格成交,无需手动设置价格上限,设置最高价模式下,需要填写一个最高可接受价格,当市场价格低于或等于最高价时实例正常运行,市场价格高于最高价时实例会被回收,一般建议使用自动出价,避免因市场价格短期波动导致实例被频繁回收。

选择镜像,可以选择公共镜像、自定义镜像、共享镜像或云市场镜像,抢占式实例对镜像类型没有限制,与普通按量付费实例一致。

配置存储,系统盘可以选择高效云盘、SSD云盘或ESSD云盘,容量按需设置,数据盘可以添加多块,支持普通云盘、高效云盘、SSD云盘和ESSD云盘,注意系统盘默认随实例释放,数据盘可以设置为随实例释放或保留。

配置网络和安全组,选择已创建的VPC和交换机,设置是否分配公网IPv4地址,安全组规则需要放行必要的端口,比如22端口用于SSH登录,80端口用于HTTP服务,如果使用IPv6,可以同时配置IPv6地址。

设置实例信息,填写实例名称、主机名,选择登录凭证,登录凭证支持密码、密钥对或使用镜像默认密码,建议使用密钥对登录,避免密码泄露风险。

确认订单并创建,创建成功后,实例会立即启动,计费从实例创建成功开始按秒累计。

设置自动释放时间

抢占式实例支持设置自动释放时间,在实例列表中,选择目标实例,在“更多”操作中点击“实例设置”下的“设置自动释放时间”,可以精确到秒,设置后实例会在指定时间自动释放,这个功能适合临时计算任务,比如跑批处理、测试环境等,避免任务结束后忘记手动释放而产生额外费用。

需要注意,自动释放时间与系统回收是两个独立机制,自动释放时间由用户主动设置,系统回收由阿里云根据市场价格和库存触发,用户无法阻止系统回收,只能通过架构设计降低影响。

保护期说明

抢占式实例创建成功后默认有一个小时保护期,在保护期内,即使市场价格超过出价或库存紧张,实例也不会被系统回收,保护期结束后,实例进入可回收状态,这个保护期可以保障实例在启动初期稳定运行,适合需要短暂预热的应用。

保护期不能延长或重复获得,实例被回收后重新创建的实例会重新获得一小时保护期。

通过API创建抢占式实例

使用阿里云CLI或OpenAPI可以批量创建抢占式实例,核心参数是 SpotStrategy,取值有两种:

  • SpotAsPriceGo:自动出价,跟随市场价格。

  • SpotWithPriceLimit:设置最高价,需要同时设置 SpotPriceLimit 参数。

以下是一个阿里云CLI创建抢占式实例的示例:

aliyunecsRunInstances\
--RegionIdcn-hangzhou\
--InstanceTypeecs.g6.large\
--ImageIdcentos_7_9_x64_20G_alibase_20210318.vhd\
--SecurityGroupIdsg-bp1xxxxxxxxxxxxx\
--VSwitchIdvsw-bp1xxxxxxxxxxxxx\
--SpotStrategySpotAsPriceGo\
--SystemDisk.Categorycloud_essd\
--SystemDisk.Size40\
--InternetMaxBandwidthOut5\
--InstanceNamespot-demo

如果使用Terraform,可以在 alicloud_instance 资源中配置:

resource"alicloud_instance""spot"{
instance_type="ecs.g6.large"
image_id="centos_7_9_x64_20G_alibase_20210318.vhd"
vswitch_id="vsw-bp1xxxxxxxxxxxxx"
security_groups=["sg-bp1xxxxxxxxxxxxx"]
spot_strategy="SpotAsPriceGo"
system_disk_category="cloud_essd"
system_disk_size=40
}

监控实例状态与释放事件

在控制台实例详情页,可以查看实例的计费方式、出价模式、当前市场价格等信息,如果实例处于待回收状态,控制台会有相应提示。

抢占式实例在系统回收前约5分钟,会通过实例元数据提供终止时间,可以在实例内部执行以下命令获取:

curlhttp://100.100.100.200/latest/meta-data/instance/spot/termination-time

如果返回为空,说明实例当前不在回收流程中,如果返回具体时间,表示实例将在该时间被回收,应用可以定时查询这个接口,提前做好保存状态、通知任务调度系统等操作。

还可以通过云监控配置事件通知,抢占式实例回收事件类型为 Instance:PreemptibleInstanceInterruption,配置事件通知后,可以通过短信、邮件、钉钉、函数计算、消息服务MNS等方式接收回收告警,建议使用函数计算或MNS将释放事件接入自动化运维系统,实现自动替换实例。

数据持久化与磁盘保留策略

抢占式实例被回收时,系统盘默认随实例释放,本地盘不能保留,数据盘可以选择随实例释放或保留,如果数据盘设置为保留,实例释放后数据盘会转为待挂载状态,后续可以挂载到其他实例继续使用。

但对于大多数场景,不建议依赖单块数据盘保留数据,更好的做法是将数据写入对象存储OSS、云数据库RDS、表格存储等持久化服务,或者使用NAS共享文件系统,抢占式实例本身应视为临时计算节点,数据持久化放在实例外部。

适用场景

抢占式实例适合无状态、可容错、可快速重试的工作负载,

  • 批量数据处理、ETL任务

  • 容器编排节点,配合弹性伸缩使用

  • CI/CD流水线构建节点

  • 无状态Web服务

  • 大数据计算任务

  • 图像渲染、视频转码

不适合运行有状态数据库、核心交易系统或需要长期稳定运行的应用,如果业务对中断敏感,应使用按量付费或包年包月实例,或者采用混合架构。

成本优化建议

可以将抢占式实例与按量付费实例混合使用,核心服务使用按量付费或包年包月实例,弹性扩展部分使用抢占式实例,通过弹性伸缩组配置多实例类型和多可用区,可以降低库存不足导致的创建失败概率。

使用自动出价可以避免因手动设置最高价过低导致实例频繁被回收,对于需要更强成本控制的情况,可以设置最高价略低于按量付费价格,当市场价格超过该值时实例被回收,避免成本超过普通按量付费。

定期检查回收事件和实例创建成功率,调整实例规格和可用区组合,不同实例规格在不同可用区的库存和价格都有差异,灵活选择可以显著降低单位计算成本。

注意事项

抢占式实例不支持转换为按量付费或包年包月实例,创建前需要确认业务可以接受实例被回收的风险,实例被回收后,实例ID、内网IP、公网IP都会释放,重新创建会获得新的实例ID和IP地址,如果需要固定入口,应在实例前使用负载均衡或弹性公网IP,但弹性公网IP和负载均衡本身需要额外付费。

系统回收抢占式实例不会产生欠费,已使用的时长按实际使用秒数计费,实例被回收时,未使用完的预付费部分不会退还,因为抢占式实例本身是后付费模式。

0