ECR
Amazon Elastic Container Registry의 약자로, 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스이다. DockerHub처럼 Docker 이미지를 저장하고 사용할 수 있다.
AWS IAM 기반으로 특정 사용자나 EC2 인스턴스가 레포지터리나 이미지에 접근할 수 있도록 제어하는 프라이빗 레포지터리를 지원한다. 퍼블릭 레포지터리로도 사용할 수 있다.
이 글에서는 ECR에 개념적인 부분만 간단히 정리한다.
특징
1. OCI(Open Container Intiative) 표준 및 Docker Registry HTTP API V2 지원
- Docker CLI 명령을 통해 ECR을 사용할 수 있다. 또한 Docker 컨테이너 이미지 및 관련 OCI 아티팩트를 레포지토리에 저장할 수 있다.
2. 컨테이너 이미지 및 아티팩트를 Amazon S3에 저장한다.
- S3는 버킷에 저장된 객체의 복사본을 자동으로 생성하고 저장하여 높은 데이터 내구성을 제공한다.
3. 접근 제어
- IAM을 사용해 이미지에 접근할 수 있는 사용자나 리소스에 대한 권한을 제한하고 모니터링할 수 있다.
구성 요소
Registry
사용자는 레지스트리에 하나 이상의 레포지터리를 생성하여 해당 레포지터리에 이미지를 저장할 수 있다. 각 AWS 계정은 하나 이상의 ECR 프라이빗 레지스트리를 제공받는다.
Repository
Docker 이미지, Open Container Initiative(OCI) 이미지 및 OCI 호환 아티팩트 등을 저장할 수 있다.
Repository policy
Repository 또는 Repository 내 Docker이미지에 대한 접근 제어를 관리한다.
Image
Repository에 저장된 Docker 이미지. ECS, EKS 등에서 사용할 수 있다.
사용자 권한 토큰
AWS 사용자로서의 인증이 이루어진 사용자만 ECR 서비스를 이용해 Image를 push 하거나 pull 할 수 있다.
참고 문서
https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/what-is-ecr.html