我计划在不久的将来推出一些 EC2 Spot 实例,但在此之前,我有几个问题在文档中找不到答案。
我很好奇,一个 Spot 实例在终止后是否有可能重新恢复。我知道实例一旦死亡,就永远死亡了,但如果您阻止 EBS 卷终止并保留 IP 地址的租约(保留它),您是否可以动态地将它们重新分配给新生成的实例?
感谢您提供的任何帮助。
编辑:如果 S3 支持增量文件更改,那就太好了,但如果我使用它,那么此实例正在处理的整个文件每次都会重新上传,这根本行不通。此外,这不是一个可排队的任务。S3 非常适合在 Spot 实例终止期间进行数据备份和恢复。亚马逊是否为实例提供了这样做的机会?(如果动态 EBS 不可行,我只需一次将 1GB 或更少的数据移动到 S3。)
答案1
使用竞价实例的最佳方式是将 EC2 视为计算机器。
您可以利用其他服务(如 AWS SQS 和 AWS S3)来实现最佳设置。
例如,您可以使用任务列表加载 SQS,并让微型 EC2 按需读取 SQS 队列并自动启动新的 Spot 实例以从队列中取出新作业。
启动的 EC2 竞价实例可以进行计算并将结果直接发送到 S3。它可以继续从队列中挑选任务并继续将数据发送到 S3。
现货实例的另一个用例是增加计算机能力。您可以让负载平衡器尝试启动现货实例来处理额外负载,否则当需求过高时,将切换到按需实例。
虽然您可以使用 EBS 卷并将其重新附加到您的现货实例,但您应该考虑其他方法,例如 S3,因为这有助于使您的计算层(您的 EC2)更能抵御其不可避免的终止。