#amazon-web-services #amazon-ecr #fargate
Вопрос:
Ищу совета о том, чего мне не хватает. Контейнер Fargate не запускается с ошибкой CannotPullContainerError: Error response from daem
ИЗМЕНИТЬ: Более длинный ответ на ошибку
Status reason CannotPullContainerError: Error response from daemon: Get https://{account}.dkr.ecr.{region}.amazonaws.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Я создал VPC не по умолчанию с блоком CIDR 50.10.0.0/16
. В VPC у меня есть 3 общедоступные подсети с подключенным интернет-шлюзом и таблицей маршрутов подсети в 0.0.0.0/0
качестве записи. (Я могу запустить экземпляр EC2 в этих подсетях, он получил общедоступный IP-адрес, и я могу подключиться к нему по SSH.) Мой VPC также DNS hostname
включен и DNS resolution
включен.
На стороне определения задачи я создал задачу Fargate с использованием network mode = awsvpc
, требует FARGATE compatibility
и пытается извлечь контейнер из частного ECR , который выглядит так {account}.dkr.ecr.{region}.amazonaws.com/{imagename}:latest
. Запуск контейнера я использую платформу v1.3.0
и включаю AUTO-ASSIGN PUBLIC IP
. В моей группе безопасности я разрешаю All Traffic
как входящие, так и исходящие 0.0.0.0/0
сообщения . Для своей роли я использую ту, которая имеет следующие правила:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:*",
"secretsmanager:*",
"ssm:*",
"logs:*",
"sqs:*",
"s3:*",
"ecr:*",
"ecs:*",
"ec2:*"
],
"Resource": "*"
}
]
}
и доверенные лица для ecs.amazonaws.com
и. ecs-tasks.amazonaws.com
Наблюдая за задачей по мере ее PENDING
STOPPED
выполнения , я вижу, что ENI получает общедоступный IP-адрес. Всегда я получаю одну и ту же ошибку. Заранее спасибо!
Ответ №1:
Я все понял…У меня были неправильно настроены параметры DHCP.