每次创建新实例时如何确保应用程序安装在Spot ec2实例上

时间:2019-08-20 23:49:14

标签: amazon-web-services amazon-ec2

在竞价现货ec2实例时,可以随时终止它,也可以创建一个新实例。如何确保新实例包括我安装的所有配置和应用程序?我需要使用AWS的其他任何服务来确保吗?

3 个答案:

答案 0 :(得分:2)

如果您使用的是EBS支持的实例,并且使用的是Fleet请求,则可以使用Spot休眠功能。这项工作在中断的方式下,Spot将停止实例并将状态保持到EBS根卷(包括RAM)。然后,当Spot能够根据车队策略启动实例状态时,状态将被还原,实例将继续其顺利进行。进一步阅读Spot interruption behavior

请注意,在中断期间,您的实例将无法访问。另外,实例可能需要一段时间才能还原,以等待竞价型实例,但是从经验上来说,等待是最少的。

此功能的一些建议

  • 使用EBS加密卷,因为您的RAM在休眠期间存储在EBS上。
  • 使用尽可能多的实例类来增加获得Spot的机会。例如:如果您使用的是m4.large。 (2,8),那么您还可以包含m5large,c4.xlarge和c5.xlarge。我之所以选择xlarge中的c4和c5而不是large是因为它们的内存大小与m4.large相似。我假设您的实例具有vCPU和RAM大小的权限。
  • 确保您遵循以下instruction on preparing your instance for hibernation

答案 1 :(得分:1)

启动独立的现场实例并终止时,您需要手动重新启动它。为了确保每次启动新的本地实例,请将其放入“自动缩放”组中,并在启动配置中提及所需的配置。

Launching Spot Instances in Your Auto Scaling Group

要确保每次创建新实例时都安装了应用程序,请使用codedeploy以及自动缩放功能,这将使用启动配置来旋转新实例并将新应用程序部署在新创建的实例上。

AWS CodeDeploy and Auto Scaling Integration

答案 2 :(得分:1)

如此处所述,当您请求竞价型实例时,您始终可以关联自己的AMI

Spot Instance Requests - Amazon Elastic Compute Cloud

如果要保留任何数据,则必须将EBS卷的DeleteOnTermination设置为false。在这里更多

Configure AMIs for Use With Spot Instances that Preserve EBS Volumes