【问题标题】:ECS Fargate Scheduled task cannot connect to ECRECS Fargate 计划任务无法连接到 ECR
【发布时间】:2020-04-25 02:05:15
【问题描述】:

我收到以下错误,我在 Internet 上的其他任何地方都找不到(尽管有很多类似的错误!)。 CannotPullContainerError: Error response from daemon: Get https://[clientid].dkr.ecr.eu-west-1.amazonaws.com/v2/: Unable to connect

我一直在查看以下故障排除参考:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-pull-container-api-error-ecr/

我很确定我已经完成了所有这些事情,并且对它们进行了两次或三次检查 - 我为测试所做的其他事情:

  • 通过解除端点与相关路由表的关联,消除了端点出现问题的可能性。

  • 在私有子网指向的 NAT 网关所在的公有子网中创建了一个 EC2 实例,并且在 Fargate 任务使用的私有子网中创建了一个 EC2 实例,该实例具有与 ecsTaskExecutionRole 相同的权限策略并连接到私有子网中的 EC2 实例通过公有子网中的堡垒箱。我可以使用 ECR api,例如batch-get-image 并在使用 api 提供的凭据手动登录后从 ECR 中提取 Docker 映像。

  • 已检查 ECR 存储库上没有策略。

从逻辑上讲,这会从故障排除列表中表明问题是Your AWS Identity and Access Management (IAM) role doesn't have the right permissions to pull or push images,但我使用的是ecsTaskExecutionRole specifically has these permissions

我现在完全没有想法 - 想知道我做错了什么或者是否发生了其他事情,特别是考虑到稍微不寻常的错误消息。有什么想法吗?

【问题讨论】:

  • 您能否指定您正在使用哪种“主机”(Fargate 或常规 ECS-Cluster)以及它在网络(公共/私有)子网中的位置。请检查您是否可以 ping DNS-Endpoint ([clientid].dkr.ecr.eu-west-1.amazonaws.com)。 Unable to connect 对我来说听起来像是网络问题,而不是 IAM。
  • @Maurice 标题、问题文本和标签都写成Fargate
  • @Maurice,是的,它是 Fargate。我得到 `PING proxy-eu-w-ProxyLB-xxxx,但 ping 没有响应
  • @Stev_k,你在使用任何调度策略吗?
  • @Haran,我不知道。这只是一个 cron 工作。任务运行但失败

标签: amazon-web-services amazon-ecs aws-fargate amazon-ecr


【解决方案1】:

试试这个, 检查分配给您的服务的 VPC 配置。在 VPC 设置中,确保入站规则应该对所有人开放。

【讨论】:

    【解决方案2】:

    原来是 DHCP 配置有问题。

    抱歉打扰了,但可能会帮助其他人。

    【讨论】:

    • 你能详细说明一下吗?究竟是什么解决了它?
    • 我们有一个自定义的 DHCP 设置 - 显然将其更改回默认值解决了它。或者更具体地说:domain-name = no.domain.com; domain-name-servers = 127.0.0.1, AmazonProvidedDNS;
    • 感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 2022-11-14
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2021-07-17
    • 2019-09-10
    • 1970-01-01
    相关资源
    最近更新 更多