我有一个自动缩放组,EC2实现custom health。 有时候,运行状况检查失败,实例被终止并被替换。如何调试自定义运行状况检查失败的EC2实例
运行状况检查本身是作为在实例上运行的shell脚本实现的。如果检测到问题,它会通过AWS API通知自动缩放组:
aws autoscaling set-instance-health --instance-id $instance --health-status Unhealthy
的问题是唯一的,我没有什么检查失败的信息,通知旁边:
原因:在2017-06-13T09:11:47Z一个实例因服务于用户健康检查而停止服务
什么是建议调试这类问题的方法。有没有办法让AWS只停止实例而不终止它们,因此可以检查它们的磁盘状态?
(首先我想到了“启用终止保护”,但是从我的理解这不会有所作为,在这里。自动缩放组仍然会终止情况下,当通过一个失败的定制健康检查被要求关机。 )
您的情况是使用ELB健康检查的Auto Scaling组吗? –
@JohnRotenstein不,这是一项自定义健康检查。我有一个本地脚本运行,当它检测到有什么问题时,会通过AWS API(“aws autoscaling set-instance-health”)通知自动调整组。 –
@JohnRotenstein我会更新我的问题,所以现在这个信息是覆盖。 –