Sco*_*ith 7 amazon-ec2 amazon-web-services
我的 AWS 自动扩展组中的 EC2 实例都在运行 1-4 小时后终止。确切的时间各不相同,但当它发生时,整个组在几分钟内就会倒下。
每个的缩放历史描述很简单:
在 2016-08-26T05:21:04Z,一个实例被停止服务以响应 EC2 运行状况检查,表明它已终止或停止。
但我没有添加任何健康检查。EC2 状态检查实例生命周期内的所有通过。
我如何确定这种“健康检查”失败的实际含义?
大多数关于 ASG 终止的问题都会回到负载平衡器,但我没有负载平衡器。该集群处理批处理作业,最小/最大/期望值由基于系统中其他地方的工作负载积压的软件控制。
ASG 历史记录不指示缩减事件,并且实例也都明确地受到缩减保护。
我尝试将运行状况检查宽限期设置为 20 小时,看看这是否至少让实例保持运行状态,以便我可以检查它,但它们仍然会终止。
实例正在运行 ECS AMI,而 ECS 正在容器中运行单个任务,在启动时启动。该任务的日志看起来很正常,并且在实例消失前几分钟前一切似乎都在愉快地运行。
该任务是 CPU 密集型的,但是当我让它休眠六个小时时仍然会发生错误。
这里有一些建议:
在目标群体部分,确认健康检查和目标(注册的目标和自己的状态,和健康的的可用性区域。
要使用 AWS 控制台修改目标组的运行状况检查设置,请选择Target Groups,然后编辑Health checks。
在 ASG(EC2 的Auto Scaling 组)中,检查Details(对于Termination Policies)、Activity History(对于终止消息)、Instances(对于它们的Health Status)、Scheduled Actions和Scaling Policies。
默认情况下,如果没有 ELB,ASG 将仅使用实例状态检查。然而,您收到的实际消息“实例已停止服务,以响应 EC2 运行状况检查,表明它已被终止或停止”听起来更像是实例关闭时的操作系统或某人(或某个进程)启动了停止或终止命令。这些是现货实例吗?这是您在竞价实例终止时将看到的内容。
归档时间: |
|
查看次数: |
5972 次 |
最近记录: |