¿Cómo puedo solucionar el error «error pulling image configuration: error parsing HTTP 403 response body» en Amazon ECS?

2 minutos de lectura
0

Cuando extraigo una imagen de Docker de Amazon Elastic Container Registry (Amazon ECR) en Amazon Elastic Container Service (Amazon ECS), aparece el siguiente error: «error pulling image configuration: error parsing HTTP 403 response body».

Breve descripción

Amazon ECR usa Amazon Simple Storage Service (Amazon S3) para almacenar las capas de imágenes. Cuando sus contenedores descargan imágenes de Amazon ECR, deben acceder a Amazon ECR para obtener el manifiesto de la imagen. Una vez que el contenedor accede a Amazon ECR, accede a Amazon S3 para descargar las capas de imágenes.

El siguiente es el nombre de recurso de Amazon (ARN) del bucket de Amazon S3 que contiene las capas de cada imagen de Docker:

arn:aws:s3:::prod-region-starport-layer-bucket/*

Si utiliza un punto de conexión de puerta de enlace de S3 en una tabla de enrutamiento con una política que restringe el acceso a starport-layer-bucket, recibirá este mensaje de error:

"error pulling image configuration: error parsing HTTP 403 response body: invalid character '<' looking for beginning of value: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>SAMPLE-REQUEST-ID</RequestId><HostId>SAMPLE-HOST-ID</HostId></Error>"

De forma predeterminada, tiene acceso completo a todos los recursos al crear un punto de conexión de puerta de enlace en Amazon S3.

Si tiene una política personalizada que permite el acceso a recursos específicos, debe añadir el ARN starport-layer-bucket a su política de Amazon S3.

Resolución

Para resolver el error, siga estos pasos:

  1. Abra la consola de Amazon Virtual Private Cloud (Amazon VPC).
  2. En el menú de navegación, seleccione Puntos de enlace.
  3. Seleccione el punto de enlace de S3 de la lista.
  4. Seleccione la pestaña Política y, a continuación, seleccione Editar política.
  5. En la sección Recurso de la política, añada el siguiente ARN:
    arn:aws:s3:::prod-region-starport-layer-bucket/*

Nota: El ARN debe incluir su región de AWS.

Ejemplo de política:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Access-to-specific-buckets",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::prod-us-east-1-starport-layer-bucket/*"
      ]
    }
  ]
}

Información relacionada

Creación del punto de conexión de puerta de enlace de Amazon S3

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses