Container Registry에서 전환

2023년 5월 15일부터 Container Registry가 지원 중단됩니다. 현재 Container Registry를 사용 중인 경우 Artifact Registry로 전환할 수 있습니다.

Artifact Registry는 Google Cloud에서 컨테이너 이미지 스토리지 및 관리를 위해 권장되는 서비스입니다. Artifact Registry는 Container Registry와 같은 동일한 컨테이너 관리 기능을 제공하고 추가 기능 및 이점을 포함합니다. Artifact Registry는 컨테이너 이미지 및 비컨테이너 아티팩트를 모두 지원하는 완전 관리형 서비스로서 Container Registry의 기능을 확장합니다.

새 기능 요약

Artifact Registry는 Container Registry 기능을 다음과 같이 확장합니다.

이러한 기능들에 대한 자세한 내용은 기능 비교를 참조하세요.

하위 호환성 및 병용

같은 프로젝트에서 Artifact Registry 및 Container Registry를 모두 사용할 수 있습니다. gcloud 또는 Google Cloud 콘솔이 포함된 저장소 목록을 볼 때 Artifact Registry는 동일한 프로젝트의 Container Registry 저장소도 나열합니다.

mirror.gcr.io에서 캐시된 Docker Hub 이미지

Artifact Registry는 mirror.gcr.io에서 자주 액세스되는 공개 Docker Hub 이미지를 캐시합니다. mirror.gcr.io 사용에 대한 자세한 내용은 캐시된 Docker Hub 이미지 가져오기를 참조하세요.

전환 옵션 선택

Artifact Registry로 전환하기 위해 사용할 수 있는 저장소는 두 가지 유형이 있습니다.

gcr.io 도메인 지원을 사용하는 저장소

Container Registry gcr.io 호스트 이름에 매핑된 특수한 저장소. Artifact Registry는 Container Registry 호스트에 대한 gcr.io 요청을 동일한 Google Cloud 프로젝트에 있는 해당 Artifact Registry 저장소로 리디렉션합니다.

다음과 같은 경우 이 옵션을 사용합니다.

  • 기존 이미지 자동화를 Artifact Registry로 전환하는 데 필요한 설정 및 구성의 양을 최소화해야 합니다.
  • 다른 Google Cloud 프로젝트 또는 리전에서 Artifact Registry 저장소를 설정할 필요가 없습니다.
표준 저장소

모든 기능을 지원하고 기존 Container Registry 호스트와 완전히 독립적인 일반 Artifact Registry 저장소입니다.

다음 경우에는 표준 저장소를 대신 사용합니다.

  • 규정 준수 요구사항에 따라 특정 리전에 데이터를 저장해야 합니다. gcr.io 도메인을 지원하는 저장소는 Container Registry 호스트와 동일한 멀티 리전(asia, eu, us)에서만 사용할 수 있습니다.
  • Container Registry를 사용 중인 프로젝트와 다른 프로젝트에 Artifact Registry 저장소를 설정해야 합니다.
  • 이미지 저장 방법과 위치를 다시 설계해야 합니다. 예를 들면 다음과 같습니다.

    • Cloud Run 및 Google Kubernetes Engine과 같은 런타임을 포함하여 다른 Google Cloud 리전별 리소스와 동일한 리전에 저장소를 만듭니다.
    • 팀과 더 가까운 리전에 저장소를 설정합니다. 예를 들어 asia 멀티 리전 대신 오스트레일리아 리전에 또는 us 멀티 리전 대신 남미 리전에 저장소를 만들 수 있습니다.
    • 다른 Identity and Access Management 정책과 동일한 프로젝트 및 위치에서 다중 Docker 저장소를 만듭니다. 예를 들어 서로 다른 개발자 액세스 수준을 사용하여 us-east1 리전에서 개발 저장소와 프로덕션 저장소를 설정할 수 있습니다.
  • 여러 업스트림 표준 저장소에서 다운로드하기 위한 단일 엔드포인트로 작동하는 가상 저장소를 만듭니다.

두 저장소 유형 모두 공존할 수 있습니다. 예를 들어 Artifact Registry에서 gcr.io 저장소를 만들어 기존 Container Registry 설정을 전환하고 새 작업을 위한 표준 저장소를 만들 수 있습니다.

기능 비교

다음 표에서는 Container Registry와 Artifact Registry 사이의 차이점을 요약해서 보여줍니다.

기능 Container Registry Artifact Registry
지원되는 형식 컨테이너 이미지만 컨테이너 이미지, 언어 패키지, OS 패키지를 포함하는 다중 아티팩트 형식
도메인 이름 gcr.io pkg.dev

Artifact Registry는 gcr.io 도메인 지원을 설정할 경우에도 gcr.io 도메인 이미지를 저장할 수 있습니다.

