Elastic Beanstalk 故障診斷 - 類別和 FAQs - AWS Elastic Beanstalk

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Elastic Beanstalk 故障診斷 - 類別和 FAQs

本主題依類別提供更具體的故障診斷提示。

建立環境並啟動執行個體

事件:啟動環境失敗

當 Elastic Beanstalk 嘗試啟動環境卻遭遇失敗,就會發生此事件。Events (事件) 頁面上的過去事件將提醒您此問題的根源。

事件:建立環境操作已完成,但出現命令逾時。嘗試增加逾時期間。

若您使用的組態檔案會在執行個體上執行命令、下載大型檔案或安裝套件,部署您的應用程式可能會花費較長時間。增加命令逾時,讓應用程式在部署期間有更多時間來啟動。

事件:無法建立下列資源:(AWSEBInstanceLaunchWaitCondition】

此訊息表示您環境的 Amazon EC2執行個體未與 Elastic Beanstalk 通訊,表示已成功啟動。若執行個體沒有網際網路連線,本情況就可能會發生。如果您將環境設定為在私有VPC子網路中啟動執行個體,請確定子網路具有NAT允許執行個體連線至 Elastic Beanstalk 的 。

事件:本區域需要服務角色。請將「服務角色」選項新增至環境。

Elastic Beanstalk 會使用服務角色來監控環境中的資源,並支援受管平台更新。如需更多資訊,請參閱管理 Elastic Beanstalk 服務角色

部署

問題:部署期間無法使用應用程式

由於 Elastic Beanstalk 使用便利的升級程序,因此可能會出現幾秒鐘的停機時間。使用滾動部署將部署對您生產環境的影響降到最低。

事件:無法建立 AWS Elastic Beanstalk 應用程式版本

您的應用程式原始碼套件可能過於龐大,或者您可能已達到應用程式版本配額

事件:更新環境操作已完成,但出現命令逾時。嘗試增加逾時期間。

若您使用的組態檔案會在執行個體上執行命令、下載大型檔案或安裝套件,部署您的應用程式可能會花費較長時間。增加命令逾時,讓應用程式在部署期間有更多時間來啟動。

醫療保健

事件:CPU使用率超過 95.00%

嘗試執行更多執行個體,或選擇不同的執行個體類型

事件:Elastic Load Balancer awseb-myapp 具有零運作狀態良好的執行個體

如果您的應用程式似乎正常運作,請確定應用程式的運作狀態檢查URL已正確設定。如非此情況,請檢查運作狀態畫面及環境日誌以取得更多資訊。

事件:Elastic Load Balancer awseb -myapp 找不到

您環境的負載平衡器可能已移除 out-of-band。使用組態選項及 Elastic Beanstalk 提供的擴充功能,僅變更您環境的資源。重建您的環境或啟動新的環境。

事件:EC2執行個體啟動失敗。正在等待新EC2執行個體啟動...

您環境執行個體類型的可用性可能較低,或者您已達到帳戶的執行個體配額。檢查服務運作狀態儀表板,以確保 Elastic Compute Cloud (AmazonEC2) 服務為綠色,或請求增加配額

組態

事件:與環境stack_id相關聯的堆疊environment-ID處於 stack-status 狀態

您環境的基礎 AWS CloudFormation 堆疊可能處於 *_FAILED 狀態。必須修復此狀態,才能繼續在您環境中的 Elastic Beanstalk 操作。如需詳細資訊,請參閱從無效狀態復原您的 Elastic Beanstalk 環境

事件:您無法為 Elastic Load Balancing Target 選項和 Application Healthcheck 選項設定具有值的 Elastic Beanstalk 環境 URL

Target 命名空間的 aws:elb:healthcheck 選項已作廢。請自環境移除 Target 選項命名空間,然後再嘗試更新。

事件:ELB無法連接到相同 AZ 中的多個子網路

若您嘗試在相同可用區域的子網路間移動負載平衡器,將出現此訊息。變更負載平衡器上的子網路,需要將其移出原始可用區域,然後將所需子網路移回原始可用區域。在此過程中,您的所有執行個體都會在 之間遷移AZs,造成重大停機時間。相反地,請考慮建立新的環境並執行CNAME交換

Docker 容器故障診斷

事件:無法擷取 Docker 映像檔:最新的:無效的儲存庫名稱 (),僅允許 [a-z0-9-_.]。針對日誌執行 tail 指令以取得詳細資訊。

使用JSON驗證器檢查 dockerrun.aws.json 檔案的語法。另外也請根據 準備 Docker 映像以部署至 Elastic Beanstalk 中所說明的要求,來驗證 dockerfile 的內容

事件:在 Dockerfile 中找不到EXPOSE指令,中止部署

Dockerfiledockerrun.aws.json 檔案並未宣告容器的通訊埠。使用 EXPOSE 指令 (Dockerfile) 或 Ports 區塊 (dockerrun.aws.json 檔案) 來公開傳入資料用的通訊埠。

事件:無法repository從 下載身分驗證憑證 bucket name

.dockercfg 檔案dockerrun.aws.json提供無效的EC2金鑰對和/或 S3 儲存貯體。或者,執行個體描述檔沒有 S3 儲存貯體 GetObject 的授權。確認.dockercfg檔案包含有效的 S3 儲存貯體和EC2金鑰對。將 動作的許可授予執行個體設定檔中s3:GetObjectIAM的角色。如需詳細資訊,請參閱 管理 Elastic Beanstalk 執行個體描述檔

事件:活動執行失敗,因為:WARNING:無效的身分驗證組態檔案

您的身分驗證檔案 (config.json) 格式不正確。請參閱在 Elastic Beanstalk 中使用來自私人存儲庫的圖像

FAQ

問:如何將我的應用程式URL從 myapp.us-west-2.elasticbeanstalk.com 變更為 www.myapp.com?

在DNS伺服器中註冊CNAME記錄,例如 www.mydomain.com CNAME mydomain.elasticbeanstalk.com

問:如何為我的 Elastic Beanstalk 應用程式指定特定的可用區域?

您可以使用 APIs、、CLIEclipse 外掛程式或 Visual Studio 外掛程式來挑選特定的可用區域。如需有關使用 Elastic Beanstalk 主控台來指定可用區域的詳細資訊,請參閱Auto Scaling您的 Elastic Beanstalk 環境執行個體

問:如何變更我的環境內的執行個體類型?

若要變更環境的執行個體類型,請移至環境組態頁面,並在執行個體組態類別中選擇編輯。然後,選擇新的執行個體類型,然後選擇 Apply (套用) 以更新您的環境。在此之後,Elastic Beanstalk 會終止所有執行中的執行個體,並取代為新的執行個體。

問:如何判斷是否有人對環境做出組態變更?

若要查看此資訊,請在 Elastic Beanstalk 主控台的導覽窗格中,選擇 Change history (變更歷史記錄) 以顯示所有環境的組態變更清單。此清單包含變更的日期和時間、變更後的組態參數和值,以及進行變更IAM的使用者。如需詳細資訊,請參閱變更歷史記錄

問題:我可以防止執行個體終止時刪除 Amazon EBS磁碟區嗎?

您環境中的執行個體會使用 Amazon EBS進行儲存;不過,當 Auto Scaling 終止執行個體時,根磁碟區會遭到刪除。不建議將狀態或其他資料存放於您的執行個體。如有需要,您可以使用 來防止磁碟區遭到刪除 AWS CLI:$ aws ec2 modify-instance-attribute -b '/dev/sdc=<vol-id>:falseAWS CLI 參考中所述。

問:如何從我的 Elastic Beanstalk 應用程式刪除個人資訊?

AWS 您的 Elastic Beanstalk 應用程式使用的資源可能會存放個人資訊。當您終止環境時,Elastic Beanstalk 會終止其建立的所有資源。使用組態檔案所新增的資源也會終止。不過,如果您在 Elastic Beanstalk 環境之外建立 AWS 資源,並將這些資源與您的應用程式建立關聯,您可能需要手動檢查應用程式可能儲存的個人資訊是否未保留。在這整個開發人員指南中,我們無論何時討論建立其他資源,都會提及何時應該考慮刪除。