為什麼我的 Elastic Beanstalk 環境處於無效狀態?

1 分的閱讀內容
0

我想在處於 AWS Elastic Beanstalk 環境時,對錯誤「此操作的環境處於無效狀態。必須準備就緒」進行疑難排解。

簡短說明

當您收到此錯誤時,請確定環境中沒有正在進行的操作。如果有進行中的操作,則必須根據自己的需求等待更新完成,或取消進行中的更新。當環境再次準備就緒時,您可以重新開始更新。如果環境中沒有進行中的操作,且您仍然收到錯誤,則您的環境可能處於無法復原狀態。此狀態會阻止在環境中執行進一步的操作。如果您需要將環境恢復為可用狀態的進一步協助,請聯絡 AWS Support。不過,在聯絡 AWS Support 之前,您可以先檢查一些事項。

解決方法

Elastic Beanstalk 會在後端建立 AWS CloudFormation 堆疊,以管理與環境相關聯的資源。您可以在 CloudFormation 主控台中檢查名為 awseb-(env-ID)-stack 的此堆疊。

當 Elastic Beanstalk 環境進入無法復原狀態時,CloudFormation 堆疊會顯示 *_FAILED 狀態。在 AWS Support 團隊可將環境變更為可用狀態之前,堆疊必須顯示 *_COMPLETE 狀態。

若要更正 CloudFormation 堆疊的 *_FAILED 狀態,請根據堆疊狀態執行下列步驟:

"UPDATE_ROLLBACK_FAILED" 狀態

1.    導覽至 CloudFormation 主控台。然後,從相應堆疊事件中識別在回復期間無法更新的資源。

2.    從 CloudFormation 主控台選取繼續更新回復選項,以讓堆疊進入 UPDATE_ROLLBACK_COMPLETE 狀態。

3.    在繼續更新回復對話方塊中,展開進階疑難排解。在要略過的資源 - 選用區段中,選取無法更新的資源。

4.    選擇繼續更新回復。堆疊現在會顯示 UPDATE_ROLLBACK_COMPLETE 狀態。

5.    聯絡 AWS Support 團隊以將環境變更為可用狀態。

6.    當環境處於可用狀態時,您可以對環境執行進一步的更新。

"DELETE_FAILED" 狀態

1.    導覽至 CloudFormation 主控台。然後,從相應堆疊事件中識別無法刪除的資源。

2.    手動刪除無法刪除的資源。例如,如果無法刪除的資源是安全群組,請從 Amazon Elastic Compute Cloud (Amazon EC2) 主控台將其刪除。

3.    從 CloudFormation 主控台刪除 CloudFormation 堆疊。堆疊現在會顯示 DELETE_COMPLETE 狀態。

4.    聯絡 Elastic Beanstalk 支援團隊以將環境變更為可用狀態。

5.    當環境為可用狀態時,您可以重新建置或終止環境。

"CREATE_FAILED" 狀態

如果您的堆疊具有此狀態,則最好建立一個新的 Elastic Beanstalk 環境,然後終止目前環境。這是因為堆疊的狀態不夠穩定,無法執行回復。最佳實務是不對目前環境執行進一步的更新。

終止目前環境之前,請嘗試下列動作:

  • 如果您希望新環境具有類似的組態,請利用儲存的組態
  • 執行藍/綠部署,並在新環境正常運作時,在兩個環境的網址之間執行 CNAME 交換。
AWS 官方
AWS 官方已更新 1 年前