我可以使用CloudWatch警报扩展AWS竞价型实例吗?

时间:2014-08-13 02:34:29

标签: amazon-web-services amazon-ec2 amazon-sqs amazon-cloudwatch

我需要对图像进行一些服务器端操作。通常,这些图像会以某个标称级别上传或导入我们的系统,但偶尔会添加一个客户,该客户需要同时处理大量图像。虽然这些确实需要在合理的时间内进行处理,但是以较低的速度处理这些较大的工作比快速完成这些工作更为重要。

因此,我希望使用AWS竞价型实例来保持成本尽可能低,保持最高出价相对固定(在需要时手动更改),同时向上移动所需数量的实例当队列中的消息数量波动时。

我是AWS的新手,但这是我迄今为止尝试过的(所有这些都来自AWS管理控制台)......

  1. 创建一个SQS队列以保存传入的图像处理任务消息
  2. 创建两个CloudWatch警报
    • ScaleIn ,在 ApproximateNumberOfMessagesVisible < = 1持续300秒时发出提醒
    • ScaleOut ,在 ApproximateNumberOfMessagesVisible >时发出警报1 300秒
  3. 创建一个启动配置,设置为为竞价型实例支付一些最高出价金额
  4. 创建一个Auto Scaling组,使用我的启动配置自动缩放0到n个实例。
  5. 向Auto Scaling组添加两个扩展策略
    • 减少组大小,当 ScaleIn 警报触发时删除1个实例
    • 增加组大小,在 ScaleOut 警报触发时添加1个实例
  6. 然后我使用SQS管理控制台手动添加几条测试消息。警报似乎正在触发,但在Auto Scaling组的缩放历史记录选项卡中反复显示以下消息...

    Description: Description Placing Spot instance request. Status Reason: Max spot instance count exceeded. Placing Spot instance request failed.
    Cause: Cause At 2014-08-12T23:12:51Z a difference between desired and actual capacity changing the desired capacity, increasing the capacity from 0 to 1.
    

    可以通过这种方式在Auto Scaling组中控制竞价型实例的最大数量吗?如果我按照相同的步骤,而是创建常规的EC2 Auto Scaling组/启动配置(不是现场实例),则组中的实例数会按预期增长和缩小。

1 个答案:

答案 0 :(得分:4)

根据this AWS doc,您可以在一个区域中拥有最大数量的专色实例:

  

现货申请限额

     

默认情况下,您仅限于区域中的总共5个竞价型实例请求。新的AWS账户可能有较低的限制。目前,实例类型T2,I2和HS1在Spot上不可用。此外,并非所有地区都提供某些实例类型。 (有关实例类型的信息,请参阅实例类型。)

听起来你正在碰到这一点 - 你需要填写this form来请求增加限额。

相关问题