【问题标题】:AWS Spot/OnDemand Instance ManagementAWS Spot/OnDemand 实例管理
【发布时间】:2018-05-02 13:03:43
【问题描述】:

有没有办法优雅地脚本/配置 Spot 实例请求,如果 Spot 在某些指定的持续时间内不可用,只需使用 OnDemand。如果 Spot 实例被终止,只需切换到 OnDemand。

Spot Fleet 不这样做(它只管理 Spot),EMR 车队对此有一些逻辑。您可以使用 Spot 或按需进行自动缩放,但不能同时使用两者(即使您可以有 2 个单独的 ASG 来模拟这种行为)。

这应该是某种基线用例。

当 Spot 实例启动或终止时,也会触发事件。我只看到 CLI 来检查 Spot 状态,而不是任何 CloudWatch 指标/事件。

【问题讨论】:

    标签: amazon-web-services instances ondemand


    【解决方案1】:

    Cloudwatch Instance State 事件可以在任何事件更改状态时触发。

    它们可以为实例生命周期中的任何事件触发:
    对于任何实例(或所有个实例,这可能是您想要的——只需忽略任何实例不感兴趣),这包括点播和现场。

    http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#ec2_event_type

    http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/LogEC2InstanceState.html

    您可以使用它来推出自己的解决方案——没有用于编组混合车队的内置机制。

    【讨论】:

      【解决方案2】:

      我曾经在 ELB 中通过运行状况检查来执行此操作。您可以创建两组,一组使用 Spot 实例,一组使用预留实例或按需实例。当 Spot 组包含零个健康主机时创建 CW 警报,并在触发时扩大另一个组。反之亦然,当它有足够的健康主机时,会缩小另一组。对用于放大的警报使用 30 秒运行状况检查,对缩小使用 30-60 分钟的冷却时间。

      【讨论】:

        【解决方案3】:

        还有Spotml 允许您始终保持spotInstance 或onDemand 实例正常运行。

        除了简单地生成实例之外,它还允许您

        1. 通过持久存储保存数据
        2. 并在每次生成新实例时配置启动脚本。

        披露:我也是 SpotML 的创建者,它主要用于 ML/DataScience 工作流,这些工作流基本上只能在现场实例上运行。

        【讨论】:

          猜你喜欢
          • 2017-05-25
          • 1970-01-01
          • 2017-08-30
          • 2020-12-07
          • 2016-06-30
          • 1970-01-01
          • 2020-05-12
          • 2018-07-02
          • 1970-01-01
          相关资源
          最近更新 更多