Container Registry에서 전환

Artifact Registry는 Container Registry의 후속 버전입니다. Artifact Registry는 컨테이너 이미지 및 비컨테이너 아티팩트를 모두 지원하는 완전 관리형 서비스로서 Container Registry의 기능을 확장합니다.

현재 Container Registry를 사용 중이면 이 페이지의 정보에 따라 Artifact Registry로의 전환에 대해 알아보세요.

개요

Artifact Registry는 Container Registry와 동일한 컨테이너 관리 기능을 제공합니다. 컨테이너에 Artifact Registry를 사용하도록 자동화 전환을 시작할 수 있습니다.

이전 버전과의 호환성 및 공존

Artifact Registry와 Container Registry를 모두 같은 프로젝트에서 사용할 수 있습니다. Artifact Registry는 gcloud 또는 Cloud Console을 사용하여 저장소 목록을 볼 때 동일한 프로젝트에 있는 Container Registry 저장소도 나열합니다.

Artifact Registry가 일반 안정화 버전으로 제공된 후에도 두 서비스가 계속 공존합니다. Artifact Registry에서 확장된 기능을 활용하려면 컨테이너와 자동화를 Artifact Registry로 전환하면 됩니다.

Artifact Registry가 일반 안정화 버전으로 출시되면 이전 버전과 호환되는 저장소를 만들 수 있는 옵션이 제공됩니다. 이러한 저장소를 사용하면 다음과 같은 지원을 통해 빌드 및 배포 자동화를 점진적으로 업데이트할 수 있습니다.

  • gcloud container images 명령어
  • *.pkg.dev 또는 *.gcr.io 호스트 이름으로 저장소를 참조합니다.

호환성을 제공하기 위해 이러한 저장소에는 몇 가지 기능 제한이 적용됩니다. 특히 이전 버전과 호환되는 각 저장소는 프로젝트의 해당 Container Registry 호스트 이름과 동일한 멀티 리전에 있어야 합니다.

저장소 설정

Artifact Registry에서 이미지를 내보내려면 먼저 저장소를 만들어야 합니다. 따라서 Artifact Registry로 이동의 주요 부분은 Artifact Registry 저장소를 설정하고 CI/CD 자동화에 통합하는 것입니다.

유연성을 높이기 위해 Artifact Registry는 저장소를 나타내는 방식에 몇 가지 변경사항이 있습니다.

Container Registry

각 멀티 리전 위치는 단일 스토리지 버킷과 연결됩니다. 호스트 이름 아래의 이미지를 저장소로 구성하는 것은 선택사항입니다. 세 위치의 webapp 이미지를 보여주는 다음 예시를 참조하세요.

us.gcr.io/my-project/webapp
us.gcr.io/my-project/team1/webapp
us.gcr.io/my-project/team2/webapp

저장소는 체계적인 메커니즘일 뿐이며 액세스를 제한하지 않습니다. 이 프로젝트의 us.gcr.io 스토리지 버킷에 액세스할 수 있는 모든 사용자는 webapp 컨테이너 이미지의 모든 버전에 액세스할 수 있습니다.

Artifact Registry

각 저장소는 프로젝트의 별도 리소스입니다. 각 저장소는 고유한 리소스이므로 다음을 수행할 수 있습니다.

  • 각 저장소에 이름, 설명, 라벨 지정
  • 동일한 위치에 여러 저장소 만들기
  • 저장소 관련 권한 구성

또한 저장소의 위치는 리전 또는 멀티 리전일 수 있습니다.

이러한 변경 사항을 통해 저장소를 더 세밀하게 제어할 수 있습니다. 예를 들어 상파울루와 시드니에 팀이 있는 경우, 가장 가까운 다중 리전 위치보다 지리적으로 가까운 리전에 있는 팀별로 저장소를 만들 수 있습니다.

southamerica-east1-docker.pkg.dev/my-project/team1/webapp
australia-southeast1-docker.pkg.dev/my-project/team2/webapp

그러면 각 팀에 팀 저장소에 대한 권한만 부여할 수 있습니다.

Artifact Registry로 전환하는 방법은 설정 가이드를 참조하세요.

기능 비교

이 섹션에서는 Container Registry 기능의 변경사항과 개선사항을 요약합니다.

Artifact Registry가 일반 안정화 버전으로 제공되면 Artifact Registry는 이전 버전과 호환되는 저장소를 만들기 위해 *-docker.pkg.dev*.gcr.io 호스트 이름으로 참조할 수 있는 옵션을 제공합니다.

