首页 文章

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

提问于
浏览
3

我需要对图像进行一些服务器端操作 . 通常情况下,这些图像会以某种标称级别上传或导入我们的系统,但偶尔会添加一个客户,其中包含需要一次处理的大量图像 . 虽然这些确实需要在合理的时间内处理,但是廉价地处理这些较大的工作比快速完成这些工作更重要 .

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

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

  • 创建SQS队列以保存传入的图像处理任务消息

  • 创建两个CloudWatch警报

  • ScaleIn ,当 ApproximateNumberOfMessagesVisible <= 1持续300秒时发出警报

  • ScaleOut ,当 ApproximateNumberOfMessagesVisible > 1持续300秒时发出警报

  • 创建启动配置,设置为为竞价型实例支付一些最高出价金额

  • 创建一个Auto Scaling组,使用我的启动配置在0和n个实例之间自动缩放 .

  • 向Auto Scaling组添加两个扩展策略

  • Decrease Group Size ,在 ScaleIn 警报触发时删除1个实例

  • Increase Group Size ,在 ScaleOut 警报触发时添加1个实例

然后,我使用SQS管理控制台手动添加几条测试消息 . 警报似乎正在触发,但在Auto Scaling Group的Scaling History选项卡中反复显示以下消息...

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 回答

  • 4

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

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

    听起来你需要填写're bumping into that - you'来请求增加限制 .

相关问题