我想要解決由於 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." (與環境 ENVIRONMENT-ID 相關聯的堆疊 STACK-ID 處於 STACK-STATUS 狀態。)
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,則請參閱對 AWS CLI 進行錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要將您的 Elastic Beanstalk 環境處於操作狀態,請執行下表中與 CloudFormation 堆疊狀態相關聯的操作:
| | |
---|
CloudFormation 堆疊狀態 | CloudFormation 動作 | Elastic Beanstalk 動作 |
CREATE_FAILED | 無 | 執行重建環境或終止環境操作 |
UDPATE_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 環境。
選擇以下選項來重新建立環境:
如果仍然無法建立新環境,請完成以下步驟:
- 如果存在阻止建立新環境的問題,請解決堆疊失敗的根本原因。
- 建立新環境。若要這樣做,請終止目前的環境,然後再次執行 CreateEnvironment 操作。或者,透過主控台重建環境,或執行 rebuild-environment 命令。
UPDATE_ROLLBACK_FAILED 狀態
若要將 Elastic Beanstalk 環境置於可操作狀態,請完成以下步驟:
- 開啟 CloudFormation 主控台。
- 從相應堆疊事件中識別在回復期間無法更新的資源,然後解決該失敗。
- 將堆疊處於 UPDATE_ROLLBACK_COMPLETE 狀態。若要這樣做,請在 CloudFormation 主控台中選擇 Continue update rollback (繼續更新回復) 選項。
- 在 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 環境?