为什么对于无响应的实例,Amazon EC2 状态检查会成功?

为什么对于无响应的实例,Amazon EC2 状态检查会成功?

危险!

除非您准备好应对崩溃和/或强制重启系统,否则请不要运行此命令来“测试”它。

我采取的步骤:

我期望实例状态检查失败。但是,20 多分钟后,两个状态检查都继续通过。实例对 SSH 和 ping 没有响应,尽管 nmap 报告端口 22 已打开。

我希望使用状态检查来确定实例是否响应并让其自动缩放组终止并替换它,但看起来我无法做到这一点。

我有两个问题:

  1. 为什么实例通过了两项状态检查?
  2. 有没有其他解决方案(除了每月支付 18 美元购买未用于平衡负载的负载平衡器)来终止无响应的实例?我可以用 CloudWatch 警报做些什么吗?
    • 理想情况下,我希望能够让实例定期报告其运行状况,如果它在一定时间内无法报告,则终止它(并让我的自动缩放组处理其余部分)。

我的 SSH 会话:

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-57-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Thu Jul  9 18:50:39 UTC 2015

  System load: 0.0               Memory usage: 7%   Processes:       47
  Usage of /:  16.8% of 7.75GB   Swap usage:   0%   Users logged in: 0

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud


Last login: [[redacted]]
ubuntu@ip-172-31-18-225:~$ :(){ :|: & };:
[1] 1218
ubuntu@ip-172-31-18-225:~$ -bash: fork: Cannot allocate memory
-bash: fork: Cannot allocate memory
Connection to 52.2.62.141 closed.

编辑:因此,我真正的目标是缩小状态检查所检查的内容与检查我的应用程序是否正在运行之间的差距。如果状态检查确实检查内核是否正常运行,那么在我看来,我可以使用内核软件看门狗(如 softdog 内核模块)来缩小这一差距。

  • 状态检查是否实际检查内核是否正常运行?
  • 如果状态检查表明内核正在运行,这是否一定意味着我加载的所有内核模块都在正常运行?

答案1

无响应 != 无心跳。内核仍在运行。AWS 无法知道您已耗尽所有内存。

AWS Cloudwatch 监控实际上只是您应该做的最低限度的事情。如果您需要更详细的监控,则需要自行实施。

答案2

由于状态检查已经确保内核已启动,因此使用软件狗内核模块。虽然这是一个软件看门狗定时器,但它是一个内核模块,这意味着任何看门狗本身无响应的情况也会被实例状态检查由 AWS 执行,进而会终止 EC2 实例。

以下是我在安装脚本中所做的操作(这是一个 Ubuntu AMI):

cat >>/etc/modules <<EOF
softdog
EOF

apt-get install watchdog

cat >>/etc/watchdog.conf <<EOF
interval = 10
logtick = 60
max-load-1 = 24
max-load-5 = 18
max-load-15 = 12
min-memory = 65536
watchdog-device = /dev/watchdog0
ping = 8.8.8.8
interface = eth0
test-binary = /path/to/my/health/check/script.sh
test-timeout = 30
realtime = yes
priority = 1
EOF

...other setup stuff...

reboot

# If you don't want to reboot, you can instead do:
modprobe softdog
service watchdog restart

相关内容