Jump to section

컨테이너 레지스트리란?

URL 복사

컨테이너 레지스트리는 컨테이너 이미지를 저장하고 액세스하는 데 사용되는 리포지토리 또는 리포지토리 컬렉션입니다. 컨테이너 레지스트리는 종종 DevOps 프로세스의 일부로 컨테이너 기반 애플리케이션 개발을 지원할 수 있습니다. 컨테이너 레지스트리는 DockerKubernetes 같은 컨테이너 오케스트레이션 플랫폼에 직접 연결할 수 있습니다. 

컨테이너 레지스트리는 시스템 간에 컨테이너 이미지를 공유하는 중개자 역할을 하여 개발자가 클라우드 네이티브 애플리케이션을 생성하고 제공하는 데 드는 귀중한 시간을 절약해 줍니다.

Cloud Native Computing Foundation에서는 컨테이너(컨테이너 이미지 및 레지스트리 포함)와 마이크로서비스 가 클라우드 네이티브 애플리케이션 개발의 기반이라고 말합니다. 컨테이너와 마이크로서비스는 완전히 독립형이므로 이식 가능한 클라우드 네이티브 애플리케이션을 생성하기 위한 강력한 툴입니다. 

컨테이너는 애플리케이션 프로세스, 런타임 파일 및 OS 종속성을 시스템의 나머지 부분에서 격리합니다. 하이브리드 클라우드 환경 전반에서 뛰어난 이식성을 보장하며 가상 시스템(VM)보다 훨씬 짧은 시간으로 배포할 수 있습니다. 이를 통해 개발자는 컨테이너 레지스트리에서 필요한 항목을 더 쉽게 푸시하고 가져올 수 있으므로 기본 인프라 또는 실행에 필요한 세부 사항을 방해하지 않고 우수한 제품을 구축하는 데 집중할 수 있습니다.

DevOps 환경에서 컨테이너(및 컨테이너 이미지/레지스트리)를 사용하면 개발자가 각 애플리케이션 서비스를 독립적으로 배포할 수 있으므로 코드 변경 사항을 병합할 필요가 없고, 테스트를 개선하고, 테스트와 프로덕션 모두에서 결함을 격리하는 데 도움이 됩니다.

컨테이너 레지스트리의 유형은 퍼블릭과 프라이빗, 두 가지입니다.

퍼블릭 레지스트리는 일반적으로 레지스트리를 최대한 빨리 시작하고 실행하려는 개인 또는 소규모 팀에서 사용합니다. 그러나 조직이 성장함에 따라 패치, 개인 정보 보호, 액세스 제어와 같은 더 복잡한 보안 문제가 발생할 수 있습니다. 

프라이빗 레지스트리를 이용하면 원격 또는 온프레미스에서 호스팅되는 엔터프라이즈 컨테이너 이미지 스토리지에 보안 및 개인 정보 보호를 통합할 수 있습니다. 이러한 프라이빗 레지스트리에는 고급 보안 기능과 기술 지원이 함께 제공되는 경우가 많습니다.

대부분의 클라우드 제공업체는 프라이빗 이미지 레지스트리 서비스를 제공합니다.Google 은 Google Container Registry, AWS 는 Amazon Elastic Container Registry(ECR), Microsoft는 Azure Container Registry를 제공합니다.

프라이빗 내부 레지스트리를 사용하면 보안 및 구성을 최대한 활용할 수 있지만 레지스트리의 인프라와 액세스 제어가 조직 내에서 유지되도록 세심하게 관리하고 보장해야 합니다.

기업용 프라이빗 컨테이너 레지스트리 서비스를 선택할 때 고려해야 할 중요한 사항은 다음을 포함합니다.

  • 다수의 인증 시스템 지원

  • 로컬 이미지에 대한 RBAC(역할 기반 액세스 제어 관리)

  • 보안 및 구성 강화를 위한 취약점 스캔 기능

  • 사용 기록을 감사 로그에 저장하여 단일 사용자의 활동까지 추적 가능

  • 자동화하기에 최적의 서비스

프라이빗 레지스트리의 엔터프라이즈급 기능을 통해 조직은 안전하고 효율적인 방식으로 컨테이너 이미지에 내부적으로 액세스할 수 있습니다. 여러 인증 시스템에서 저장된 컨테이너 이미지를 확인하기 위한 조치를 취합니다.

