抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

AWS 简化 Amazon EC2 Spot 实例的定价模式并降低运维复杂性

2018 年 2 月 04 日

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Amazon Web Services (AWS)最近对Amazon EC2 Spot 实例的申请和运维方式进行了大幅调整,此番举措将帮助用户显著降低成本。现在,用户无需指定竞价即可申请Spot 实例,Spot 价格调整幅度更为细化,此外Spot 实例还可停止或睡眠,稍后可恢复运行,借此进一步降低对工作负载的影响。

Amazon EC2 Spot 实例属于闲置的运算容量,相比按需实例的定价,AWS 以最高 90% 折扣的价格提供这种实例,但如果 EC2 需要重新用到这些容量,实例可能会被重新回收。此类实例非常适合用于运行可容错或可中断的工作负载,如测试开发环境、CI/CD 管道、无状态的 Web 服务、批处理作业、分析以及机器学习。

虽然 AWS 早已提出了 Spot 实例这一概念,但为了通过高弹性、高效率的方式充分利用这种低成本容量池,依然需要在工程方面通过各种措施应对突发的实例中断,并且要求用户对 Spot 实例市场的竞价策略有着深入的理解。取决于实例类型、每天的不同时段和具体地区等不同因素,此类实例的价格可能会有大幅波动(甚至可能增长至按需实例定价的十倍),因此 Spot 实例的运行会频繁中断,同时不可避免需要进行复杂的容量和成本计算。

AWS 现已转换为一种“根据供应和需求的长期趋势,更频繁调整价格”的定价模式。尤其是调整后的Spot 实例价格将以按需实例的价格为上限,这也意味着如果不希望进一步限制实例的预算,很多用户甚至根本不需要指定竞价。这些收益也意味着AWS 服务可以更自由地实用Spot 实例提供运算容量,如用于 AWS Batch Amazon ECS Amazon EMR

虽然此举对成本的平均降低幅度主要取决于实例类型和具体区域,但新的 Spot 定价模型已经可以大幅降低价格波动,让价格变化趋势变得更为平滑。与此同时,通过 Spot Instance Advisor 可以看到,大部分实例类型的中断频次都显示为“低”,Spot 实例的历史价格也清晰体现出了这些变化:

图片:Amazon EC2 Spot 定价变化:基于eu-west-1 区域的m4.2xlarge 实例

AWS 还通过 run-instances API 提供了一种更为简单的 Spot 实例请求模型,该 API 可在容量可用时立即返回一个实例 ID,因此用户不再需要通过原本使用的 request-spot-instances API 频繁地以异步 Spot 请求方式查询状态。请求 Spot 实例只需要额外增加一个参数,该参数可直接添加到现有脚本和服务中,随后即可通过 Spot 实例节约成本:

复制代码
$ aws ec2 run-instances --instance-market-options '{"MarketType":"Spot"}' \
--image-id ami-1a2b3c4d --count 1 --instance-type c3.large

此外,在被 EC2 中断后,Spot 实例不再被终止,而是可以灵活地停止睡眠,并且相同类型实例的容量可用后还可恢复继续运行。需要注意的是,这是一种服务层面上的自动优化,无法由用户手工停止并启动 Spot 实例。Jeff Barr(AWS 首席技术传道士)总结对这种全新用例进行了如下的总结:

当容量可用后,实例将启动并自动恢复运行,完全无需在应用程序配置、EBS 卷设置、数据下载、网络域加入等工作中额外花时间。

实例停止和睡眠两种状态的主要差异在于,后者可将 RAM 中的数据持久保存至 EBS 根卷,因此可以让工作负载“将更多状态数据存储在内存中”。Spot 实例的停止操作,除了具备根 EBS 卷外只有很少量其他要求。睡眠操作则要求在受支持的操作系统上安装代理程序,而截至目前仅适用于最常用的 EC2 实例类型。此外 AWS 强烈建议对于睡眠实例“使用加密的 EBS 卷作为根卷”,以确保“内存(RAM)内容能够以加密的状态将数据存储在卷中”。

