【发布时间】:2013-10-24 19:55:02
【问题描述】:
我的客户将 AWS 用于他的 VPS。他遇到的一件事是,如果现场实例的出价高于他的出价,那么他的实例就会被终止。看起来没什么大不了的,只是 Spot 实例不是持久的,所以每次发生这种情况时我们都必须从图像中恢复。
他希望我做的是编写一些东西,每隔 X 时间检查一次终止的实例,然后自动重新启动它们。更重要的是,他想要某种方式来假装“坚持”。我最好的想法是每隔 Y 时间从每个服务器创建一个映像,然后从该映像启动(如果/当该实例终止时)。
很高兴听到任何其他想法。我想我的问题是,我是否走在正确的轨道上,你们知道任何可能已经存在的解决方案吗?
更新:差不多一年后,我回到这里,发现所有这些精彩的回复,并且对这个话题的关注比我预期的要多得多。以下许多答案虽然内容丰富且很有帮助,但对我的推理提出了质疑。我想说的是,即使在那个时候,我也 100% 同意这不是一个明智的想法,但这是我的客户所要求的,尽管我做了任何尝试,以使事情朝着更好的方向发展。
非常感谢大家的帮助。我确实最终弄清楚了如何做我想要的,并且能够编写一些自动重新启动终止实例的代码。这从来都不是一件容易的事,但当我转向新客户时,它运作良好。
祝你们遇到同样问题的任何人好运,你们正在(可能是通过武力,就像我的情况一样)做一些不容易的事情。 Spot 请求更便宜,正如这里的一些人在他们的回复中提到的那样,特别是因为不提供持久性。否则,我想“现货请求”市场的定价会大不相同。
同样,这是可能的,我做到了,这是一次很棒的经历。当没有办法时,你必须伪造它!如果你不这样做,其他人会。
更新二:我只想提醒大家,这是我的主要任务。虽然当时很多人都忽略了整个概念,但我最终得到了一个或多或少的功能 SaaS,它允许一个人轻松管理和监控所有的现场实例,包括启用/禁用自动持久重新启动的能力实例,为各个实例安排时间(应该或不应该启动它们)等。
虽然我完全同意,从开发人员的角度来看,这是一个不雅的要求,而且当时我确实不想想要这样做,但我仍然会说这是在某种程度上很好,被要求去工作,因为我不仅学到了很多东西,不仅对自己的能力和代码充满了信心,而且我制作了一个非常有用,据我所知,对我的客户来说非常有价值的软件(即使他们因为不了解而要求错误的东西)。
我试图说服他不要这样做,但他坚持,因为他是付钱的人,所以我把注意力集中在那里,不仅完成了这里许多人认为很愚蠢的事情,而且使它有利可图为某人。
如果它是那么愚蠢,它不会为任何人省钱。
看,我现在读了这篇文章,有点畏缩。那我就天真多了。我更了解 AWS 很多,现在,我现在编写代码 很多,等等。自然而然。
但我仍然为解决这个问题感到自豪,特别是因为是这些同胞、年纪较大、经验丰富得多、无疑是伟大的程序员告诉我不能或不应该这样做'完成不了。是你们给我带来了挑战,所以谢谢你们!
如果可以盈利怎么办?你确定不应该吗?
【问题讨论】: