AWS / EC2 - 最初正在运行的实例,尽管仍在运行,但仍无法访问。

时间:2015-12-30 21:27:28

标签: amazon-web-services ssh amazon-ec2

简而言之:

简单 - 单一练习ec2实例意外地从网格中掉落,即使它们仍在运行,我必须继续重新创建它们,如果没有,ssh访问或在线公共DNS访问将导致 "超时"

坚果壳外的更多细节:)

我跟随setting up a LAMP server instructions跟随" T"并成功提供了基本的HTML页面。

一切正常:

  • 我可以ssh进入实例没问题
  • 在线访问公共DNS时 - 预期的html页面呈现正常。

问题:

然而,随机安静,我无法再通过ssh访问实例,甚至在线,公共DNS也无法访问。

在这两种情况下,他们只是"超时"

配置:

  • 基本免费套餐
  • Amazon Linux AMI 2015.09.1(HVM),SSD卷类型
  • t2.micro
  • 实例数 - 1
  • 自动分配公共IP(已启用)
  • 端口 - 22(我的IP),80(0.0.0.0),443(0.0.0.0)
  • 使用密钥对

问题:

通常会导致实例冻结的原因是什么?

1 个答案:

答案 0 :(得分:0)

EC2上的LAMP堆栈非常常见,你所遵循的指南非常受欢迎,并且已经使用多年,所以你可能在某个地方出错或者问题更加险恶。

如果您无法通过任何方式访问该实例,则听起来它已经过载。除非您不小心更改了AWS端的防火墙规则(例如安全组,NACLS)或实例级别的某些内容(例如IP表)。

在您的安全组上打开ICMP并尝试ping该实例,看看您是否收到回复。

在您验证了所有防火墙并且尝试通过各种方式连接到它之后,请查看日志,它们是您的朋友。

要检查日志,请从AWS级别开始。 CloudWatch会记录有关您的实例的大量数据 - CPU利用率,网络输入和输出出更多。通过AWS控制台检查所有这些,确保您选择“最大”统计信息而不是“平均值”。另外,请查看“StatusCheckFailed_System”(硬件问题)和“StatusCheckFailed_Instance”(实例未响应健康检查探针)指标,看看他们是否有任何故事要讲述。有关详细信息,请参阅文档herehere

接下来,重启实例并尝试停止启动并通过SSH重新连接。检查应用程序日志(如果有),并检查您的Apache LogsLinux Logs,看看发生了什么。

但要回答你的问题,通常会导致实例冻结的原因如下:

  • 糟糕的应用程序代码,导致所有CPU重载实例
  • 超载实例的流量太多
  • 在无法处理的实例上运行太多服务
  • AWS硬件问题 - 罕见