프라이빗 ECR 레지스트리에 성공적으로 연결해도 이미지 가져오기가 끝나지는 않습니다. 매니페스트는 ECR이 제공하고, 이미지 레이어는 Amazon S3가 저장합니다. 따라서 레지스트리만 포함하는 프록시 우회는 레이어 다운로드가 다른 경로로 가게 둘 수 있습니다.

VPC 엔드포인트를 통한 프라이빗 액세스에서는 두 경로를 모두 확인하십시오.

  • ECR 인터페이스 엔드포인트와 그 프라이빗 DNS 구성입니다.
  • S3 엔드포인트, 연결된 라우팅 테이블, 그리고 ECR의 레이어 버킷 접근을 허용하는 정책입니다.

다음으로 가져오기를 수행하는 프로세스에 해당 우회 이름을 지정합니다. 기존 daemon.json 프록시 구성이 있는 네이티브 Docker Engine의 경우 us-east-2 구성 예시는 다음과 같습니다.

{
  "proxies": {
    "http-proxy": "http://proxy.example:8080",
    "https-proxy": "http://proxy.example:8080",
    "no-proxy": "123456789012.dkr.ecr.us-east-2.amazonaws.com,prod-us-east-2-starport-layer-bucket.s3.us-east-2.amazonaws.com"
  }
}

의도한 항목을 데몬의 다른 설정 및 기존 우회 목록과 병합하십시오. 다른 공개 레지스트리 다운로드가 공개 중계자를 사용할 수 있다면 HTTP 프록시 목록이 계정이 필요 없는 프록시 URL 후보를 제공합니다. 프라이빗 ECR 및 S3 우회는 유지하십시오. 계정, 리전, 레이어 다운로드 호스트 이름은 가져오기에서 실제로 사용하는 이름으로 바꾸십시오. S3 이름 형식과 엔드포인트 구성은 다를 수 있으며, 이 예시는 AWS 엔드포인트의 전체 목록이 아닙니다. 데몬 구성을 적용하려면 의도한 데몬 재시작이 필요합니다. Docker Desktop은 자체 프록시 설정을 사용합니다.

우회는 직접 경로를 선택합니다. 누락된 S3 엔드포인트를 만들거나, 라우팅 테이블을 연결하거나, 버킷 접근 권한을 부여하거나, 프라이빗 DNS를 복구할 수는 없습니다. 우회를 광범위한 AWS 도메인으로 확장하기 전에 이러한 종속성을 확인하십시오.

Docker 클라이언트의 컨테이너 프록시 설정은 데몬의 이미지 다운로드를 구성하지 않습니다. 마찬가지로 ECR 로그인 자격 증명을 가져오는 AWS CLI 명령에도 자체 프록시 구성이 있으므로, 그 별도 요청에도 프라이빗 액세스가 필요하면 해당 API 대상을 포함하십시오.

관련 글