在尝试在 EC2 实例中运行任务时,我收到了这个可怕的错误消息。
Run tasks failed
Reasons : ["ATTRIBUTE"]
像许多其他人一样,我被推荐查看我的任务的“requiresAttributes”部分,在那里我找到了这个列表:
"requiresAttributes": [
{
"targetId": null,
"targetType": null,
"value": null,
"name": "ecs.capability.execution-role-ecr-pull"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "ecs.capability.task-eni"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "com.amazonaws.ecs.capability.ecr-auth"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "com.amazonaws.ecs.capability.task-iam-role"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "ecs.capability.execution-role-awslogs"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
},
{
"targetId": null,
"targetType": null,
"value": null,
"name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
}
]
在尝试将这些看似无用的属性添加到我的集群实例时,我被阻止了。AWS 控制台表示不允许自定义/添加某些前缀,例如 ecs。
当平台不允许时如何匹配属性?
我还研究过创建具有不同 AMI 的实例,但 Amazon ECS 不允许这样做,只是默认使用它们的最新版本。
Amazon ECS 是一个非常酷的产品,但这反映了它的一些不成熟。实际上,我是从 beanstalk 背景进入 ECS 的,希望专业套件能够像承诺的那样编排容器。相反,我在使用 3 小时后有一些合理的投诉!