![在 AWS 自动扩展组中保持死亡实例处于活动状态以供分析](https://linux22.com/image/719045/%E5%9C%A8%20AWS%20%E8%87%AA%E5%8A%A8%E6%89%A9%E5%B1%95%E7%BB%84%E4%B8%AD%E4%BF%9D%E6%8C%81%E6%AD%BB%E4%BA%A1%E5%AE%9E%E4%BE%8B%E5%A4%84%E4%BA%8E%E6%B4%BB%E5%8A%A8%E7%8A%B6%E6%80%81%E4%BB%A5%E4%BE%9B%E5%88%86%E6%9E%90.png)
我们在 AWS 上的一个小型自动扩展组(通常为 2-4 个实例)中运行一些 Web 服务器。其健康检查基于 ELB 健康检查,因此如果其中一个 Web 服务器停止响应,它将被新实例替换。
目前运行良好。如果发生中断,则无响应的服务器将被终止,并启动新的服务器来代替它们。
问题是我们目前不知道服务器宕机的原因。我们从一些日志中得出了一些怀疑,但我们无法再登录服务器,查看网络日志、系统日志或其他任何东西。
我知道有一种方法可以手动从自动扩展组中分离实例,但是有没有办法在发生故障时自动执行此操作?
我希望的是,当服务器发生故障时,它仍会继续运行,但会从自动扩展组中删除,这样我们就可以对其进行分析,看看出了什么问题。一个明显的优势是限制这种情况发生的频率,这样如果出于某种原因它继续循环服务器,我们就不会最终得到数百个分离的实例。
那么这可以以某种方式实现吗?如果可以,怎么做?
答案1
有一些方法可以做到这一点。
您可以在 ASG -> 详细信息 -> 编辑 -> 暂停进程 -> “终止”中暂停“终止”操作。不会终止任何机器。
您还可以从 ASG -> 实例 -> 操作 -> 实例保护来保护特定实例。
然后,还有一些创造性的方法,比如当事件发生时将实例从 ASG 中踢出。