我想要解決由於 AWS CloudFormation 堆疊處於非操作狀態,而導致 AWS Elastic Beanstalk 中的環境操作失敗的問題。
簡短說明
Elastic Beanstalk 會建立 CloudFormation 堆疊來管理與 Elastic Beanstalk 環境相關聯的資源。您可以在 CloudFormation 主控台中使用堆疊名稱 awseb-envID-stack 檢查此堆疊。
當 Elastic Beanstalk 環境進入非操作狀態時,CloudFormation 堆疊會顯示失敗狀態。您也會收到以下錯誤訊息:
「The stack stack_id associated with environment environment-ID is in stack-status state.」
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要將您的 Elastic Beanstalk 環境切換為操作狀態,請使用下表依據您的 CloudFormation 堆疊狀態採取相應操作:
| | |
|---|
| CloudFormation 堆疊狀態 | CloudFormation 動作 | Elastic Beanstalk 動作 |
| CREATE_FAILED | 無 | 執行重建環境或終止環境操作。 |
| UPDATE_ROLLBACK_FAILED | 使堆疊處於 UPDATE_ROLLBACK_COMPLETE 狀態。 | 再嘗試操作一次。 |
| DELETE_FAILED | 使堆疊處於 DELETE_COMPLETE 狀態。 | 再嘗試操作一次。 |
| UPDATE_ROLLBACK_COMPLETE | 無 | 再嘗試操作一次。 |
| UPDATE_COMPLETE | 無 | 如果堆疊的先前狀態為 CREATE_FAILED,則執行重建或終止操作。否則,請重試該操作。 |
| DELETE_COMPLETE | 無 | 再嘗試操作一次。 |
| ROLLBACK_COMPLETE | 無 | 執行重建環境或終止環境操作。 |
如果您的 CloudFormation 堆疊處於失敗狀態,請使用以下其中一個解決方案。
CREATE_FAILED 狀態
當堆疊處於 CREATE_FAILED 狀態時,環境無法復原。即使堆疊狀態變更為 UPDATE_COMPLETE,環境仍會存在問題。如果您的堆疊具有 CREATE_FAILED 狀態,則您必須建立新的 Elastic Beanstalk 環境。
若要重新建立環境,請選取以下其中一個選項:
UPDATE_ROLLBACK_FAILED 狀態
若要將 Elastic Beanstalk 環境變更為可操作狀態,請完成以下步驟:
- 開啟 CloudFormation console (CloudFormation 主控台)。
- 從堆疊事件中識別在回復期間無法更新的資源,然後解決該失敗。
- 將堆疊變更為 UPDATE_ROLLBACK_COMPLETE 狀態。若要這樣做,請在 CloudFormation 主控台執行更新回復操作。
- 在 Continue update rollback (繼續更新回復) 對話方塊中,展開 Advanced troubleshooting (進階疑難排解)。
- 在 Resources to skip - optional (要略過的資源 - 選用) 區段中,選取無法更新的資源。
- 選擇 Continue update rollback (繼續更新回復)。堆疊現在會顯示 UPDATE_ROLLBACK_COMPLETE 狀態。
- 重試傳回錯誤的操作。
DELETE_FAILED 狀態
若要將 Elastic Beanstalk 環境變更為可操作狀態,請完成以下步驟:
- 開啟 CloudFormation 主控台。
- 識別在堆疊事件期間無法刪除的資源。
- 手動刪除資源。例如,如果資源是安全群組,則從 Amazon Elastic Compute Cloud (Amazon EC2) 主控台刪除該安全群組。
- 從 CloudFormation 主控台刪除 CloudFormation 堆疊。已刪除的堆疊會顯示 DELETE_COMPLETE 狀態。
- 重試終止環境或重建環境操作。
如需詳細資訊,請參閱當 AWSEBSecurityGroup 無法刪除時,如何終止或重建 Elastic Beanstalk 環境?
相關資訊
從非有效狀態中復原 Elastic Beanstalk 環境