카테고리 없음

AWS ECR 사용법 완벽 가이드

idea9329 2024. 10. 21. 22:36
반응형

 

Amazon Elastic Container Registry(ECR)는 AWS에서 제공하는 Docker 이미지 저장소 서비스입니다. Docker 이미지를 안전하게 저장하고 관리할 수 있으며, AWS의 다른 서비스들과 쉽게 연동할 수 있는 장점이 있습니다. 이 글에서는 AWS ECR을 사용하는 방법을 단계별로 설명합니다.


1. AWS ECR 소개

ECR은 Amazon Web Services에서 제공하는 Docker 이미지 레지스트리 서비스로, 온프레미스나 클라우드 환경에서 Docker 컨테이너 이미지를 저장하고 관리할 수 있습니다. ECR은 이미지의 보안, 가용성 및 확장성을 자동으로 처리하여 손쉽게 Docker 이미지를 배포하고 관리할 수 있게 합니다.


2. ECR 기본 사용법

2.1 ECR 리포지토리 생성

ECR을 사용하기 위해서는 먼저 Docker 이미지를 저장할 리포지토리를 생성해야 합니다. 아래 명령어는 AWS CLI를 사용하여 리포지토리를 생성하는 방법입니다.

aws ecr create-repository \
    --repository-name [리포지토리명] \
    --image-scanning-configuration scanOnPush=true \
    --region [리전]

예시:

aws ecr create-repository \
    --repository-name my-docker-app \
    --image-scanning-configuration scanOnPush=true \
    --region us-west-2

이 명령어는 my-docker-app이라는 이름으로 ECR 리포지토리를 생성하고, 이미지가 푸시될 때마다 자동으로 보안 스캔이 실행되도록 설정합니다.


2.2 ECR 로그인

AWS ECR에 Docker 이미지를 업로드하려면 먼저 ECR에 로그인해야 합니다. AWS CLI를 사용하여 로그인 명령어를 실행합니다.

aws ecr get-login-password --region [리전] | docker login --username AWS --password-stdin [계정번호].dkr.ecr.[리전].amazonaws.com

예시:

aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-west-2.amazonaws.com

로그인이 성공하면 Login Succeeded 메시지가 나타납니다.


2.3 Docker 이미지 태그 변경

이제 로컬 Docker 이미지를 ECR에 맞는 형식으로 태그를 변경해야 합니다. 이미지를 푸시하기 전, 이미지 이름을 ECR 리포지토리 URL로 태그합니다.

docker tag [로컬이미지명]:[태그] [계정번호].dkr.ecr.[리전].amazonaws.com/[리포지토리명]:[태그]

예시:

docker tag my-app:latest 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-docker-app:latest

2.4 ECR에 Docker 이미지 업로드

태그를 변경한 이미지를 ECR에 푸시합니다.

docker push [계정번호].dkr.ecr.[리전].amazonaws.com/[리포지토리명]:[태그]

예시:

docker push 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-docker-app:latest

이 명령어가 완료되면 해당 리포지토리 내에 Docker 이미지가 업로드됩니다.


2.5 ECR에서 Docker 이미지 다운로드

저장된 이미지를 다른 EC2 인스턴스나 로컬 환경에서 사용할 수 있습니다. 이미지를 다운로드하려면 docker pull 명령어를 사용합니다.

docker pull [계정번호].dkr.ecr.[리전].amazonaws.com/[리포지토리명]:[태그]

예시:

docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-docker-app:latest

3. ECR 관리 팁

3.1 이미지 삭제

ECR에서 사용하지 않는 이미지는 삭제하여 비용을 절감할 수 있습니다. 특정 이미지를 삭제하려면 다음 명령어를 사용합니다.

aws ecr batch-delete-image \
    --repository-name [리포지토리명] \
    --image-ids imageTag=[태그]

3.2 자동 이미지 정리

이미지 수가 많아지면 리포지토리가 혼잡해질 수 있습니다. 이를 방지하기 위해 ECR에서는 이미지 수명을 자동으로 관리하는 기능을 제공합니다. Lifecycle Policy를 통해 오래된 이미지를 자동으로 삭제하는 규칙을 설정할 수 있습니다.


4. 마무리

이 글에서는 AWS ECR을 사용하여 Docker 이미지를 저장하고 관리하는 방법을 알아보았습니다. ECR을 사용하면 AWS의 다른 서비스들과 쉽게 연동할 수 있어 이미지 관리가 훨씬 효율적입니다. 위의 단계를 따라 Docker 이미지를 쉽게 관리하고 배포해보세요.

이 포스팅이 도움이 되셨다면 공유 부탁드립니다! ECR 사용과 관련하여 궁금한 점이 있다면 댓글로 남겨주세요!

반응형