我需要对图像进行一些服务器端操作 . 通常情况下,这些图像会以某种标称级别上传或导入我们的系统,但偶尔会添加一个客户,其中包含需要一次处理的大量图像 . 虽然这些确实需要在合理的时间内处理,但是廉价地处理这些较大的工作比快速完成这些工作更重要 .
因此,我想使用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 回答
根据this AWS doc,您可以在一个区域中拥有最大数量的专色实例:
听起来你需要填写're bumping into that - you'来请求增加限制 .