저장소 모드 해당 없음
  • 표준: 아티팩트를 저장합니다.
  • 원격: Docker Hub와 같은 업스트림 소스에서 요청된 아티팩트를 캐시합니다.
  • 가상: 단일 엔드포인트의 여러 업스트림 저장소입니다.
레지스트리 만들기 첫 번째 이미지를 내보내서 레지스트리 호스트를 만듭니다.

Container Registry는 Google Cloud 프로젝트의 Cloud Storage 버킷에 이미지를 저장하고, 레지스트리 특정 권한 부여와 같은 작업을 버킷에 직접 적용해야 합니다.

저장소 만들기는 내보내기 및 가져오기의 개별 작업이며 저장소 사용으로부터 저장소 관리를 명확하게 구분합니다.
  • 이전 버전과의 호환성을 위해서는 gcr.io 도메인 지원을 설정할 수 있습니다. 초기 설정에는 프로젝트의 각 Container Registry 호스트에 대한 Artifact Registry 저장소 자동 생성과 해당 Artifact Registry 저장소에 대한 gcr.io 리디렉션이 포함됩니다.
  • pkg.dev 도메인에 대한 모든 내보내기 및 가져오기 요청의 경우 저장소가 이미 있어야 합니다.

Artifact Registry에는 Google Cloud 프로젝트에서 관리할 Cloud Storage 버킷이 없습니다. 저장소에서 직접 이미지 관리 작업을 수행합니다.

레지스트리 위치 Google Cloud 프로젝트에는 4개의 멀티 리전 레지스트리 호스트만 제공됩니다. 리전 또는 멀티 리전에서 개별적으로 제어되는 다중 저장소를 만듭니다.
액세스 제어
  • Cloud Storage 역할을 사용하여 액세스 권한을 부여합니다.
  • 멀티 리전에 저장된 모든 이미지에 대한 액세스를 제한할 수 있지만 개별 저장소에 대한 액세스는 제한할 수 없습니다. 예를 들어 my-project 프로젝트에서 us.gcr.io로 액세스를 제한할 수 있지만 us.gcr.io/my-project/team1us.gcr.io/my-project/team2의 이미지에 대해 특정 권한을 부여할 수 없습니다.
  • Artifact Registry 역할을 사용하여 액세스 권한을 부여합니다.
  • 개별 저장소에 대해 액세스를 제한할 수 있습니다. 예를 들어 us-docker.pkg.dev/my-project/team1us-docker.pkg.dev/my-project/team2의 이미지에 대해 개별적으로 액세스를 제어할 수 있습니다.
  • IAM 및 저장소 태그를 사용하여 조건부 액세스를 부여합니다.
인증 타사 클라이언트로 이미지를 내보내고 가져오는 여러 인증 방식을 제공합니다. Artifact Registry는 Container Registry와 동일한 인증 방식을 지원합니다. 자세한 내용은 Docker 인증 설정을 참조하세요.
고객 관리 암호화 키(CMEK) CMEK를 사용하여 이미지가 포함된 스토리지 버킷을 암호화합니다. CMEK를 사용하여 개별 저장소를 암호화합니다.
Google Cloud 콘솔 사용 Google Cloud 콘솔의 Container Registry 섹션에서 Container Registry 이미지를 보고 관리합니다. Google Cloud 콘솔의 Artifact Registry 섹션에서 Artifact Registry와 Container Registry 저장소 목록을 봅니다. 이 페이지에서 Artifact Registry 저장소 및 이미지를 관리합니다.

Container Registry 저장소를 클릭하면 Google Cloud 콘솔의 Container Registry 섹션의 이미지 목록으로 이동합니다.

gcloud 및 API 명령어 사용 gcloud container images 명령어를 사용합니다. 명령어가 단축된 다이제스트를 지원합니다. 전체 다이제스트 문자열을 지정하지 않으면 Container Registry가 부분 문자열을 기반으로 올바른 이미지를 찾으려고 시도합니다.

Container Registry에는 REST 또는 RPC API가 없습니다.

gcloud artifacts docker 명령어를 사용합니다. 명령어가 단축된 다이제스트를 지원하지 않습니다.

Container Registry 및 Artifact Registry gcloud 명령어를 비교하려면 gcloud 명령어 비교를 참조하세요.

Artifact Registry는 저장소 및 아티팩트 관리를 위한 REST 및 RPC API를 제공합니다.

Pub/Sub 알림 gcr 주제에 대한 변경사항을 게시합니다. gcr 주제에 대한 변경사항을 게시합니다. 기존 Container Registry 서비스와 동일한 프로젝트에서 저장소를 만들면 기존 Pub/Sub 구성이 자동으로 작동합니다.

자세한 내용은 Pub/Sub 알림 구성을 참조하세요.

