首页 > 解决方案 > 我希望针对长期工作的 AWS Spot 定价。一个实例的现场请求是实现这一目标的最佳方式吗?

问题描述

我有一个多天分析问题,我在 72 cpu c5n EC2 实例上运行。为了获得现货定价,我使我的代码具有中断弹性,并启动了一个实例的现货请求。它工作得很好,但考虑到 Spot 可以处理数千个实例,这似乎有点过头了。这是解决我的问题的正确方法还是我用大锤压扁苍蝇?

我试过正常的 EC2 启动,效果很好,只是价格是它的四倍。除了这两种方法之外,我不知道有任何其他方法可以解决这个问题。我考虑过 Fargate 或容器或其他东西,但我正在运行一个 72 cpu c5n 节点,而其他选项不会让我使用那种马力(我知道,因此我的问题)。

谢谢!

标签: amazon-web-services

解决方案


Amazon EC2 Spot 实例是获得更便宜的计算(最高 90% 折扣)的绝佳方式。唯一的缺点是,如果容量不足,实例可能会停止/终止(您的选择)

一些提高您获得 Spot 实例机会的策略:

  • 使用跨不同实例类型和可用区的实例,因为它们每个都有不同的可用性池(EC2 Spot Fleet可以提供帮助)
  • 在周末和晚上(甚至在不同的地区!)使用资源,因为这些往往是使用率较低的时间
  • 使用具有指定持续时间(也称为Spot 块)的 Spot 实例,但价格较高且最长持续时间为 6 小时

如果您的软件允许,您可以在多个实例之间分配负载,以更快地完成工作,并更有弹性地应对 Spot 实例的任何停止。

希望您的应用程序能够利用所有 CPU,否则您最好使用较小的实例。


推荐阅读