Amazon Elastic Container Registry(Amazon ECR)는 Amazon Elastic Container Service(Amazon ECS) 및 Amazon Elastic Kubernetes Service(Amazon EKS)와 통합되며, 이는 한 가지 오케스트레이터를 사용하여 애플리케이션용 컨테이너 이미지를 쉽게 저장 및 실행할 수 있다는 것을 의미합니다. Amazon ECS 또는 Amazon EKS의 태스크 또는 팟 정의에서 Amazon ECR 리포지토리를 지정하기만 하면 애플리케이션에 적합한 이미지를 검색할 수 있습니다.
Amazon ECR은 Open Container Initiative(OCI) 표준 및 Docker Registry HTTP API V2를 지원합니다. 이를 통해 Docker CLI 명령(예: push, pull, list, tag) 또는 선호하는 Docker 도구를 사용하여 Amazon ECR과 상호 작용할 수 있습니다. 따라서 기존 개발 워크플로를 유지할 수 있습니다. 또한, 클라우드, 온프레미스, 로컬 시스템 등 어느 Docker 환경에서나 Amazon ECR에 손쉽게 액세스할 수 있습니다. Amazon ECR은 Docker 컨테이너 이미지 및 관련 OCI 아티팩트를 리포지토리에 저장할 수 있게 합니다.
공급업체, 오픈 소스 프로젝트 및 커뮤니티 개발자가 Amazon ECR 퍼블릭 갤러리에서 공개적으로 공유하는 컨테이너 소프트웨어를 검색 및 사용할 수 있습니다. 운영 체제, AWS에서 게시한 이미지, Kubernetes 추가 제품, Helm 차트와 같은 파일 등, 인기 있는 기본 이미지를 갤러리에서 찾을 수 있습니다. AWS 계정을 사용하여 퍼블릭 이미지를 검색하거나 가져올 필요는 없지만 계정을 사용하면 퍼블릭 컨테이너 소프트웨어를 더 쉽고 빠르게 사용할 수 있습니다.
Amazon ECR은 사용자가 생성하는 컨테이너와 AWS Marketplace를 통해 구매하는 컨테이너 소프트웨어를 모두 저장합니다. 컨테이너용 AWS Marketplace는 고성능 컴퓨팅, 보안 및 개발자 도구를 위한 검증된 컨테이너 소프트웨어뿐만 아니라 컨테이너 애플리케이션을 관리, 분석 및 보호하는 서비스형 소프트웨어(SaaS) 제품을 제공합니다.
Amazon ECR은 컨테이너 이미지 및 아티팩트를 Amazon Simple Storage Service(S3)에 저장합니다. Amazon S3는 여러 시스템에 걸쳐 모든 S3 객체의 복사본을 자동으로 생성하고 저장하기 때문에 99.999999999%의 데이터 내구성을 제공합니다. 즉, 필요할 때 데이터를 사용할 수 있고, 장애, 오류, 도용 등으로부터 데이터를 보호할 수 있습니다. Amazon ECR은 또한 고가용성 애플리케이션을 위해 데이터를 여러 AWS 리전에 자동으로 복제할 수 있습니다.
Amazon ECR에서는 네임스페이스를 사용하여 레지스트리의 리포지토리를 정의 및 구성할 수 있습니다. 이를 통해 팀의 기존 워크플로에 따라 리포지토리를 구성할 수 있습니다. 리소스 수준의 정책을 통해 다른 사용자가 자신의 리포지토리에 수행할 수 있는 API 작업(예: create, list, describe, delete 및 get)을 설정할 수 있으므로 리포지토리를 다른 사용자 및 AWS 계정과 손쉽게 공유할 수 있습니다. 컨테이너 아티팩트를 퍼블릭 리포지토리에 저장하여 전 세계 누구나 손쉽게 공유할 수 있습니다.
Amazon ECR에서는 AWS Identity and Access Management(IAM)를 사용하여 컨테이너 이미지에 액세스할 수 있는 사용자 및 항목(예: EC2 인스턴스)에 대한 권한을 제어하고 모니터링합니다. IAM을 통해 같은 AWS 계정 또는 다른 계정의 사용자가 프라이빗 리포지토리의 컨테이너 이미지에 액세스할 수 있도록 허용하는 정책을 정의할 수 있습니다. 또한, 사용자와 역할별로 서로 다른 권한(예: 푸시, 풀 또는 전체 관리자 액세스)을 지정하여 이러한 정책을 세분화할 수 있습니다. 전 세계 누구나 퍼블릭 리포지토리에 저장된 컨테이너 이미지에 액세스하여 세계 어디에서나 협업을 수행할 수 있습니다.
Amazon ECR에서는 HTTPS를 통해 컨테이너 이미지를 송수신할 수 있습니다. 또한, 저장 이미지는 Amazon S3 서버 측 암호화를 사용해 자동으로 암호화됩니다. Amazon ECR은 AWS Key Management Service(AWS KMS)로 관리하는 자체 키를 선택함으로써 저장 중 이미지를 암호화할 수도 있습니다.
Amazon ECR은 타사 개발자 도구와 통합됩니다. 따라서 지속적 통합 및 전달 프로세스에 Amazon ECR을 통합하여 기존 개발 워크플로를 유지 관리할 수 있습니다. 서드 파티 통합에 관한 자세한 내용은 파트너 페이지를 참조하세요.
Amazon ECR의 풀스루 캐시 리포지토리를 사용하면 공개적으로 액세스 가능한 컨테이너 레지스트리에 저장된 컨테이너 아티팩트를 검색, 저장 및 동기화할 수 있습니다. 필요한 높은 다운로드 속도와 신뢰할 수 있는 가용성, 보안 및 확장성을 제공합니다. 빈번한 레지스트리 동기화와 관리할 추가 도구가 없는 상태에서 풀스루 캐시 리포지토리를 사용하면 퍼블릭 레지스트리에서 가져온 컨테이너 이미지를 최신 상태로 유지할 수 있습니다.