Amazon ECR(Elastic Container Registry)은 AWS에서 제공하는 엔터프라이즈급 완전관리형 컨테이너 이미지 레지스트리 서비스입니다. Docker 및 OCI(Open Container Initiative) 표준을 완벽히 지원하며, 애플리케이션 컨테이너 이미지(Docker Image)와 관련 아티팩트를 안전하게 저장, 버전 관리, 배포하는 허브 역할을 합니다.
핵심 아키텍처 및 특징
완전관리형 인프라 및 고가용성: 사용자가 별도의 레지스트리 서버를 프로비저닝하거나 확장성을 고민할 필요가 없습니다. 백엔드가 Amazon S3 기반의 확장성과 내구성을 활용하므로 대규모 트래픽과 이미지 다운로드 요청에도 중단 없이 안정적으로 동작합니다.
AWS IAM 기반 세밀한 권한 제어: AWS Identity and Access Management(IAM)와 긴밀하게 연동되어 사용자, 역할(Role), 리포지토리 단위로 push/pull 권한을 정밀하게 제어할 수 있습니다. 리소스 기반 정책(Repository Policy)을 통해 다른 AWS 계정과의 이미지 공유(Cross-Account)도 간편합니다.
강력한 보안 및 취약점 스캐닝: 전송 중 데이터(HTTPS/TLS) 및 유휴 상태 데이터(AWS KMS 기반 암호화)를 기본 지원합니다. 또한 오픈소스 스캐너인 Clair 또는 Amazon Inspector와 연동해 이미지를 푸시할 때 CVE 기반 보안 취약점을 자동으로 스캔하고 패치 우선순위를 제시합니다.
글로벌 복제 및 이미지 수명 주기 관리: 리전 간 복제(Cross-Region Replication)를 지원해 전 세계에 분산된 클러스터에서 지연 시간 없이 빠르게 이미지를 다운로드할 수 있습니다. 또한 Lifecycle Policy(수명 주기 정책)을 설정하여 특정 개수 이상의 구버전 이미지나 태그가 없는(untagged) 이미지를 자동 삭제함으로써 스토리지 비용을 최적화합니다.
주요 활용 방식
AWS 컨테이너 서비스와의 통합: Amazon ECS, Amazon EKS, AWS Fargate, AWS Lambda 등과 내부 네트워크를 통해 고속으로 통신하므로 컨테이너 기동 속도가 매우 빠릅니다.
CI/CD 파이프라인의 핵심 백본: GitHub Actions, Jenkins, AWS CodePipeline 등에서 빌드 및 테스트를 통과한 이미지를 ECR로 푸시하고, 이를 기반으로 운영 클러스터에 롤링/블루-그린 배포를 수행하는 표준 워크플로의 중심이 됩니다.
퍼블릭 및 프라이빗 레지스트리: 내부 업무용 비공개 프라이빗 저장소는 물론, 글로벌 개발자 커뮤니티에 이미지를 공개 배포할 수 있는 Amazon ECR Public Gallery도 함께 지원합니다.