本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
本主题提供了一些背景信息和资源,解释了如何对处于无效状态的 Elastic Beanstalk 环境进行故障排除。
解决错误
对处于无效状态的环境的标准操作将无法成功完成。失败的操作将返回包含以下文本的错误:
The stack stack_id
associated with environment environment-ID
is in stack-status
state.
要排除和解决此错误,请参阅知识中心文章为什么我的 Elastic Beanstalk 环境处于
注意
在 2024 年 12 月 16 日之前,失败的操作会返回以下错误:Environment is in an invalid state for this operation. Must be ready.
在这种情况下,您必须在完成更正操作后联系 Su AWS pport 以重置环境状态。
今天,您仍然必须按照参考知识中心文章
为什么会出现错误
当你在 Elastic Beanstalk 中部署应用程序时,该服务会创建一个底层堆栈。 AWS CloudFormation Elastic Beanstalk AWS CloudFormation 调用该服务来启动您的环境中的资源并传播配置更改。
如果 Elastic Beanstalk 在无法访问所需资源的环境上执行操作,则该环境 CloudFormation 的底层堆栈可能会进入故障状态。尽管权限问题是主要原因,但其他问题也可能导致这种状态。由于堆栈处于失败状态,会 AWS CloudFormation 阻止 Elastic Beanstalk 操作请求执行进一步的堆栈更新,从而导致 Elastic Beanstalk 操作失败,例如和。 UpdateEnvironment RetrieveEnvironmentInfo
此时,您必须首先纠正潜在问题的根本原因以补救 CloudFormation 堆栈。然后,Elastic Beanstalk 服务 CloudFormation 会检测堆栈状态的变化,然后继续将您的环境重置为可用状态。此时,进一步的操作可以成功完成。
权限问题通常会对 CloudFormation 堆栈和 Elastic Beanstalk 环境造成这种影响 out-of-band,尽管更改也可能导致问题。
重要
为避免对您的环境造成干扰,我们强烈建议您仅通过 Elastic Beanstalk 服务启动管理和配置环境的操作。使用控制台、CLI命令或 SDK Elastic Beanstalk 以外的服务修改资源 out-of-band是一种变化,它会导致资源漂移。资源漂移会影响 CloudFormation 堆栈的状态,进而导致 Elastic Beanstalk 环境进入无效状态。
有关资源漂移的更多信息,请参阅什么是漂移? 在《AWS CloudFormation 用户指南》中。