我想在 Amazon Elastic Container Service (Amazon ECS) 中放置任務。但是,我收到下列錯誤:「[AWS service] was unable to place a task because no container instance met all of its requirements」。
簡短描述
由於下列其中一或多個原因,您可能會收到此錯誤:
- 在您的叢集中找不到任何容器執行個體
- 任務所需的連接埠已在使用中
- 記憶體不足,無法執行您的任務
- 您的容器執行個體沒有足夠的 CPU 單位
- 沒有足夠的可用彈性網路介面連接點
- 您的容器執行個體遺失必要屬性
如需有關這些問題的詳細資訊,請參閱服務事件訊息。
**注意:**如果您沒有收到上述錯誤訊息,請根據您收到的下列其中一則錯誤訊息選擇文章:
解決方法
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI。
若要解決錯誤,請根據您的使用案例選擇解決方法:
ecs-cli check-attributes --task-def Task_Definition --container-instances Container_Instance --cluster Cluster_Name
注意: 對於 Task_Definition 名稱,輸入您的任務定義名稱。對於 Container_Instance,輸入容器執行個體的名稱。對於 Cluster_Name,輸入叢集的名稱。
- 您可以將 Amazon ECS 服務設定為在與容器執行個體的子網路不同的子網路上執行。在這種情況下,即使任務因遺失屬性錯誤而失敗,ecs-cli-check-attributes 命令的輸出也會針對遺失屬性顯示無。請確定您的服務和容器執行個體的子網路相符。為此,請在容器執行個體所在的子網路中重新建立 Amazon ECS 服務。如需詳細資訊,請參閱任務定義參數和 Amazon ECS 容器代理程式組態。
例如,如果您執行下列命令:
ecs-cli check-attributes --task-def task:1 --container-instances 650cf1df296749e1bce1b9e0cebb588a --cluster test-cluster
輸出看起來類似於:
Container Instance Missing Attributes
tes-cluster None
如需詳細資訊,請執行命令:
ecs-cli --help
相關資訊
Amazon ECS 任務聯網
服務限流邏輯