Amazon web services 制作AWS spot实例的技巧“;持续性的;?

Amazon web services 制作AWS spot实例的技巧“;持续性的;?,amazon-web-services,Amazon Web Services,我的客户将AWS用于他的VPSE。他遇到的一个问题是,如果spot实例的出价高于他的出价,那么他的实例将被终止。看起来没什么大不了的,只是spot实例不是持久的,所以每次发生这种情况时我们都必须从映像中恢复 他想让我做的是写一些东西,每X时间检查一次终止的实例,然后自动重新启动它们。更重要的是,他想用某种方式假装“坚持”。我最好的想法是每Y个时间从每个服务器创建一个映像,然后从该映像启动(如果/当该实例终止时) 如果还有其他想法,我会很高兴听到的。我想我的问题是,我在这里走对了吗?你们知道可能已

我的客户将AWS用于他的VPSE。他遇到的一个问题是,如果spot实例的出价高于他的出价,那么他的实例将被终止。看起来没什么大不了的,只是spot实例不是持久的,所以每次发生这种情况时我们都必须从映像中恢复

他想让我做的是写一些东西,每X时间检查一次终止的实例,然后自动重新启动它们。更重要的是,他想用某种方式假装“坚持”。我最好的想法是每Y个时间从每个服务器创建一个映像,然后从该映像启动(如果/当该实例终止时)

如果还有其他想法,我会很高兴听到的。我想我的问题是,我在这里走对了吗?你们知道可能已经存在的解决方案吗

更新:差不多一年后,我回到这里,发现所有这些精彩的回答和对这个话题的关注比我预想的要多。下面的许多答案,虽然信息丰富且有用,但对我的推理提出了质疑。我想说的是,即使在当时,我也100%同意这不是一个明智的想法,但这正是我的客户所要求的,尽管我试图将事情朝着更好的方向发展

非常感谢你们的帮助。我最终确实弄明白了如何做我想要的事情,并且能够编写一些代码来自动重新启动终止的实例。这从来都不是一件容易的事,但当我转向一个新客户时,它工作得很好

祝你们中任何一个有同样问题的人好运,你们正在做(可能是通过武力,就像我的情况一样)不容易的事情。正如一些人在他们的回复中提到的那样,现场请求更便宜,特别是因为不提供持久性。否则,我认为“现货需求”市场的定价会大不相同

尽管如此,这是可能的,我做到了,这是一次伟大的经历。当没有办法的时候,你必须去锻造它!如果你不这样做,其他人会这样做

更新II:我只想提醒大家,这是我的主要任务。虽然当时很多人都对整个概念不屑一顾,但我最终得到了一个功能性或多或少的SaaS,它允许人们轻松地管理和监控所有的现场实例,包括启用/禁用每个实例的自动持久重新启动、为单个实例安排时间的能力(他们应该或永远不应该被启动,)等等

虽然我完全同意,从开发人员的角度来看,这是一个不雅观的要求,当时我不想这样做,但我仍然会说,在某种程度上,这是一种很好的方式,被要求去做它,因为我不仅学到了很多,不仅对我的能力和代码有了很多信心,而且我还产生了一个非常有用的方法而且,据我所知,对于我的客户来说,这是一款非常有价值的软件(即使他们因为不太了解而提出了错误的要求)

我试图说服他不要这样做,但他坚持,因为他是那个付钱的人,所以我把注意力集中在那里,不仅完成了这里许多人认为愚蠢的事情,而且使它对某人有利

如果它真的那么傻,就不会为任何人省钱

听着,我现在读了这篇文章,有点畏缩。我当时天真多了。我更了解AWS,现在,我现在代码编写得更好了,等等。很自然

但我仍然为解决这个问题感到自豪,特别是因为这些家伙,年纪更大,经验更丰富,无疑是伟大的程序员告诉我不能或不应该这样做。是你们让它成为了对我的挑战,所以谢谢你们


如果它可以盈利呢?你确定它不应该吗?

spot实例的本质是暂时的,因此你不能使实例“持久化”。但是,你可以使用EBS使数据持久化

你的想法是一个关于图像的好主意,老实说,我不确定是否有其他方法可以做到这一点

您可以随时查看上的文档或跳到上,查看那里的AWS工程师是否有任何想法

--编辑--


不确定这是否可行-因为这会产生额外的成本,但您总是可以在生成映像后立即从生成的映像启动实例并终止现有实例。这会产生持久性的假象,特别是在您不依赖EBS卷进行数据保留的情况下。

更新:tIME已更改

EC2 Spot实例请求现在可以配置为
停止
,而不是
终止
出价高于的Spot实例,或任何其他导致Spot实例中断的容量相关事件

请参阅《EC2开发人员指南》中的。安装了适当的代理后,某些类别的实例也可以休眠

请注意,此新功能不保证实例将继续运行,但只保证它们将在以前的EBS卷、专用IP、弹性IP和实例ID都完好无损的情况下重新启动

先前的答复如下:


Spot实例不能持久,但Spot请求可以持久

持久现货请求:当您将现货竞价请求指定为“持久”时,您可以确保在您或Amazon EC2终止其实例后自动重新提交,直到您取消该竞价请求。这使您能够在现货价格低于最高价格时自动启动现货实例

使机器在价格范围内运行的任何时间,但至于其余的,考虑你的点实例正在做什么,你是否认为磁盘的持久性是前进的方向。想想“云”。

mkfs.ext4 /dev/xvdf