Auto Scaling组生命周期挂钩定期通知

时间:2018-12-06 23:00:23

标签: amazon-web-services amazon-ec2

因此,在这种情况下,Auto Scaling组中的Amazon EC2实例将终止。我的问题是我不希望它在完成任何操作之前都终止。

如果我连接了一个lambda,则lambda会检查一个指标,如果该指标> 0,则需要等待60秒。

我已经完成了此操作,问题是完成15毫米的lambda可能要花费超过最大超时时间。

如果我正确阅读,则生命周期通知只会发送一次,因此此lambda不适用于我。

还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

这是我尝试解决此问题的方式(这是需要POC,答案是理论上的):

  1. 创建Auto Scaling组
  2. 像描述的here一样,在该ASG上放置生命周期挂钩,将通知发送到Amazon SNS
  3. 为实例创建启动脚本,它将执行以下操作
    • 在实例启动时订阅SNS并启动SNS侦听器脚本
    • SNS侦听器将等待实例终止消息,并采取一切必要措施直到实例准备终止,包括如果终止需要超过1小时发送心跳并完成生命周期挂钩(described here)。这也应该处理来自SNS的取消订阅。