首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试自定义健康检查失败的EC2实例

如何调试自定义健康检查失败的EC2实例
EN

Stack Overflow用户
提问于 2017-06-13 09:51:11
回答 1查看 1.5K关注 0票数 0

我有一个使用EC2实现习俗健康的自动缩放组。有时,健康检查失败,实例被终止和替换。

健康检查本身作为运行在实例上的shell脚本实现。如果发现问题,它将通过AWS API通知自动缩放组:

代码语言:javascript
复制
aws autoscaling set-instance-health --instance-id $instance --health-status Unhealthy

问题只是除了通知之外,我没有关于哪些检查失败的信息:

原因:在2017-06-13T09:11:47Z,一个实例因用户健康检查而退出服务。

调试这类问题的推荐方法是什么。是否有办法使AWS只停止实例而不是终止它们,这样就可以检查它们的磁盘状态了吗?

(首先,我想到了“启用终止保护”,但据我理解,在这里,这不会有什么区别。当失败的自定义健康检查请求关闭时,自动标度组仍将终止这些实例。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-13 13:29:07

使用set-instance-health命令告诉自动缩放实例是不健康的,需要替换。然后自动缩放将终止不健康的实例并启动一个新实例来替换它。

如果希望对不健康的实例执行法医分析,请使用命令将其从自动缩放组中删除

从指定的自动缩放组中移除一个或多个实例。在实例被分离之后,您可以独立于自动缩放组来管理它们。 如果没有指定减少所需容量的选项,自动缩放将启动实例以替换,替换已分离的实例。 如果有一个经典负载均衡器附加到自动缩放组,则实例将从负载平衡器中取消注册。如果有附加到自动缩放组的目标组,则实例将从目标组中取消注册。

因此,不要调用set-instance-health,而是调用detach-instances (并可选择地替换它)。然后可以调试实例。如果您希望将其发回服务,请使用aws autoscaling attach-instances

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44518005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档