有没有办法优雅地编写/配置Spot实例请求,如果Spot在指定时间内不可用,只需使用OnDemand即可。如果Spot实例被终止,只需切换到OnDemand即可。
Spot Fleet不这样做(它只管理Spot),EMR Fleet围绕这一点有一些逻辑。你可以使用Spot或on Demand进行自动缩放,而不是两者兼而有之(即使你可以用两个单独的ASG来模拟这一行为)。
这应该是某种基本用例。
当Spot实例启动或终止时,事件也会被触发。我只看到用于检查Spot状态的CLI,而不是任何CloudWatch指标/事件。
发布于 2017-11-19 13:02:16
Cloudwatch实例状态事件可以在任何事件更改状态时触发。
它们可以在实例生命周期中的任何事件中触发:
对于任何实例(或者对于所有实例,这可能是您想要的--忽略任何不感兴趣的实例)的挂起(正在启动)、正在运行(启动完成)、关闭、停止和终止,这包括按需和spot。
http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#ec2_event_type
http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/LogEC2InstanceState.html
您可以使用它来推出您自己的解决方案--没有用于封送混合车队的内置机制。
发布于 2017-11-19 13:08:23
我以前在ELB做过健康检查。您可以创建两个组,一个包含spot实例,另一个包含保留实例或按需实例。当spot组健康主机数为零时,创建CW告警,并在另一组触发时进行扩容。另一方面,当它有足够的健康宿主时,就会缩小另一组的规模。在警报上使用30秒的健康检查,用于扩展和30-60分钟的冷却。
发布于 2021-11-17 01:42:30
还有Spotml,它允许您始终保持spotInstance或onDemand实例的启动和运行。
除了简单地派生实例之外,它还允许您
披露:我也是SpotML的创建者,它主要用于ML/DataScience工作流,这些工作流基本上只能在spot实例上运行。
https://stackoverflow.com/questions/47372905
复制相似问题