Amazon ECR에서 Docker 이미지를 가져올 때 Amazon ECS에서 발생하는 “이미지 구성을 가져오는 중 오류 발생: HTTP 403 응답 본문 구문 분석 오류(error pulling image configuration: error parsing HTTP 403 response body)”를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 30일

Amazon Elastic Container Service(Amazon ECS)의 Amazon Elastic Container Registry(Amazon ECR)에서 Docker 이미지를 가져올 때 오류 메시지 “이미지 구성을 가져오는 중 오류 발생: HTTP 403 응답 본문 구문 분석 오류(error pulling image configuration: error parsing HTTP 403 response body)”가 나타납니다.

간략한 설명

Amazon ECR은 Amazon Simple Storage Service(Amazon S3)를 사용하여 이미지 계층을 저장합니다. 컨테이너가 Amazon ECR에서 이미지를 다운로드할 때 Amazon ECR에 액세스하여 이미지 매니페스트를 가져온 다음 Amazon S3에 액세스하여 이미지 계층을 다운로드해야 합니다. 다음은 각 Docker 이미지에 대한 계층이 포함된 Amazon S3 버킷의 Amazon 리소스 이름(ARN) 입니다.

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

starport-layer-bucket에 대한 액세스를 제한하는 정책과 함께 라우팅 테이블에서 S3 게이트웨이 엔드포인트를 사용하는 경우 다음과 같은 오류 메시지가 나타납니다.

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>"

기본적으로 Amazon S3에서 게이트웨이 엔드포인트를 생성하면 모든 리소스에 대한 전체 액세스 권한이 부여됩니다.

특정 리소스에 대한 액세스를 허용하는 사용자 지정 정책이 있는 경우 오류를 해결하려면 Amazon S3 정책에 starport-layer-bucket ARN을 추가해야 합니다. 

해결 방법

1.    VPC 콘솔을 엽니다.

2.    탐색 메뉴에서 [엔드포인트(Endpoints)]를 선택합니다.

3.    목록에서 S3 엔드포인트를 선택합니다.

4.    [정책(Policy)] 탭을 선택한 다음 [정책 편집(Edit policy)] 을 선택합니다.

5.    정책의 [리소스(Resource)] 섹션에서 다음 ARN을 추가합니다.

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

참고: ARN에 해당 AWS 리전이 포함되어 있는지 확인하십시오.

참고로 다음 예제 정책을 고려하십시오.

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

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?