AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
¿Cómo puedo solucionar los errores «CannotPullContainerError» cuando inicio una tarea de EC2 en Amazon ECS?
Cuando inicio una tarea de Amazon Elastic Compute Cloud (Amazon EC2) en Amazon Elastic Container Service (Amazon ECS), se muestra el error «CannotPullContainerError».
Descripción corta
El error CannotPullContainerError se produce por los siguientes motivos:
- Una tarea de tipo inicio de Amazon EC2 no puede extraer la imagen porque configuró la red de forma incorrecta.
- Un rol de AWS Identity and Access Management (IAM) no tiene permisos para extraer imágenes.
- Ha alcanzado la cuota de velocidad de DockerHub.
- El nombre o la etiqueta de la imagen no existen.
- La definición de la tarea hace referencia a una imagen que se encuentra en otra cuenta de AWS.
Resolución
Uso del runbook AWSSupport-TroubleshootECSTaskFailedToStart para solucionar problemas
Para solucionar los problemas de las tareas de Amazon ECS que no se inician, utilice el runbook AWSSupport-TroubleshootECSTaskFailedToStart. Cuando ejecute el runbook, debe usar el ID de la tarea fallida más reciente. Si la tarea fallida forma parte de un servicio de Amazon ECS, use la tarea fallida más reciente del servicio. La tarea fallida debe estar visible en ECS:DescribeTasks durante la automatización. De forma predeterminada, las tareas de Amazon ECS están visibles durante 1 hora después de entrar en el estado Detenido.
Para iniciar el runbook, consulte AWSSupport-TroubleshootECSTaskFailedToStart. Según el resultado de la automatización, utilice una de las siguientes resoluciones.
Importante: Use el runbook AWSSupport-TroubleshootECSTaskFailedToStart en la misma región de AWS en la que se encuentran los recursos del clúster de Amazon ECS.
La configuración de red de su instancia de contenedor de Amazon ECS es incorrecta
Si su instancia de contenedor de Amazon ECS no tiene conexión a Internet, no podrá llegar al punto de enlace de Amazon Elastic Container Registry (Amazon ECR). Sin una conexión al punto de enlace, la instancia no podrá extraer la imagen. Para comprobar que su instancia de contenedor de Amazon ECS tiene acceso a Internet, lleve a cabo las siguientes acciones:
- Confirme que sus instancias tengan acceso a Internet a través de una puerta de enlace de Internet o una puerta de enlace NAT. Para solucionar problemas de conectividad de la puerta de enlace NAT, consulte ¿Por qué mi instancia de Amazon EC2 de una subred privada no puede conectarse a Internet mediante una puerta de enlace NAT?
Nota: Puede usar AWS PrivateLink en lugar de una puerta de enlace NAT. Para evitar errores, asegúrese de configurar correctamente AWS PrivateLink. - Compruebe que se permite el acceso HTTPS entrante a través del puerto 443 en los niveles de instancia, grupo de seguridad y lista de control de acceso de la red (ACL de la red). Para solucionar problemas de conectividad de la puerta de enlace de Internet, consulte ¿Por qué mi instancia de Amazon EC2 no puede acceder a Internet mediante una puerta de enlace de Internet?
- Si utiliza un punto de enlace de nube virtual privada (VPC) para conectarse a un punto de enlace de Amazon ECR, compruebe los grupos de seguridad de las instancias de contenedor de Amazon ECS. Permita que su instancia de contenedor de Amazon ECS envíe tráfico a grupos de seguridad para el punto de enlace de VPC.
- Si recibe el mensaje de error CannotPullContainerError: Error de API, consulte ¿Cómo puedo resolver las tareas de Amazon ECS que no pueden extraer imágenes de Amazon ECR?
Su rol de IAM no tiene permisos para extraer imágenes
Confirme que el rol de IAM de la instancia asociado al perfil de instancia tenga permisos para acceder al repositorio de Amazon ECR.
Nota: La política administrada de AWS AmazonEC2ContainerRegistryReadOnly proporciona los permisos mínimos necesarios para extraer imágenes.
Se alcanza el límite de velocidad de extracción de DockerHub
Si está intentando extraer una imagen de DockerHub y ha alcanzado la cuota de velocidad de extracción, recibirá el mensaje de error siguiente:
«CannotPullContainerError: la inspección de la imagen se ha vuelto a intentar 5 veces: httpReaderSeeker: failed open: unexpected status code https://registry-1.docker.io/v2/manifests/sha256:2bb501e6429 Demasiadas solicitudes: mensaje del servidor: toomanyrequests:»
Para resolver este problema, consulte ¿Cómo puedo resolver el error «CannotPullContainerError: Ha alcanzado su límite de velocidad de extracción» en Amazon ECS?
El nombre o la etiqueta de la imagen no existen
Si define una imagen o etiqueta alojada en Amazon ECR pero la imagen o la etiqueta no existen, recibirá el siguiente mensaje de error:
«Cannotpullcontainererror: se ha vuelto a intentar extraer el manifiesto de la imagen 1 vez: no se pudo resolver la referencia 123456789.dkr.ecr.ap-southeast-2.amazonaws.com/image-name:tag: 123456789**.dkr.ecr.ap-southeast-2.amazonaws.com/image-name:tag: not found**»
Para resolver este problema, compruebe que el campo de imagen tenga el valor correcto en la definición de la tarea. Confirme que el repositorio correspondiente y la etiqueta existan en el registro de contenedores del que se va a realizar la extracción.
Si la tarea extrae una imagen de un registro distinto de Amazon ECR y le falta información, recibirá otro error distinto. Si la imagen no existe, la etiqueta no existe o no ha proporcionado las credenciales del registro, se mostrará el error siguiente:
«Cannotpullcontainererror: pull image manifest has been retried 1 time(s): failed to resolve ref docker.io/library/invalid-name:non-existenttag: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed»
Para resolver este problema, verifique el campo de imagen en la definición de la tarea. Confirme que la imagen existe en el registro de contenedores correspondiente. Si la imagen existe, asegúrese de proporcionar las credenciales correctas. Para obtener más información, consulte Uso de imágenes de contenedores que no sean de AWS en Amazon ECS.
La imagen a la que se hace referencia en la definición de la tarea está en otra cuenta
Si la imagen está en otra cuenta, es posible que se muestre el siguiente mensaje de error:
«Cannotpullcontainererror: pull access denied for 123456789***.dkr.ecr.us-east-1.amazonaws.com/image-name:tag, repository does not exist or may require 'docker login': denied: User: arn:aws:sts::012345678**:assumed-role/role-name/ec2 instance id is not authorized to perform: ecr:BatchGetImage on resource: arn:aws:ecr:us-east-1:123456789*:repository/image-name:tag because no resource-based policy allows the ecr:BatchGetImage action»
Para resolver este problema, debe permitir la acción ecr:batchGetImage en las políticas del repositorio de la cuenta en la que se encuentra la imagen.
Por ejemplo, la instancia asociada a su clúster de Amazon ECS está en la cuenta A y la definición de la tarea hace referencia a una imagen de la cuenta B. Las políticas de repositorio de la cuenta B deben permitir que ecr:batchGetImage ocupe el rol de IAM de la instancia en la cuenta A. También debe activar el permiso entre cuentas en la política de repositorios. A continuación, confirme que la instancia de la cuenta A puede extraer la imagen de la cuenta B. Para obtener más información, consulte ¿Cómo puedo permitir que una cuenta secundaria envíe o extraiga imágenes en mi repositorio de imágenes de Amazon ECR?
- Idioma
- Español

Contenido relevante
- preguntada hace un año
- preguntada hace 9 meses
- preguntada hace un mes
- preguntada hace 23 días
- preguntada hace 4 meses