CannotPullContainerError:引用拉取已重试 1 次:复制失败:httpReadSeeker:打开失败,出现 403 错误

问题描述 投票:0回答:1

我最近在私有子网中设置了 ECS Fargate 服务,但在启动过程中出现

CannotPullContainerError: ref pull has been retried 1 time(s): failed to copy: httpReadSeeker: failed open: unexpected status code https://xxx.dkr.ecr.ap-southeast-2.amazonaws.com/v2/xxx/blobs/sha256:xxx: 403 Forbidden
错误。我自己做了一些故障排除,检查了私有子网路由、ACL、服务任务执行角色和安全组,这些看起来都是正确的(与正在运行的环境相比)。但我仍然遇到这个错误,我希望得到一些帮助,非常感谢!

检查了 VPC 私有子网和 ACL - 路由到 VPC 内的本地,通过 NAT GW 路由到 0.0.0.0。 ACL 现在允许所有流量用于故障排除。

ECS 任务执行角色 - 允许 ecr:* 以进行故障排除。

ECS 安全组 - 服务端口 (8080) 上的所有流量

我还发现了一些令人困惑的地方,错误包含一个 URL:

https://xxxx.dkr.ecr.ap-southeast-2.amazonaws.com/v2/xxx/blobs/sha256:xxxx
,并且sha与ECR图像sha不同,不确定这是否是预期的。

amazon-ecs aws-fargate
1个回答
0
投票

AWS ECR 服务将图像层存储在 S3 中。因此,您应该确保 S3 网关端点的策略不会拒绝对 ECR 的访问。

有关如何调整策略的更多信息,请务必检查以下AWS 文档

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.