选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

对 Amazon A EC2 uto Scaling 中运行不正常的实例进行故障排除

聚焦模式
对 Amazon A EC2 uto Scaling 中运行不正常的实例进行故障排除 - Amazon A EC2 uto Scaling

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以下是 Amazon A EC2 uto Scaling 返回的错误消息、潜在原因以及您可以采取的解决问题的步骤。

要检索错误消息,请参阅查看运行状况检查失败原因

由于实例状态检查失败, EC2 实例已停止服务

问题:Auto Scaling 实例未通过亚马逊 EC2 状态检查。

原因 1:如果存在导致亚马逊 EC2 认为您的 Auto Scaling 组中的实例受损的问题,Amazon A EC2 uto Scaling 将在运行状况检查中自动替换这些实例。

解决方案 1:当实例状态检查失败时,通常必须通过更改实例配置来自行解决问题,直到应用程序不再出现任何问题。要解决该问题,请完成以下步骤:

  1. 手动创建不属于 Auto Scaling 组的 Amazon EC2 实例,然后调查问题。有关调查受损实例的一般帮助,请参阅 Amazon EC2 用户指南中的对状态检查失败的实例进行故障排除

  2. 在确认实例已成功启动且运行状况良好后,请将新的、无错误的实例配置部署到 Auto Scaling 组。

  3. 删除您创建的实例以免对 AWS 账户继续产生费用。

由于运行 EC2 状况检查显示该实例已终止或停止,该实例已停止服务

问题:已停止、重新启动或终止的 Auto Scaling 实例将被替换。

原因 1:用户已手动停止、重新启动或终止实例。

解决方案 1:如果您需要停止或重启自动扩缩组中的实例,则建议您首先将实例置于备用状态。有关更多信息,请参阅 临时从 Auto Scaling 组中移除实例

原因 2:在亚马逊竞价服务中断竞价型实例后,Amazon A EC2 uto Scaling 会尝试替换 EC2 竞价型实例,因为竞价价格上涨幅度超过您的最高价格或容量不再可用。

解决方案 2:无法保证在任何给定时间点存在竞价型实例来满足请求。但是,您可以尝试以下操作:

  • 使用更高的 Spot 最高价(可能是按需价格)。通过将最高价格设置得更高,Amazon EC2 Spot 服务有更好的机会启动和维持所需的容量。

  • 通过在多个可用区中运行多个实例类型,增加您可以从中启动实例的不同容量池的数量。有关更多信息,请参阅 Auto Scaling 组具有多个实例类型和购买选项

  • 如果您使用多个实例类型,请考虑启用容量再平衡功能。如果您希望 Amazon EC2 Spot 服务在正在运行的实例终止之前尝试启动新的竞价型实例,这将非常有用。有关更多信息,请参阅 使用容量重新平衡来处理 Amazon EC2 Spot 中断

原因 3:对于容量块,Amazon 会在容量块结束前 30 分钟 EC2 终止所有仍在运行的实例。这种突然终止会导致您的自动扩缩组尝试启动新实例以维持其所需容量,即使容量块即将结束。

解决方案 3:要解决此问题,请尝试以下操作:

实例因 ELB 系统运行状况检查失败而停止服务

问题:Auto Scaling 实例可能通过 EC2 状态检查。但是,它们可能无法对已注册 Auto Scaling 组的目标组或经典负载均衡器进行 Elastic Load Balancing 运行状况检查。

原因 1:如果您的 Auto Scaling 组依赖于 Elastic Load Balancing 提供的运行状况检查,则 Amazon A EC2 uto Scaling 会通过检查状态检查和 Elastic Load Balancing 运行 EC2 状况检查的结果来确定您的实例的运行状况。负载均衡器通过向每个实例发送请求并等待正确响应或与实例建立连接来执行运行状况检查。实例未能通过 Elastic Load Balancing 运行状况检查,可能是因为实例中运行的应用程序发生问题,导致负载均衡器将实例视为停止服务。

解决方案 1:要通过 Elastic Load Balancing 运行状况检查,请执行以下操作:

  • 验证目标组的运行状况检查设置是否已正确配置。您定义每个目标组的负载均衡器的运行状况检查设置。有关更多信息,请参阅 配置目标的运行状况检查

  • 记住负载均衡器所需的成功代码,并且验证应用程序已正确配置为在成功时返回这些代码。

  • 验证负载均衡器和 Auto Scaling 组的安全组是否已正确配置。

  • 验证负载均衡器是否配置在与 Auto Scaling 组相同的可用区中。

解决方案 2:更新 Auto Scaling 组以禁用 Elastic Load Balancing 运行状况检查。有关如何禁用这些运行状况检查的说明,请参阅将 Elastic Load Balancing 负载均衡器附加到自动扩缩组

原因 2:运行状况检查宽限期与实例启动时间不匹配。

解决方案 3:编辑自动扩缩组的运行状况检查宽限期。将宽限期设置为足够长的时间段,以支持 Elastic Load Balancing 认为新启动的实例正常之前运行状况检查所需的连续成功次数。有关更多信息,请参阅 设置自动扩缩组的运行状况检查宽限期

其他资源

如果您遇到其他问题,请参阅以下 AWS re:Post 文章以获取更多疑难解答帮助:

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。