我已经在私有子网中定义了Fargate任务(没有互联网访问)。我定义了端点(PrivateLinks),用于: s3 (网关)、ecr.api、ecr.dkr、ecr.logs (接口)。我在s3网关和ecr中添加了443/TCP上的出口。我在vpc中设置了enable_dns_hostnames = true enable_dns_support = true。我得到了奇怪的错误,我不知道如何排除:CannotPullContainerError: ref pull has been retried 5 time(s): failed to copy: httpReaderSeeker: failed open: failed to do request: Get https://prod-eu-west-2-starport-layer-bucket.s3.eu-west-2.amazonaws.com/
有什么想法吗?今天我花了7个小时看医生,但没有成功.我用的是Fargate 1.40。
发布于 2022-03-24 16:34:34
"CannotPullContainerError“似乎表明ECS无法从ECR或dockerhub或任何您试图从其中提取容器的地方获取容器。
如果您的ECS TaskDefinition指向ECR中的容器,那么ECS将尝试从那里提取它。而且,它只能在TaskDefinition具有从ECR中提取容器的权限的TaskExecutionRole的情况下才能从ECR中提取它。
您能否确认您的ECS TaskDefinition有一个具有适当ecr特权的ECS TaskExecutionRole?
发布于 2022-04-12 09:06:51
当您看到我们试图从S3:https://prod-eu-west-2-starport-layer-bucket...获得预先签名的URL时。这意味着我们已经传递了权限问题,并且在试图从AWS管理的networking issue获取ECR图像工件时遇到了S3。
这可能是由下列一个或一些问题引起的:
setting
遵循此文档并逐行检查可能有助于调试问题:https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html
https://stackoverflow.com/questions/66551702
复制相似问题