调整AWS ECS竞价请求

时间:2019-09-03 15:44:09

标签: amazon-web-services amazon-ec2 amazon-ecs

我有AWS ECS集群,但是我选择的竞价型实例类型太小。

我找不到调整Spot Fleet request ID集群使用的Instance type(s)或更改Spot Fleet request的方法。

  • 我是否必须使用新的现货机队请求创建新集群?
  • 是否有用于调整群集的cli选项?
  • 我是否已通过ECS优化的AMI手动订购EC2?

UPDATE 问题How to change instance type in AWS ECS cluster?听起来很相似,建议复制启动配置。但是我没有启动配置

enter image description here

2 个答案:

答案 0 :(得分:6)

,您可以在ECS群集中更改实例类型。我相信您已经从AWS GUI手动创建了ECS集群。在幕后,根据您从AWS控制台(ECS)的输入(例如vpc,实例类型和大小等)创建其 cloudformation模板。请遵循以下步骤。

  1. 找到名称为“ EC2ContainerService- {your-ecs-cluster-name}”的cloudfromation模板。
  2. 在“参数”标签中检查现有设置。(您可以在此处检查实例类型)。
  3. 现在您需要更新cloudformation。单击->更新->使用当前模板->下一个-> 更新EcsInstanceType变量->下一个->下一个->更新堆栈。
  4. 现在,您的cloudformation更新。现在您可以在EC2控制台中检查是否存在具有新实例类型的新竞价型舰队。

答案 1 :(得分:3)

在创建竞价型队列后,无法更改其实例类型。

如果要在其他实例类型上运行ECS工作负载,请创建一个新的现货队列(其实例可以识别您的ECS集群)。

竞价型实例启动时,它们将在您的ECS集群中注册。

一旦注册,您就可以找到旧实例(在群集视图的“ ECS实例”选项卡中),然后单击对应的复选框。

然后,转到操作->清空实例

这告诉ECS您不再希望使用这些实例。现在将在新实例上计划新任务。

所有任务都在新实例上运行之后,您可以删除旧的现货设备。

关于启动配置的主题。创建竞价型实例的集合有两种方法。

  • 通过现场舰队(这就是你在做什么)
  • 直通和自动伸缩组(ASG)

ASG允许您提供启动配置(基本上是一组用于设置EC2实例的指令。

Spot Fleets仅允许您在通过用户数据创建时自定义实例。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

由于您使用的是现货舰队,因此启动配置确实是您的考虑因素。