Overview

서비스 개요

Container Registry는 컨테이너 이미지와 OCI (Open Container Initiative) 표준 아티팩트를 보관하고 관리하는 레지스트리를 제공하는 서비스입니다. 사용자는 도커(Docker) CLI를 활용하여 손쉽게 이미지를 저장하고 관리, 공유할 수 있습니다.

특장점

  • 간편한 레지스트리 관리 및 이미지 배포: Samsung Cloud Platform에서 프로젝트를 위한 컨테이너 레지스트리를 간편하게 생성할 수 있습니다. 표준 도커 CLI를 활용해 배포를 위한 이미지를 Container Registry에서 손쉽게 가져올 수 있어 개발 및 서비스 배포 흐름을 간소화할 수 있습니다.
  • 효율적인 컨테이너 이미지 보관: 언제 어디서든 손쉽게 컨테이너 이미지 보관이 가능합니다. Object Storage와 연동하여 이미지를 보관하고 불러올 수 있어 효율적인 이미지 관리가 가능합니다. 또한 도커 레지스트리 V2 API 사양을 지원하여 편리하게 사용할 수 있습니다.
  • 보안이 강화된 레지스트리 관리: Container Registry를 이용하여 이미지를 안전하게 보관하고 사용할 수 있습니다. Container Registry는 Object Storage에 이미지를 암호화하여 저장하고 HTTPS를 통해 이미지를 전송합니다. Samsung Cloud Platform의 IAM 리소스 기반 정책을 사용하여 리포지토리별 접근 권한을 설정하고, 설정한 권한에 따라 이미지를 사용할 수 있습니다.
  • 컨테이너 이미지 취약점 분석: Container Registry는 저장된 컨테이너 이미지의 보안 취약점을 분석하는 기능을 제공합니다. 사용자가 이미지를 선택하고 스캔하는 간단한 방식으로 취약점 결과를 확인할 수 있으며, 분석 결과를 기반으로 취약점을 식별하고 제거할 수 있습니다.

서비스 구성도

구성도
그림. Container_Registry 구성도

제공 기능

Container Registry 는 다음과 같은 기능을 제공하고 있습니다.

  • 레지스트리 관리: Container Registry 생성, 삭제, 레지스트리 접근제어 관리 (프라이빗), 가시성 기능을 제공합니다.
  • 리포지토리 관리: Container Registry 하위에 생성되며 Repository 생성, 조회, 삭제, 보안정책 설정 기능을 제공합니다.
  • 이미지 관리: Repository 안에 저장되는 Container Image 들이며, 이미지 Push, 이미지 Pull, 조회, 삭제, 적용된 태그 관리, 보안정책 설정 기능을 제공합니다.
  • 이미지 취약점 점검: Container Registry에 저장된 이미지의 OS 패키지와 Language 패키지 보안 취약점과 이미지에 포함된 Secret을 수동 또는 자동으로 점검할 수 있습니다. 사용자는 점검 결과 기반으로 알려진 취약점(CVE)과 Secret을 식별하고 제거하여 안전하지 않은 이미지의 사용을 방지할 수 있습니다.

구성 요소

레지스트리

레지스트리(Registry)는 컨테이너 이미지를 저장하고 엑세스하고 관리하는데 사용되는 리포지토리 또는 리포지토리 컬렉션입니다. 컨테이너 레지스트리는 종종 개발 및 운영 프로세스의 일부로 컨테이너 기반 애플리케이션 개발을 지원할 수 있습니다. Docker와 Kubernetes 같은 컨테이너 오케스트레이션 플랫폼에 직접 연결할 수 있습니다. 레지스트리는 시스템 간에 컨테이너 이미지를 공유하는 중개자 역할을 하여 개발자가 클라우드 네이티브 애플리케이션을 생성하고 제공하는데 드는 시간을 절약해 줍니다. Samsung Cloud Platform의 경우 Object Storage와 연동하여 제공되며 HTTPS를 통해 이미지를 전송합니다.

리포지토리

리포지토리(Repository)는 이미지 태그의 논리적 관리 단위입니다. 리포지토리를 이용하면 이미지 태그를 효율적으로 관리할 수 있습니다. 리포지토리는 개발자가 애플리케이션 소스 코드를 변경 및 관리하는 데 사용하는 중앙화된 가상 스토리지입니다. 애플리케이션 개발 시 다양한 유형의 문서와 소스코드를 저장하고 공유가 필요한 상황일때, 개발자로 하여금 동일 Account 내에서 쉽게 협업하고 동시에 편집하며, 변경 사항을 추적/관리 할 수 있습니다.

이미지

이미지란 컨테이너 실행에 필요한 모든 파일과 설정값 등을 포함하고 있는 것을 의미합니다. 이미지는 컨테이너를 생성하는 클래스 같은 역할을 하고 컨테이너는 이미지를 실행하는 프로그램 또는 프로세스라고 볼 수 있습니다. 예시로 Ubuntu 이미지는 Ubuntu를 실행하기 위한 모든 파일을 가지고 있으며, MySQL 이미지는 MySQL를 실행하는데 필요한 파일, ID, 비밀번호, Port정보 등을 모두 가지고 있습니다.

선행 서비스

Container Registry는 선행 서비스가 없습니다.

Release Note
모니터링 지표