本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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執行個體啟動...
您環境執行個體類型的可用性可能較低,或者您已達到帳戶的執行個體配額。檢查服務運作狀態儀表板
組態
事件:您無法同時使用 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指令,中止部署
Dockerfile
或 dockerrun.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 資源並將其與應用程式相關聯,則可能需要手動檢查應用程式可能已儲存的個人資訊是否未保留。在這整個開發人員指南中,我們無論何時討論建立其他資源,都會提及何時應該考慮刪除。