AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

通知和问题排查

本页列出了常见问题的示例原因消息和指向更多信息的链接。原因消息显示在环境控制面板中,当运行状况问题在多次检查中持续出现时,原因消息将记录在事件中。

部署

Elastic Beanstalk 监视您的环境以确保一致的后续部署。如果滚动部署失败,则在您的环境中的实例上运行的应用程序版本可能会不同。如果部署在一个或多个批次上成功,但在所有批次完成前失败,则可能出现这种情况。

在总共 5 个实例的 2 个实例上发现不正确的应用程序版本。预期版本“v1”(deployment 1)。

在环境实例上发现了不正确的应用程序版本。预期版本“v1”(deployment 1)。

环境中部分或所有实例上没有运行预期的应用程序版本。

不正确的应用程序版本“v2”(deployment 2)。预期版本“v1”(deployment 1)。

部署到实例的应用程序与预期版本不同。如果部署失败,则预期版本重置为最近成功部署的版本。在以上示例中,第一个部署 (版本“V1”) 成功,但第二个部署 (版本“V2”) 失败。任何运行“V2”的实例将被视为运行状况不佳。

要解决此问题,请启动另一个部署。您可以重新部署以前已知可以正常工作的版本,或者配置您的环境在部署和重新部署新版本期间忽略运行状况检查,以强制部署完成。

您还可以确定和终止运行错误应用程序版本的实例。Elastic Beanstalk 将使用正确版本启动实例来替换任何您终止的实例。使用 EB CLI 运行状况命令来确定运行错误应用程序版本的实例。

应用程序服务器

15% 的 HTTP 请求出错,错误消息为 HTTP 4xx

20% 的 ELB 请求出现 HTTP 4xx 错误。

实例环境的 HTTP 请求中有很大一部分失败,错误消息为 4xx。

400 系列状态代码表示用户发出了一个错误请求,如请求了不存在的页面 (404 未找到文件) 或用户无法访问 (403 禁止访问)。少量的 404 是正常的,但如果数量多,则可能表示存在指向不可用的页面的内部或外部链接。可以通过修复错误的内部链接并为错误的外部链接添加重定向来解决这些问题。

5% 的请求失败,错误消息为 HTTP 5xx

3% 的 ELB 请求失败,错误消息为 HTTP 5xx。

实例环境的 HTTP 请求中有很大一部分失败,错误消息为 500 系列状态代码。

500 系列状态代码表示应用程序服务器遇到了内部错误。这些问题表示应用程序代码中存在错误,应该快速加以确定和修复。

95% 的 CPU 正在使用中

对于一个实例,运行状况代理将会报告极高百分比的 CPU 使用率并将实例运行状况设置为警告降级

请扩展您的环境以减少实例的负载。

工作线程实例

20 条消息正在队列中等待(25 秒前)

向您的工作线程环境的队列添加请求的速度超过了处理这些请求的速度。请扩展您的环境以增加容量。

5 条消息位于死信队列中(15 分钟前)

工作线程请求重复失败,正在添加到死信队列。请检查死信队列中的请求以了解它们失败的原因。

其他资源

4 个活动实例小于 Auto Scaling 组的最小大小 5

在您的环境中运行的实例数少于为 Auto Scaling 组配置的最小数量。

Auto Scaling 组 (groupname) 通知已删除或修改

为 Auto Scaling 组配置的通知已在 Elastic Beanstalk 外部修改。