我有两个 ec2 实例,它们运行不同的应用程序,这些应用程序通过 CloudFront 提供服务。今晚,两个实例同时变得无响应。任何通过 CloudFront 联系应用程序的尝试都以 504 结束。
我尝试过:
- 重新启动实例;
- 彻底停止它们,然后重新启动;
- 通过控制台上的 ssh 连接 - 连接超时。
- 使用 AWS 控制台通过 ssh 连接 - 它停留在“正在建立连接......”
- 重新部署应用程序(通过 CodeDeploy) - 部署成功,但 Web 应用程序仍然不可用。
我发现这两个实例的 CPU 使用率都很少。我在其中一个实例上运行的一个进程正在运行,因为我在 CloudWatch 中看到了新的日志条目。还看到这两个 Web 应用程序都已成功启动。
我不知道还能做什么来解决这个问题。我怎么知道是我出了问题还是亚马逊出了问题?
答案1
ssh 和 http 服务均无响应,表明两者均已损坏,或者您的 IP 网络已损坏。以不需要 IP 的方式检查这些实例。
启动您自己的健康监控,检查 ssh 和 http 端口是否可访问。从同一子网中的本地主机以及来自互联网的外部主机。不需要花哨,只要您可以判断 22/tcp 是否可访问即可。
尝试使用文本控制台检查网络配置。AWS EC2 对于某些实例类型有一个串行控制台。
没有 shell 会让事情变得很困难。在其他地方恢复问题实例的备份,然后通过这种方式检查日志文件。
从头开始重建,看看问题是否仍然存在。建立一个与生产环境隔离的测试环境,但使用相同的基础架构模板和应用程序部署。可能在不同的区域,尽管这会引入变量。