

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

# 将 Elastic Beanstalk 环境从无效状态中恢复
<a name="environment-management-invalid-stack"></a>

本主题提供了一些背景信息和资源，解释了如何对处于无效状态的 Elastic Beanstalk 环境进行故障排除。

## 解决错误
<a name="environment-management-invalid-stack-fixing"></a>

如果对处于无效状态的环境执行标准操作，该等操作将会无法成功完成。失败的操作会返回包含以下文本的错误：

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

要排除和解决此错误，请参阅知识中心文章[为什么我的 Elastic Beanstalk 环境处于非运行状态？](https://repost.aws/knowledge-center/elastic-beanstalk-invalid-state)。

**注意**  
在 [2024 年 12 月 16 日](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2024-12-16-release-notes.html)之前，失败的操作会返回以下错误：`Environment is in an invalid state for this operation. Must be ready.`在这种情况下，您必须在完成更正操作后联系 Su AWS pport 以重置环境状态。  
目前，您仍然需要按照[知识中心文章](https://repost.aws/knowledge-center/elastic-beanstalk-invalid-state)中所述的说明来解决堆栈问题。但是，成功完成纠正措施后，Elastic Beanstalk 会自动将环境的状态从无效更新为可用，您可以立即恢复对环境的标准操作。

## 错误发生的原因
<a name="environment-management-invalid-stack-why"></a>

当你在 Elastic Beanstalk 中部署应用程序时，该服务会创建一个底层堆栈。 AWS CloudFormation Elastic Beanstalk CloudFormation 调用该服务来启动您的环境中的资源并传播配置更改。

如果 Elastic Beanstalk 在无法访问所需资源的环境上执行操作，则该环境 CloudFormation 的底层堆栈可能会进入故障状态。虽然权限问题是主要原因，但其他问题也可能导致这种状态。由于堆栈处于失败状态，会 CloudFormation 阻止 Elastic Beanstalk 操作请求执行进一步的堆栈更新，从而导致 Elastic Beanstalk 操作失败，例如和。 UpdateEnvironment RetrieveEnvironmentInfo

此时，您必须首先纠正潜在问题的根本原因以补救 CloudFormation 堆栈。然后，Elastic Beanstalk 服务 CloudFormation 会检测堆栈状态的变化，然后继续将您的环境重置为可用状态。这样，后续操作即可顺利完成。

权限问题通常会对 CloudFormation 堆栈和 Elastic Beanstalk 环境造成这种影响 out-of-band，尽管更改也可能导致问题。

**重要**  
为了避免对您的环境造成干扰，我们强烈建议您仅通过 Elastic Beanstalk 服务来启动管理和配置环境的操作。*使用 Elastic Beanstalk 以外的服务的控制台、CLI 命令或 SDK 修改资源 out-of-band是一种变化，它会导致资源漂移。*资源漂移会影响 CloudFormation 堆栈的状态，进而导致 Elastic Beanstalk 环境进入无效状态。  
有关资源漂移的详细信息，请参阅《AWS CloudFormation 用户指南》**中的[什么是漂移？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html#what-is-drift)