网站瘫痪,EC2 无法通过 SSH 访问,过去几个小时 CPU 利用率达到 100% - 我该怎么办?

网站瘫痪,EC2 无法通过 SSH 访问,过去几个小时 CPU 利用率达到 100% - 我该怎么办?

我在单个 EC2 实例上托管了多个网站。

  • 1 个网站“abc”瘫痪了几个小时,有时会抛出数据库连接错误,有时只是需要很长时间才能响应。
  • 1 个网站“确实”非常慢,但仍然可以运行
  • 其余网站也有同样的症状,有“abc”

我可以承受 15 分钟或更短的“def”停机时间。

那么我应该(在 AWS 控制台中)

  • 重启我的实例
  • 或者
  • 从我的实例创建一个 AMI 映像并启动它,并将我的弹性 IP 关联到新实例
  • 或者
  • “推出更多类似产品”

关于我的 EC2 可能发生的情况的背景

  • 我最后一次更改是在 21 小时前。
  • 创建快照的 cronjob 大约在 19 小时前运行,并且已经运行了很长时间。
  • Google Analytics 显示我的网站(例如 kidlander.sg)的流量并无异常。

我还应该采取其他行动或有更好的选择吗?
(我已经联系了 AWS 支持,但他们的回复时间为 12 小时,因此我很感谢他们提供的所有帮助)

更新 我让一切恢复正常运行,CPU 利用率也恢复正常,约为 30%。

“def”和“abc”以及我的其他网站之间有一个区别“def”的数据库托管在 RDS 上“abc”的数据库托管在我自己配置​​的 EC2 实例上(不同于我的 Web 服务器实例)

尽管如此,我昨天检查了我用作 MySQL 服务器的 EC2 实例,在事件发生期间它完全正常

  • CPU 利用率低
  • 我可以使用 Linux 命令行登录

答案1

重新启动它。如果不行,请停止并重新启动它。如果旧硬件被标记为不可用或有问题,这可以使实例在不同的硬件上启动。

如果你使用 EBS 卷,你不必担心丢失数据。(顺便说一下,只有终止一个实例实际上会销毁它)。

相关内容