【问题标题】:Amazon instances health check fails often since started auto scaling自启动 Auto Scaling 以来,Amazon 实例运行状况检查经常失败
【发布时间】:2016-01-05 20:32:09
【问题描述】:

几个月前,我们开始在暂存环境中测试亚马逊的自动缩放能力。

从那时起,我们创建了新图像并启动配置抛出了代码并每天至少更新两次自动缩放。

Auto Scaling 具有适当的冷却时间,并通过我们的应用服务器响应进行 ELB 运行状况检查。

最近,一些连接到Auto Scaling ELB的实例状态检查失败,即将终止。 通常这是自动缩放的正确行为,但这种情况经常发生。

有人可以从他的经验中看出,当长时间在一天中创建几次新图像时,检查失败状态是否会增加?

【问题讨论】:

  • 提交的状态检查实际上导致终止,或者您的 Auto Scaling 组是否配置为使用 ELB 健康检查(这可能意味着失败的 ELB 健康检查导致实例终止)? Auto Scaling 控制台中Scaling History 选项卡中提供的解释是什么?
  • Elb 运行状况检查,通知 Auto Scaling 终止。但问题是状态检查失败是否是每次从新图像自动缩放创建的实例的典型情况。

标签: amazon-web-services amazon-ec2


【解决方案1】:

在 Amazon EC2 实例上执行两种类型的状态检查

来自Status Checks for Your Instances

系统状态检查

监控使用您的实例所需的 AWS 系统,以确保它们正常工作。这些检查会检测您的实例中需要 AWS 参与才能修复的问题。当系统状态检查失败时,您可以选择等待 AWS 解决问题,也可以自行解决(例如,通过停止和启动实例,或通过终止和替换实例)。

以下是可能导致系统状态检查失败的问题示例:

  • 网络连接中断
  • 系统断电
  • 物理主机上的软件问题
  • 物理主机上的硬件问题

实例状态检查

监控您的单个实例的软件和网络配置。这些检查检测需要您参与修复的问题。当实例状态检查失败时,通常需要您自己解决问题(例如,通过重启实例或更改实例配置)。

以下是可能导致实例状态检查失败的问题示例:

  • 系统状态检查失败
  • 网络或启动配置不正确
  • 内存耗尽
  • 文件系统损坏
  • 内核不兼容

状态检查和自动缩放

Auto Scaling 没有理由导致状态检查失败次数增加。使用的 AMI 可能存在问题(例如不兼容的内核),但在 Auto Scaling 下运行该 AMI 与在 Auto Scaling 之外运行它没有什么不同。尝试使用不带 Auto Scaling 的 AMI 启动 Amazon EC2 实例,看看它是否会导致失败。

Auto Scaling 和 ELB 健康检查

Auto Scaling 也可以配置为使用 ELB 健康检查。这是 Auto Scaling '信任' ELB 健康检查并在 ELB 确定实例不健康时终止实例的地方。这种健康检查的好处是ELB可以检查特定的URL或端口,这比仅使用上述状态检查更准确。

配置不当的 ELB 运行状况检查可能会导致 Auto Scaling 通过杀死实例并再次启动它们来“颠簸”。在应用 ELB 运行状况检查之前,请务必提供足够的冷却时间以允许实例启动。

【讨论】:

    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2014-04-20
    • 2019-12-16
    • 1970-01-01
    • 2014-01-06
    • 2020-10-28
    • 2020-01-08
    • 1970-01-01
    相关资源
    最近更新 更多