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 使用便利的升級程序,因此可能會出現幾秒鐘的停機時間。使用滾動部署將部署對您生產環境的影響降到最低。

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

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

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

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

醫療保健

事件:CPU使用率超過 95.00%

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

事件:E lastic Load Balancermyapp 運作良好的執行個體

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

事件:E lastic Load Balancermyapp 找不到

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

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

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

組態

事件:您無法同時使用 Elastic Load Balancing 目標選項與應用程式健康狀態檢查選項的值來設定彈性 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 的內容

事件:在碼頭文件中找不到EXPOSE指令,中止部署

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

事件:無法下載驗證憑證 repository from bucket name

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

事件:活動執行失敗,因為WARNING:身份驗證配置文件無效

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

FAQ

問題:如何將我的應用程序URL從我的應用程序更改為我的應用程序?

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

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

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

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

若要變更環境的執行個體類型,請移至環境組態頁面,並在執行個體組態類別中選擇編輯。然後,選擇新的執行個體類型,然後選擇 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>:false如〈AWS CLI 參考〉中所述。

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

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