【问题标题】:EC2 instance running Rails app becomes unreachable运行 Rails 应用程序的 EC2 实例变得无法访问
【发布时间】:2012-11-15 15:36:32
【问题描述】:

我有一个在多个 EC2 实例上运行的 rails 应用程序(使用实例存储,而不是 EBS)。经常(比看起来应该的更多),实例变得无法访问(无法 ping 或 ssh,并且 Amazon ELB 将其报告为停止服务)。但是,在 AWS 控制台中,实例仍显示为“正在运行”。重启实例无济于事——一旦实例进入这种无法访问的状态,我可以成功重启它,但重启后它仍然无法访问。唯一的选择是终止它并启动一个新实例。

任何想法为什么会发生这种情况?不幸的是,一旦实例变得无法访问,我就无法访问实例上的日志,而且在实例变得无法访问之前,我的监控软件不会显示任何特定指标的任何峰值。我可以通过 AWS 控制台访问的实例的系统日志没有提供信息(它似乎可以正常启动)。

【问题讨论】:

  • 这是非常奇怪的行为。你确定不是你的操作系统有问题吗?您是在启动全新的操作系统实例,还是只是您所拥有的快照?也许您应该与当前实例并排运行另一个默认实例(不运行任何东西),看看它是否出现相同的问题。
  • 我正在从现有的 Ubuntu AMI 启动全新的实例,然后使用橡胶安装适当的包、配置 apache、部署应用程序等。所以它一定是我的应用程序或我的配置——它似乎与底层硬件无关,因为它一直在发生。

标签: ruby-on-rails amazon-web-services amazon-ec2


【解决方案1】:

没有看到服务器很难回答。但是,您可以通过停止实例的硬盘驱动器、从中卸载 EBS 驱动器并将其附加到活动实例来检查它。然后,使用实时实例查看系统日志。我会查看硬盘驱动器是否已满(这很容易占用服务器)。如果没有,我会查看系统日志以查看是否报告了错误。

【讨论】:

  • 实例使用实例存储而不是 EBS,因此一旦实例无法访问,我认为我无法访问磁盘。我对实例的监控表明磁盘使用率不是问题(因为在实例无法访问之前它并不是特别高)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 2018-02-12
  • 2019-04-08
  • 1970-01-01
  • 2016-01-25
相关资源
最近更新 更多