根据相关新闻报道,AWS 最近还提供了一个用户期待已久的功能:现在已经可以通过 Amazon CloudWatch Events 接收 Spot 实例终止前两分钟预警通知(详见早前的报道)。用户可以根据新增的 Spot 实例中断通知触发推送通知,并通过针对其他 AWS 资源变化执行应对措施的同一个事件总线和操作目标实现相关操作的自动化。

Google Cloud Platform(GCP)以及(最近更新后的)Microsoft Azure 也为适合的工作负载提供了价格更低的虚拟机,但GCP 的抢占式虚拟机实例以及Azure 的低优先级虚拟机在定价模型和运维限制方面均有较大差异。

在文档方面,Amazon EC2 提供了面向 Linux Windows 实例的用户指南,其中包含了 EC2 Spot 实例入门竞价型实例中断 AWS CLI 参考以及 API 参考等内容。Amazon EC2 Spot 实例定价页面列出了不同运行时间的最新价格,该价格并非源自中断实例本身,预留容量取决于基于常规用量的 EBS 定价。Spot 实例的支持工作将通过 Amazon EC2 论坛提供。

阅读英文原文 AWS Streamlines Amazon EC2 Spot Instance Pricing Model and Operational Complexity

2018 年 2 月 04 日 18:00956
用户头像

发布了 283 篇内容, 共 88.3 次阅读, 收获喜欢 42 次。

关注

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

视频AI第一步-动作识别数据集

flow

ARTS Week9

丽子

ARTS 打卡计划

什么是分散式金融(DeFi)?

志学Python

去中心化金融 defi

更新丢失、写偏、幻读:数据库事务从快照隔离到可序列化

青菜年糕汤

数据库 数据库事务 分布式数据库 数据库设计 分布式系统

架构师第十二周学习总结

傻傻的帅

搬家,又一次和过往告别

王磊

程序人生

比特币挖矿到底挖的是什么?

CECBC区块链专委会

比特币 区块链 数字货币

图解Node(上)——直击灵魂的十条拷问

执鸢者

前端 原理 Node

你真的懂 Java 的 main 方法吗

Rayjun

Java

程序的机器级表示-控制

引花眠

计算机基础

linux入门系列19--数据库管理系统(DBMS)之MariaDB

黑马腾云

MySQL Linux centos linux运维 MariaDB

linux入门系列20--Web服务之LNMP架构实战

黑马腾云

php MySQL Linux centos ngnix

巧用HashMap一行代码统计单词出现次数

程序那些事

jdk hashmap 统计字数

Flink-有状态算子的扩缩容-12

小知识点

scala 大数据 flink

架构师第十二周作业

傻傻的帅

SpringBoot+Tess4j实现牛逼的OCR识别工具

小隐乐乐

二叉树深度和大文件排序

escray

学习 面试 面试题 面试现场

oeasy教您玩转linux010108到底哪个which

o

央行数字货币钱包上线后又秒关 兑换了的 DCEP 别担心

CECBC区块链专委会

数字货币 央行

JVM的早期优化与晚期优化

Edison

JVM JVM虚拟机原理

ARTS Week14

时之虫

ARTS 打卡计划

算法导论

华宇法律科技

算法

Android | dagger细枝篇

哈利迪

android

基于区块链的社会治理探索

CECBC区块链专委会

区块链 大数据 信息技术

ARTS打卡 第14周

引花眠

微服务 ARTS 打卡计划

Ray 分布式计算框架详解

lipi

分布式 数据湖 pandas Apache Arrow

LeetCode 5. Longest Palindromic Substring

liu_liu

算法 LeetCode

Python作业留底--《菜鸟教程》Python 练习和习题

Geek_f6bfca

打通微信和钉钉服务是一种怎样的体验?

Ceelog

go 微信 钉钉 微信公众号

Go: ElasticSearch客户端学习

陈思敏捷

go golang elasticsearch elastic go-elasticsearch

【持续更新~】常遗忘却可以变更好的心态

CoderJ

个人成长

Study Go: From Zero to Hero

Study Go: From Zero to Hero

AWS简化Amazon EC2 Spot实例的定价模式并降低运维复杂性-InfoQ