감사 로깅 Container Registry는 레지스트리 활동에 대한 감사 로그를 제공하지 않습니다. Cloud Logging을 사용하여 저장소 변경사항을 추적합니다.
캐시된 Docker Hub 이미지 mirror.gcr.io는 모든 사용자 간에 가장 자주 요청되는 Docker Hub 이미지를 저장하는 플스루 캐시입니다. mirror.gcr.io는 이제 Artifact Registry에서 호스팅됩니다. mirror.gcr.io는 이제 Artifact Registry에서 호스팅됩니다. VPC 서비스 제어 경계에서 mirror.gcr.io를 사용하지 않는 경우 별도의 작업이 필요하지 않습니다. VPC 서비스 제어 경계에서 mirror.gcr.io를 사용하는 방법에 대한 자세한 내용은 VPC 서비스 제어와 함께 Artifact Registry 사용을 참조하세요.
VPC 서비스 제어 서비스 경계에 Container Registry를 추가할 수 있습니다. 서비스 경계에 Artifact Registry를 추가할 수 있습니다.
Artifact Analysis를 사용한 메타데이터 스토리지 및 분석 지원되는 OS가 포함된 이미지에서 주문형 스캔을 통해 OS 및 언어 패키지 취약점을 스캔합니다. 자동 스캔은 OS 취약점 정보만 반환합니다. 스캔 유형에 대해 자세히 알아보세요.
주문형 스캔
자동 스캔
  • Google Cloud CLI 명령어 gcloud container images에는 취약점 및 기타 메타데이터를 포함한 스캔 결과를 보는 플래그가 포함됩니다.
  • 스캔은 지원되는 운영체제가 있는 Container Registry의 이미지에 대한 OS 취약점 정보만 반환합니다.
주문형 스캔과 자동 스캔을 모두 사용하여 OS 및 언어 패키지 취약점을 스캔합니다. 스캔 유형에 대해 자세히 알아보세요.
주문형 스캔
자동 스캔
  • Google Cloud CLI 명령어 gcloud artifacts docker images에는 취약점 및 기타 메타데이터를 포함한 스캔 결과를 보는 플래그가 포함됩니다.
  • 스캔은 지원되는 운영 체제와 지원되지 않는 운영 체제 모두에 대한 지원되는 운영체제 및 언어 패키지 취약성 정보가 있는 Artifact Registry의 이미지에 대한 OS 취약점 정보를 반환합니다.
이미지 스트리밍 사용할 수 없음 큰 이미지를 가져올 때 더 빠른 자동 확장, 더 빠른 포드 시작, 지연 시간 감소를 위해 Artifact Registry의 이미지를 GKE 또는 Dataproc Serverless에 스트리밍합니다.
Cloud Run 소스 배포 사용할 수 없음 소스 배포를 사용하면 단일 gcloud CLI 명령어를 사용해서 소스 코드로부터 컨테이너 이미지를 빌드하고, Artifact Registry에 이미지를 저장하고, Cloud Run에 배포할 수 있습니다.
가격 책정 Container Registry 가격은 스토리지 및 네트워크 데이터 전송을 포함한 Cloud Storage 사용량을 기준으로 책정됩니다. 레지스트리 호스트는 멀티 리전에서만 사용 가능하므로 데이터 전송 비용에는 Google Cloud에 이미지 배포가 포함됩니다. Artifact Registry 가격은 스토리지와 네트워크 데이터 전송을 기반으로 자체적으로 책정됩니다.
할당량 Container Registry에는 고정된 요청 한도가 있습니다. Cloud Storage 할당량도 적용됩니다. 자세한 내용은 할당량 및 한도 문서를 참조하세요. Artifact Registry에는 프로젝트당 및 사용자당 할당량이 있습니다. 사용자당 할당량은 기본적으로 제한이 없지만 단일 사용자가 프로젝트 수준의 할당량을 너무 많이 소비하지 않도록 사용자당 한도를 구성할 수 있습니다.

gcloud 명령어 비교

다음 표에는 Container Registry 명령어와 이에 상응하는 gcloud CLI의 Artifact Registry 명령어가 요약되어 있습니다. 테이블의 링크를 클릭하여 명령어의 참조 페이지를 확인하세요.

Container Registry에 상응하는 기능이 없는 사용 가능한 모든 Artifact Registry 명령어는 표에 포함되지 않습니다. 전체 Artifact Registry 명령어 참조는 gcloud 아티팩트 문서를 참조하세요.

작업 Container Registry Artifact Registry
저장소 만들기 해당 없음 gcloud artifacts repositories create
저장소 삭제 해당 없음 gcloud artifacts repositories delete
이미지 나열 gcloud container images list gcloud artifacts docker images list
태그 나열 gcloud container images list-tags gcloud artifacts docker tags list
태그 추가 gcloud container images add-tag gcloud artifacts docker tags add
태그 삭제 gcloud container images untag gcloud artifacts docker tags delete
이미지 설명 gcloud container images describe gcloud artifacts docker images list --include-tags