ECR (Elastic Container Registry)란 무엇인가
ECR은 AWS에서 제공하는 완전관리형 도커 컨테이너 이미지 저장소임.
Docker Hub처럼 컨테이너 이미지를 저장, 관리, 배포하는 역할을 하지만, AWS 인프라와 통합되어 AWS 서비스들과 쉽게 연동할 수 있음.
애플리케이션을 컨테이너화한 후 ECR에 이미지를 저장하고, 이를 ECS, EKS, EC2 등 AWS 서비스에서 사용할 수 있음.
1. ECR의 주요 특징
- 완전 관리형 서비스
- 인프라 관리가 필요 없으며 AWS에서 자동으로 확장 및 관리함.
- 고가용성 및 내구성
- AWS 인프라를 기반으로 고가용성 및 높은 데이터 내구성을 보장함.
- IAM 기반 권한 제어
- AWS IAM(Identity and Access Management)을 통해 세밀한 권한 제어가 가능함.
- 자동 이미지 스캔
- 저장된 이미지에 대해 취약점 스캔을 자동으로 수행할 수 있음.
- 라이프사이클 정책 지원
- 사용하지 않는 오래된 이미지를 자동으로 정리할 수 있도록 지원함.
- 다양한 AWS 서비스 연동
- ECS, EKS, EC2, CodePipeline, CodeBuild 등과 연동하여 CI/CD 파이프라인을 구성할 수 있음.
2. ECR 동작 방식
ECR은 Docker Hub와 유사한 흐름으로 동작하지만, AWS 서비스들과 유기적으로 연결되어 있음.
Docker Build → Docker Tag → Docker Push (ECR) → AWS 서비스에서 Pull
- Docker Build
- 애플리케이션을 Docker 이미지로 빌드함.
- Docker Tag
- 이미지를 ECR 저장소로 푸시하기 위해 태그를 지정함.
- Docker Push
- ECR 저장소로 이미지를 업로드함.
- AWS 서비스에서 Pull
- ECS, EKS 등에서 컨테이너 실행 시 이미지를 ECR에서 가져다 사용함.
3. ECR 사용 방법
1) ECR 저장소 생성
AWS 콘솔 또는 AWS CLI를 통해 저장소를 생성할 수 있음.
aws ecr create-repository --repository-name my-app
2) 로그인
ECR은 Docker Hub와 달리 AWS 인증이 필요하므로, 로그인 과정을 거쳐야 함.
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.ap-northeast-2.amazonaws.com
3) Docker 이미지 빌드 및 태그
docker build -t my-app .
docker tag my-app:latest <aws_account_id>.dkr.ecr.ap-northeast-2.amazonaws.com/my-app:latest
4) Docker 이미지 푸시
docker push <aws_account_id>.dkr.ecr.ap-northeast-2.amazonaws.com/my-app:latest
5) AWS 서비스에서 이미지 사용
ECS, EKS, Lambda 등에서 ECR 이미지를 Pull하여 애플리케이션을 실행할 수 있음.
4. ECR의 장단점
장점 | 단점 |
AWS 서비스와 자연스럽게 연동됨 | AWS 사용자가 아닌 경우 접근성이 낮음 |
자동 확장 및 고가용성 제공 | 저장소당 이미지 수가 많아지면 관리가 복잡해질 수 있음 |
IAM 기반으로 보안과 접근 제어가 뛰어남 | 타 퍼블릭 레지스트리에 비해 요금이 발생함 |
자동 취약점 스캔 및 라이프사이클 관리 기능 제공 | 멀티 클라우드 환경에서는 활용이 제한적임 |
5. 실무 활용 사례
- CI/CD 파이프라인 구축
- CodePipeline, CodeBuild와 연동하여 애플리케이션 이미지를 자동으로 빌드하고 ECR에 저장함.
- EKS, ECS 배포
- Kubernetes 기반의 EKS나 ECS에서 컨테이너 이미지를 ECR에서 가져와 배포함.
- 이미지 버전 관리
- 이미지 태그를 통해 버전을 관리하고, 라이프사이클 정책으로 오래된 이미지를 자동 삭제함.
- 보안 및 컴플라이언스 준수
- 자동 이미지 스캔 기능을 통해 취약점을 사전에 식별하고 대응할 수 있음.
정리
ECR은 AWS에서 제공하는 관리형 컨테이너 이미지 저장소로, AWS 생태계와 자연스럽게 연동됨.
CI/CD 파이프라인과 연결하여 자동으로 이미지를 빌드하고 배포할 수 있으며, ECS, EKS, Lambda 등에서 바로 사용할 수 있음.
보안적으로도 IAM을 통한 접근 제어, 자동 이미지 스캔 기능 등을 제공하여 안전하게 이미지 관리를 할 수 있음.
AWS 기반 인프라를 사용하는 프로젝트에서는 필수적으로 고려해야 할 이미지 저장소임.
출처 : ChatGPT
'Infra > Cloud' 카테고리의 다른 글
AWS Lambda (0) | 2025.04.12 |
---|---|
[AWS] AWS S3(Simple Storage Service) (0) | 2025.03.10 |