首页 > 解决方案 > 我可以使用这些服务中的任何一个来调用要终止的实例上的脚本以通知它即将终止吗?

问题描述

我将 ASG 用于有时会比其他时候更忙的内部应用程序。这些实例都运行可能需要一些时间才能完成的 crons(从不超过 25 分钟)。当事情变得安静时,我需要能够检测到实例何时将被终止,以便我可以让任何 crons 完成并禁用任何新的 crons 触发。我看到有可以使用 SNS、SQS 或 Lambda 触发的生命周期钩子。我以前没有使用过这些服务 - 我可以使用这些服务中的任何一个来调用要终止的实例上的脚本以通知它即将终止吗?

标签: aws-lambdaamazon-sqsamazon-sns

解决方案


当触发终止您的实例的特定警报时,使用生命周期挂钩将终止保持约 25-26 分钟,并且同样的警报触发了 lambda 函数。在该 lambda 函数中,首先识别在该 ASG 下运行的实例(使用 boto3)和 paramiko(在 Linux 机器上运行命令的 python 模块)库尝试发出命令以终止实例中的脚本


推荐阅读