更改已完成的AWS Spot请求的中断行为

时间:2018-11-22 07:25:33

标签: amazon-web-services amazon-ec2

在确切了解AWS竞价型实例如何工作之前,我配置了一个竞价请求,并将其中断行为设置为终止。据我了解,我的运行实例状态将在终止时被删除。因此,如果我没有映像备份,则无法在其最后状态下再次启动服务器。

由于竞价请求已得到满足并且实例正在运行,因此可以在我出价高时将中断行为更改为停止吗?我似乎找不到更改中断行为的选项。

2 个答案:

答案 0 :(得分:1)

根据boto3 Spot instance creation文档,如果您将实例类型设置为stop,也可以指示实例为hibernatepersistent。默认行为是terminate。此功能为added in November 2017

response = client.request_spot_fleet(
   SpotFleetRequestConfig={
     .....
     Type='one-time'|'persistent',
     'InstanceInterruptionBehavior': 'hibernate'|'stop'|'terminate'
    }

请谨慎使用它们,因为每种行为都有其优缺点,例如如果您使用休眠模式,则必须注意处理网络连接中断。对于stop,您可能希望将数据存储到另一个已安装的EBS中。

答案 1 :(得分:1)

要设置中断行为停止,我们需要注意一些要求:

  • 对于竞价型实例请求,类型必须是持久的,而不是持久的 一度。您无法在竞价型实例中指定启动组 请求。
  • 对于Spot Fleet请求,必须保持类型,而不是请求。
  • 根卷必须是EBS卷,而不是实例存储卷。

按照上述要求,我们可以将中断行为从终止更改为停止。

请参考以下网址以供参考: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html