기능 Container Registry Artifact Registry
지원되는 형식 컨테이너 이미지만 컨테이너 이미지, 자바 패키지, Node.js 모듈을 비롯한 여러 아티팩트 형식
저장소
  • 생성 - 이전에 이미지를 내보내지 않은 경우 멀티 리전에 저장소를 자동으로 만듭니다.
  • 위치 - 다중 리전 저장소 전용입니다.
  • 조직 - Google Cloud 프로젝트의 동일한 멀티 리전 호스트에 있는 모든 저장소가 단일 스토리지 버킷을 공유합니다.
  • 액세스 제어 - 각 다중 리전 호스트의 프로젝트 수준 또는 스토리지 버킷에서 권한을 부여합니다.
  • 생성 - 저장소에 이미지를 내보내기 전에 저장소를 만들어야 합니다.
  • 위치 - 다중 리전 또는 리전 저장소 예를 들어 오스트레일리아의 가장 가까운 멀티 리전은 아시아입니다. 리전별 지원을 통해 시드니 데이터 센터에 저장소를 만들 수 있습니다.
  • 조직 - 각 리전 또는 멀티 리전에 별도의 여러 개의 저장소를 만들 수 있습니다. 라벨을 적용하여 팀, 개발 단계 또는 기타 카테고리별로 그룹화합니다.
  • 액세스 제어 - 프로젝트 또는 개별 저장소에 대한 권한을 부여합니다.
호스트 이름 호스트는 gcr.io 도메인에 있습니다. 호스트는 pkg.dev 도메인에 있습니다. 이름 형식에 대한 자세한 내용은 저장소 및 아티팩트 이름을 참조하세요.
권한
  • 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의 이미지에 대한 액세스를 별도로 제어할 수 있습니다.
인증 타사 클라이언트로 이미지를 내보내고 가져오는 여러 인증 방식을 제공합니다. Artifact Registry는 Container Registry와 동일한 인증 방식을 지원합니다. 자세한 내용은 Docker 인증 설정을 참조하세요.

Docker 사용자 인증 정보 도우미를 사용하는 경우:

  • 버전 2.0.0 이상이 필요합니다.
  • v18.03 이전의 Docker 클라이언트 버전은 더 이상 지원되지 않습니다.
  • 사용자 인증 정보 도우미 구성에 사용할 Artifact Registry 위치를 추가해야 합니다.
고객 관리 암호화 키(CMEK) CMEK를 사용하여 이미지가 포함된 스토리지 버킷을 암호화합니다. CMEK를 사용하여 개별 저장소를 암호화합니다.
Google Cloud Console 사용 Cloud Console의 Container Registry 섹션에서 Container Registry 이미지를 보고 관리합니다. Cloud Console의 Artifact Registry 섹션에서 Artifact Registry 및 Container Registry 저장소 목록을 확인합니다. 이 페이지에서 Artifact Registry 저장소와 이미지를 관리합니다.

Container Registry 저장소를 클릭하면 Cloud Console의 Container Registry 섹션에 있는 이미지 목록으로 연결됩니다.

gcloud 및 API 명령어 사용 gcloud container images 명령어를 사용합니다. gcloud artifact docker 명령어를 사용합니다.

Artifact Registry가 일반 안정화 버전으로 제공되면 Artifact Registry는 gcloud container images commands를 지원하는 이전 버전과 호환되는 저장소를 만드는 옵션을 제공합니다.

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

Artifact Registry에는 모든 형식의 저장소와 아티팩트를 관리하는 API가 포함되어 있습니다.

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

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

캐시된 Docker Hub 이미지 가장 자주 요청되는 Docker Hub 이미지를 mirror.gcr.io캐시합니다. mirror.gcr.io는 Docker Hub에서 자주 요청되는 이미지를 계속 캐시합니다.
VPC 서비스 제어 서비스 경계에 Container Registry를 추가할 수 있습니다. 서비스 경계에 Artifact Registry를 추가할 수 있습니다.
메타데이터 스토리지 및 분석 컨테이너 분석은 메타데이터 스토리지, 취약점 스캔, Binary Authorization과 같은 메타데이터를 사용하는 서비스와의 통합을 제공합니다. 메모 및 어커런스 작업을 위한 Cloud SDK 명령어는 gcloud container images 그룹에 있습니다. 컨테이너 분석은 Artifact Registry와 Container Registry의 컨테이너 이미지에 대한 메타데이터 스토리지 및 취약점 스캔을 지원합니다.
  • 두 제품 모두 동일한 Container Analysis API를 사용합니다. Container Registry 또는 Artifact Registry에서 Container Analysis API를 사용 설정하면 두 제품 모두에서 API가 사용 설정됩니다.
  • 두 제품 모두 Pub/Sub 알림에 동일한 `gcr` 주제를 사용합니다. 즉, `gcr` 주제에 대한 기존 구독에는 Artifact Registry와 Container Registry에 대한 알림이 포함됩니다.
  • 메모 및 어커런스 작업을 위한 Cloud SDK 명령어는 gcloud artifact docker 그룹 아래에 있습니다.
Google 제공 이미지 Google에서 제공하는 이미지는 gcr.io에 호스팅됩니다. 예를 들면 다음과 같습니다. Google에서 제공한 이미지는 gcr.io에서 계속 사용할 수 있습니다.
가격 책정 Container Registry 가격은 스토리지 및 네트워크 이그레스를 포함한 Cloud Storage 사용량을 기준으로 합니다. Artifact Registry에는 스토리지와 네트워크 이그레스를 기준으로 자체 가격 책정이 적용됩니다.