部署AWS ECS时出错:拨号TCP:没有这样的主机

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

我正在尝试部署 ECS 任务/服务,它从私有 ECR 存储库读取。我有一个公共子网,在服务定义中启用公共 IP,并使用开箱即用的 ecsTaskExecutionRole。但是,我不断收到以下错误:

Task stopped at: 2023-08-05T21:25:48.043Z
CannotPullContainerError: pull image manifest has been retried 5 time(s): failed to resolve ref 613431292675.dkr.ecr.us-east-1.amazonaws.com/model-service-repo:latest: failed to do request: Head "https://613431292675.dkr.ecr.us-east-1.amazonaws.com/v2/model-service-repo/manifests/latest": dial tcp: lookup 613431292675.dkr.ecr.us-east-1.amazonaws.com on 172.31.0.2:53: no such host

子网配置路由表如下所示: subnet-with-public-access

我还在我的 VPC 中添加了两个 ecr 端点: ecr-endpoints

有人知道可能是什么原因造成的吗?

amazon-web-services amazon-ecs amazon-vpc amazon-ecr
1个回答
0
投票

您的 vpc 端点是否位于另一个 vpc 中,用于部署 ecs 服务?

我在另一个 vpc 中的 vpc 端点的用例中发现了这一点,因此我需要为 vpc 端点地址中的帐户 ID 添加 Route53 A 记录。即,当 ecs 尝试拉取 ecr 映像时,它会像所有其他 vpc 端点一样向“.dkr.ecr..amazonaws.com”而不是“dkr.ecr..amazonaws.com”发出请求。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.