예를 들어와 같이 이미지를 업로드하는 사람이 디지털 서명해야 레지스트리에 푸시할 수 있을 뿐만 아니라 활동 추적을 활성화하고 무단 사용자 업로드를 방지할 수 있습니다.

RBAC는 개인의 역할에 따라 허용되는 사용자 작업을 관리합니다. 개발자는 레지스트리에 대한 업로드 및 다운로드 권한이 필요한 반면, 팀원이나 테스터에게는 다운로드 권한만 있으면 됩니다. AD(Active Directory) 또는 LDAP(Lightweight Directory Access Protocol ) 와 같은 사용자 관리 시스템이 있으면 이러한 시스템을 컨테이너 레지스트리에 직접 연결하여 RBAC에 사용할 수 있습니다.

기업은 자체 컨테이너 레지스트리를 생성하고 배포하는 쪽을 선택하거나 시중에 출시된 프라이빗 레지스트리 서비스를 이용할 수 있습니다. 

Red Hat® OpenShift®는 하이브리드 클라우드, 멀티클라우드, 엣지 배포를 관리하는 등 모든 클라우드 인프라에서 일관성을 제공하는 엔터프라이즈 수준의 쿠버네티스 컨테이너 플랫폼입니다. Red Hat OpenShift를 통해 새로운 마이크로서비스 또는 애플리케이션을 위한 환경을 몇 분 만에 프로비저닝할 수 있습니다. 미들웨어, 언어, 프레임워크, 데이터베이스와 같은 다른 클라우드 서비스 외에도 컨테이너 이미지를 관리하기 위한 기본 기능을 제공하는 프라이빗 레지스트리가 이미 포함되어 있습니다. 

프라이빗 레지스트리는 Red Hat의 풍부한 파트너 에코시스템에서 클라우드 공급자에 Red Hat OpenShift 관리 서비스의 일부로 배포되어 Azure, Amazon Web Services(AWS), IBM Cloud 또는 Google Cloud에서 원활한 경험을 제공할 수 있습니다. Red Hat OpenShift는 JFrog의 Artifactory, Sonatype Nexus와 같이 기업이 현재 사용하고 있는 다른 프라이빗 레지스트리와의 통합을 지원합니다.

또한 Red Hat은 하이브리드 클라우드 기반에 강화된 보안 기능과 데이터 센터에서 사용할 수 있는 추가 소프트웨어 요소를 기반으로 구축된 자체 관리형 서비스를 제공합니다. 고급 보안 및 기술 지원 기능이 더 필요한 경우Red Hat Quay를 확장 가능한 독립형 엔터프라이즈 레지스트리 옵션으로 사용할 수 있습니다.

추가 자료

문서

스테이트풀과 스테이트리스 비교

스테이트풀과 스테이트리스는 상호 작용 상태가 얼마나 오래 기록되는지, 해당 정보가 어떤 식으로 저장되는지를 기준으로 구별할 수 있습니다.

문서

Quarkus란?

Quarkus는 Java 가상 머신(Java Virtual Machine, JVM)과 네이티브 컴파일을 위해 만들어진 쿠버네티스 네이티브 Java 스택으로, 특히 컨테이너에 Java를 최적화합니다.

문서

서버리스란?

서버리스(serverless)란 개발자가 서버를 관리할 필요 없이 애플리케이션을 빌드하고 실행할 수 있도록 하는 클라우드 네이티브 개발 모델입니다.

클라우드 네이티브 애플리케이션에 대한 자세한 내용

제품

선택한 인프라에서 애플리케이션 출시 테스트를 완료한 통합 서비스 세트를 포함하는 엔터프라이즈 애플리케이션 플랫폼입니다.

여러 서비스를 서로 분리하여 독립적으로 생성, 확장, 배포할 수 있게 하는 분산형 클라우드 네이티브 통합 플랫폼입니다.

리소스

e-book

클라우드 네이티브와 하이브리드 클라우드의 융합: 전략 가이드

E-book

클라우드 네이티브 애플리케이션 구현을 위한 과정

교육

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures