Агент ECS не может успешно извлечь изображение из ECR

У меня есть управляемый ECS экземпляр EC2, работающий в VPC (в одной из частных подсетей). При попытке запустить задачу в этом случае кажется, что она не может извлечь изображение. Насколько я могу судить по документации, агенту ECS не требуется специальной конфигурации для извлечения образа из репозитория.

Глядя на логи Docker, я неоднократно вижу следующее:

level=error msg="Download failed, retrying: dial tcp 54.231.17.81:443: i/o timeout"

Логи ecs-агента неоднократно показывают мне, что изображение не загружается:

Pulling image module="TaskEngine" image="REDACTED.dkr.ecr.us-east-1.amazonaws.com/REDACTED:latest" status="Retrying in 19 seconds"

В конечном итоге он пытается запустить образ, но, очевидно, не удается и выходит. Дайте мне сообщение ниже на вкладке Задачи кластера:

STOPPED (Essential container in task exited)

Эта ошибка произошла как с AMI amzn-ami-2016.03.e, так и с amzn-ami-2016.03.d

Есть ли какие-то особые правила конфигурации или сети, которые мне нужно применить, чтобы можно было извлечь из ECR?

Любая помощь здесь будет принята с благодарностью.

Как примечание: у экземпляра есть доступ к Интернету (pinging google.com работает нормально), и когда я пытаюсь извлечь изображение из Docker Hub, он также работает нормально.

0 ответов

Для загрузки изображения из ECR экземпляру контейнера требуется доступ к конечным точкам ECR/S3.

Если ваша подсеть является частной, вы должны либо использовать функцию PrivateLink, либо использовать шлюз NAT для доступа к конечным точкам ECR.

Если вы решите использовать PrivateLink, это включает в себя:

  1. Создание конечной точки VPC для Amazon ECR
  2. Создание конечной точки шлюза Amazon S3

Если вы решите использовать NatGateway, перенаправьте весь трафик на диапазоны IP-адресов AWG NATway и белого списка.

Ссылка Ссылка: https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html

Другие вопросы по тегам