我想在 Amazon Elastic Container Service (Amazon ECS) 中部署任務,但我收到以下錯誤:「[AWS 服務] 無法放置任務,因為沒有容器執行個體符合其所有需求。」
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,那麼請參閱 AWS CLI 錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
如果您的容器執行個體遺失一個需求,則 Amazon ECS 無法部署任務。若要解決沒有容器執行個體符合其所有需求的錯誤,請檢查錯誤詳細資訊,然後完成相關的疑難排解步驟。
當您的叢集中沒有容器執行個體時,就會發生此問題。若要解決此問題,新增容器執行個體至叢集。此外,請確定您的容器執行個體並不會無法註冊至 Amazon ECS 叢集。
當在指定作業放置的容器執行個體上執行的 Amazon ECS 容器代理程式中斷連線時,您會收到此錯誤。若要解決此錯誤,請參閱如何解決 Amazon ECS 中服務的「最佳配對 container-instance container-instance-id 發生 "AGENT" 錯誤」?
當容器執行個體所需的連接埠已在執行個體中使用時,您會收到此錯誤。您無法在同一個連接埠上執行多個任務。若要解決此問題,請將更多執行個體容器新增至叢集。或者,若要允許任務使用容器執行個體上的任何可用連接埠,請使用動態連接埠對應。
如果您收到記憶體不足、GPU 不足 或 CPU 不足的錯誤,請檢查每個工作和容器執行個體使用的資源。若要解決此錯誤,請執行下列操作:
如需** CPU 不足**的詳細資訊,請參閱如何解決 Amazon ECS 中的 "the closest matching container-instance container-instance-id has insufficient CPU units available" 錯誤?
針對 Amazon ECS 容器執行個體使用動態擴展功能,以根據 CPU 或記憶體資源使用情況,自動將更多執行個體新增至叢集。監控 CpuUtilized 和 MemoryUtilized Amazon CloudWatch 指標,以識別系統的臨界值。然後,使用目標追蹤步驟擴展,或是步驟和簡易擴展政策,以根據該臨界值來擴展 Auto Scaling 群組。如需如何監控資源使用量的詳細資訊,請參閱容器監控。
如果容器執行個體沒有可用的彈性網路介面連接點,請減少任務和任務複本的數量。或者,將更多容器執行個體新增至您的叢集。如果問題仍然存在,請使用 awsvpcTrunking 來增加 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的彈性網路介面密度。
**注意:**若要安裝 ecs-cli,請參閱 GitHub 網站上的 amazon-ecs-cli。
當您的任務定義包含需要容器執行個體中遺失的容器執行個體屬性參數時,您會收到此錯誤。
若要檢查遺失屬性,請執行 check-attributes Amazon ECS 命令行介面 (ECS CLI) 命令:
$ ecs-cli check-attributes --container-instances container-instance --cluster cluster-name --region region-code --task-def task-def-name
**注意:**使用容器執行個體名稱取代 container-instance,cluster-name 取代為叢集名稱,region-code 取代為 AWS 區域,task-def-name 取代為任務定義。
此命令的輸出顯示所遺失的必要屬性表格。
您可以將 Amazon ECS 服務設定為在與容器執行個體的子網路不同的子網路上執行。在這種情況下,即使任務因遺失屬性錯誤而失敗,ecs-cli-check-attributes 命令的輸出也會針對遺失屬性顯示無。您的服務和容器執行個體的子網路相符。若要解決此問題,請在容器執行個體所在的子網路中重新建立 Amazon ECS 服務。如需詳細資訊,請參閱 Amazon ECS 任務定義參數。
如果您使用放置限制將工作放置在特定執行個體,請確定容器執行個體支援選取屬性或限制。
例如,針對 distinctinstance,每個作用中任務都放置在不同的容器執行個體上。如果有 5 個任務和 3 個容器執行個體可用,則任務放置會失敗,並且您會收到無法滿足限制的錯誤。若要解決 dinstinctinstance 的問題,請將更多容器執行個體新增至叢集。
Amazon ECS 疑難排解
建立 ECS 服務
如何對在我的容器結束時停止或無法啟動的 Amazon ECS 任務進行疑難排解?
檢視 Amazon ECS 服務事件訊息