我们在AWS EC2中运行具有自动缩放功能的nodejs。
当负载增加/减少时,自动量程被触发。在这里,我们希望在AWS实例终止之前触发/捕获nodejs中的事件(因为缩小)以在nodejs中执行某些代码。
答案 0 :(得分:1)
您需要向自动缩放组添加Auto Scaling Lifecycle Hook。通过添加EC2_INSTANCE_TERMINATING
挂钩,您的实例将从Terminating
状态转变为Terminating:Wait
状态。完成生命周期操作后,实例将进入Terminating:Proceed
状态。当实例完全终止时,它们将进入Terminated
状态。
在Terminating:Wait
状态期间,您可以运行NodeJS流程。
有多种方法可以通知已进入Terminating:Wait
状态的实例。这里有很好的讨论选项:
How to detect state of aws instance from inside of itself?