amazon-web-services - 我希望针对长期工作的 AWS Spot 定价。一个实例的现场请求是实现这一目标的最佳方式吗?
问题描述
我有一个多天分析问题,我在 72 cpu c5n EC2 实例上运行。为了获得现货定价,我使我的代码具有中断弹性,并启动了一个实例的现货请求。它工作得很好,但考虑到 Spot 可以处理数千个实例,这似乎有点过头了。这是解决我的问题的正确方法还是我用大锤压扁苍蝇?
我试过正常的 EC2 启动,效果很好,只是价格是它的四倍。除了这两种方法之外,我不知道有任何其他方法可以解决这个问题。我考虑过 Fargate 或容器或其他东西,但我正在运行一个 72 cpu c5n 节点,而其他选项不会让我使用那种马力(我知道,因此我的问题)。
谢谢!
解决方案
Amazon EC2 Spot 实例是获得更便宜的计算(最高 90% 折扣)的绝佳方式。唯一的缺点是,如果容量不足,实例可能会停止/终止(您的选择)。
一些提高您获得 Spot 实例机会的策略:
- 使用跨不同实例类型和可用区的实例,因为它们每个都有不同的可用性池(EC2 Spot Fleet可以提供帮助)
- 在周末和晚上(甚至在不同的地区!)使用资源,因为这些往往是使用率较低的时间
- 使用具有指定持续时间(也称为Spot 块)的 Spot 实例,但价格较高且最长持续时间为 6 小时
如果您的软件允许,您可以在多个实例之间分配负载,以更快地完成工作,并更有弹性地应对 Spot 实例的任何停止。
希望您的应用程序能够利用所有 CPU,否则您最好使用较小的实例。
推荐阅读
- python - 如何进行联合测试以模拟随机返回功能?
- nuget - 为什么 .NET Framework 4.6.1 和 .NET Standard 2.0 在 NuGet 中列为依赖项?
- django - 每个用户每次提交增加一个
- c# - 如何使用 .net core 2.x 在 azure webjob 上获得应用洞察力?
- java - 当我读取 txt.file 时的输出,每行都有数字
- python - app_name.url 处的 Django ImproperlyConfigured 异常
- android - API 在“flutter run --release”模式下不起作用
- android - 将改造响应传递给函数或复制它
- javascript - 从 HTML 元素中提取 href 无法使用 node.js
- java - Android旋转可绘制按钮