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

2분 분량
0

Amazon Elastic Container Service(Amazon ECS)의 Amazon Elastic Container Registry(Amazon ECR)에서 도커 이미지를 가져오면 다음과 같은 오류 메시지가 표시됩니다. 'error pulling image configuration: error parsing HTTP 403 response body.(이미지 구성을 가져오는 중 오류 발생: HTTP 403 응답 본문을 분석하는 중 오류 발생)'

간략한 설명

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.    Amazon Virtual Private Cloud(Amazon VPC) 콘솔을 엽니다.

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

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

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

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

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

참고: ARN에 해당 AWS 리전이 포함되어 있는지 확인합니다.

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

{
  "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/*"
      ]
    }
  ]
}

관련 정보

Amazon S3 게이트웨이 엔드포인트 생성

AWS 공식
AWS 공식업데이트됨 일 년 전