问题描述
在使用AWS EC2实例进行数据分析时,每两个小时会收到一些数据,需要由一组工作节点进行分析。这些工作节点通常在两个小时内完成任务(通常在90分钟内完成)。
在这种情况下,最经济的解决方案是什么?
1. 使用持续时间为2小时的Spot blocks?
2. 使用预留的EC2实例群?
用户对Spot blocks的可用性表示担忧,因为数据必须在接收后的2小时内立即处理。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
Spot instances(包括Spot blocks)不适合需要在特定时间范围内完成的任务,因为它们的可用性是不确定的。Spot容量是AWS提供的闲置容量,因此可能无法保证容量的可用性。尽管Spot blocks的价格较低,但由于容量可能不可用,因此可能无法按时启动。
以下是关于Spot blocks的一些重要信息:
– Spot blocks是为一段固定时间而设计的,因此它们比其他Spot实例更不容易被中断。
– 但是,Spot blocks在启动后仍然可能被中断。
– 在某些情况下,由于Amazon EC2的容量需求,Spot blocks可能会被中断。在这种情况下,AWS会提供两分钟的警告,然后终止实例。即使您使用了被终止的实例,也不会收取费用。
– Spot blocks的可用性是不确定的,因为无法公开访问当前被标记为参与Spot市场的计算容量的信息。
– Spot定价算法在2017年进行了修改,以遮蔽了之前可以从实时定价中获得的信号。这对于那些没有积极操纵系统的客户来说是一个好事。
方案2
预留的EC2实例是一种更可靠的选择,适用于需要在特定时间范围内完成任务的情况。预留实例是您在AWS上预先购买的实例,可以根据您的需求进行灵活的使用。以下是使用预留实例的一些优点:
– 预留实例提供了更高的可用性和可靠性,因为您已经预先购买了实例。
– 您可以根据自己的需求选择不同类型的预留实例,包括标准预留实例、可转换预留实例和区域预留实例。
– 预留实例可以帮助您节省成本,因为它们的价格通常比按需实例更低。
综上所述,对于需要在特定时间范围内完成任务的情况,使用预留的EC2实例是最可靠和经济的选择。
注意:以上解决方案仅供参考,具体选择应根据您的具体需求和预算来决定。