跳至内容

为什么我的 Elastic Beanstalk 环境处于非运行状态?

2 分钟阅读
0

我想对由于 AWS CloudFormation 堆栈处于非运行状态而导致的 AWS Elastic Beanstalk 中的环境操作失败进行故障排除。

简短描述

Elastic Beanstalk 创建一个 CloudFormation 堆栈来管理与 Elastic Beanstalk 环境关联的资源。您可以在 CloudFormation 控制台中查看这个名为 awseb-envID-stack 的堆栈。

当 Elastic Beanstalk 环境进入非运行状态时,CloudFormation 堆栈显示 FAILED 状态。您会收到以下错误消息:

"The stack stack_id associated with environment environment-ID is in stack-status state."

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

要将您的 Elastic Beanstalk 环境更改为运行状态,请使用下表根据您的 CloudFormation 堆栈状态执行操作:

CloudFormation 堆栈状态CloudFormation 操作Elastic Beanstalk 操作
CREATE_FAILEDNone运行重建环境终止环境操作。
UPDATE_ROLLBACK_FAILED使堆栈进入 UPDATE_ROLLBACK_COMPLETE 状态。重试该操作。
DELETE_FAILED使堆栈进入 DELETE_COMPLETE 状态。重试该操作。
UPDATE_ROLLBACK_COMPLETENone重试该操作。
UPDATE_COMPLETENone如果堆栈先前的状态为 CREATE_FAILED,请运行重建终止操作。否则,请重试该操作。
DELETE_COMPLETENone重试该操作。
ROLLBACK_COMPLETENone运行重建环境终止环境操作。

如果 CloudFormation 堆栈的状态为 FAILED,请选择以下解决方法之一。

CREATE_FAILED 状态

当堆栈状态为 CREATE_FAILED 时,环境将无法恢复。即使堆栈状态更改为 UPDATE_COMPLETE,环境仍会出现问题。如果堆栈状态为 CREATE_FAILED,则必须创建一个新的 Elastic Beanstalk 环境。

要重新创建环境,请选择以下选项之一:

UPDATE_ROLLBACK_FAILED 状态

要使 Elastic Beanstalk 环境变为运行状态,请完成以下步骤:

  1. 打开 CloudFormation 控制台
  2. 从堆栈事件中找出在回滚期间更新失败的资源,然后解决失败问题。
  3. 使堆栈变为 UPDATE_ROLLBACK_COMPLETE 状态。为此,请在 CloudFormation 控制台中执行更新回滚
  4. Continue update rollback(继续更新回滚)对话框中,展开 Advanced troubleshooting(高级故障排除)。
  5. Resources to skip - optional(要跳过的资源 - 可选)部分,选择更新失败的资源。
  6. 选择 Continue update rollback(继续更新回滚)。现在,堆栈状态显示为 UPDATE_ROLLBACK_COMPLETE
  7. 重试返回错误的操作。

DELETE_FAILED 状态

要使 Elastic Beanstalk 环境变为运行状态,请完成以下步骤:

  1. 打开 CloudFormation 控制台
  2. 找出在堆栈事件期间删除失败的资源。
  3. 手动删除资源。例如,如果资源是安全组,请从 Amazon Elastic Compute Cloud (Amazon EC2) 控制台中删除该安全组。
  4. 从 CloudFormation 控制台中删除 CloudFormation 堆栈。已删除的堆栈状态显示为 DELETE_COMPLETE
  5. 重试终止环境重建环境操作。

有关详细信息,请参阅如何在 AWSEBSecurityGroup 删除失败时终止或重建 Elastic Beanstalk 环境?

相关信息

将您的 Elastic Beanstalk 环境从无效状态中恢复

AWS 官方已更新 7 个月前