使用 Elastic Beanstalk 负载均衡器时,是否可以通知我的 Node.js 实例即将终止?



我知道会发生一些生命周期事件,但是有没有办法让实例知道它已计划终止?我的应用程序是用node.js编写的,如果这很重要?

没有开箱即用的机制。你必须自己构建它,这不会那么复杂。但它必须涉及Amazon EC2 Auto Scaling Lifecycle Hooks。

您可以设置CloudWatch 事件规则,以便在生命周期挂钩发出autoscaling:EC2_INSTANCE_TERMINATING事件时触发 lambda。

现在,根据您尝试在实例上实现的目标,您的 lambda 必须向实例发送其处于终止状态的通知。

通常,这是通过使用 SSM 运行命令来完成的。使用此服务,lambda 将向实例发送命令。在实例上运行的 SSM 代理(假设您将实例设置为使用 SSM(将执行该命令。

但是,由于您已经运行了一个 Web 应用程序,因此 lambda 在您的应用程序上执行GET 或 POST HTTP可能会更容易。您可以在其上创建一个新的端点,例如/terminating和 lambda 只会将其调用为挂起终止的通知。

最新更新