已停止(CannotPullContainerError:API错误(500)?

我在Amazon Fargate集群上运行任务时遇到此错误。以前有人见过这个吗

到文档中寻找这个问题的答案

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_cannot_pull_image.html

由于您遇到一个500错误,我将听取第一个错误描述中的建议,“请;“连接超时”:

当Fargate任务启动时,它的弹性网络接口需要一条到internet的路由来提取容器图像。如果在启动任务时收到类似于以下的错误,这是因为不存在到internet的路由:

CannotPullContainerError:API错误(500):获取https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http:在等待连接时请求已取消

要解决此问题,您可以:

  • 对于公用子网中的任务,请在启动任务时为自动分配公用IP指定已启用

  • 对于私有子网中的任务,在启动任务时为自动分配公共IP指定禁用,并在VPC中配置NAT网关以将请求路由到internet

如果您遇到与ECS任务相关的任何其他问题,如未启动或启动时出现异常行为,请查看ECS故障排除主题的完整列表

我遇到了一个类似的错误(404而不是500),但是,任务显示它正在运行,即使详细状态列出了一个错误

事实证明,ecs任务无法承担与任务关联的角色(在本例中,该角色与运行该任务的EC2实例的角色相同)。将以下信任关系语句添加到角色解决了此问题:

{
&“效果”:“允许”;,
&“委托人”:{
&“服务”:“ecs tasks.amazonaws.com”;
},
&“行动”:“sts:假设角色”;
}

有关更多详细信息,请参阅任务执行角色的特定页面

发表评论