EC2 实例拒绝连接 ssh,并且其中运行的 Web 服务器不处理任何请求 - 如何排除故障?

EC2 实例拒绝连接 ssh,并且其中运行的 Web 服务器不处理任何请求 - 如何排除故障?

我有两个 ec2 实例,它们运行不同的应用程序,这些应用程序通过 CloudFront 提供服务。今晚,两个实例同时变得无响应。任何通过 CloudFront 联系应用程序的尝试都以 504 结束。

我尝试过:

  • 重新启动实例;
  • 彻底停止它们,然后重新启动;
  • 通过控制台上的 ssh 连接 - 连接超时。
  • 使用 AWS 控制台通过 ssh 连接 - 它停留在“正在建立连接......”
  • 重新部署应用程序(通过 CodeDeploy) - 部署成功,但 Web 应用程序仍然不可用。

我发现这两个实例的 CPU 使用率都很少。我在其中一个实例上运行的一个进程正在运行,因为我在 CloudWatch 中看到了新的日志条目。还看到这两个 Web 应用程序都已成功启动。

我不知道还能做什么来解决这个问题。我怎么知道是我出了问题还是亚马逊出了问题?

答案1

ssh 和 http 服务均无响应,表明两者均已损坏,或者您的 IP 网络已损坏。以不需要 IP 的方式检查这些实例。

启动您自己的健康监控,检查 ssh 和 http 端口是否可访问。从同一子网中的本地主机以及来自互联网的外部主机。不需要花哨,只要您可以判断 22/tcp 是否可访问即可。

尝试使用文本控制台检查网络配置。AWS EC2 对于某些实例类型有一个串行控制台。

没有 shell 会让事情变得很困难。在其他地方恢复问题实例的备份,然后通过这种方式检查日志文件。

从头开始重建,看看问题是否仍然存在。建立一个与生产环境隔离的测试环境,但使用相同的基础架构模板和应用程序部署。可能在不同的区域,尽管这会引入变量。

相关内容