ECR이란?
Amazon Elastic Container Registry(ECR)은 AWS 클라우드에서 제공하는 Docker 컨테이너 이미지를 쉽게 저장, 관리 배포할 수 있는 완전 관리형 서비스 입니다. ECR은 Docker 컨테이너 이미지의 보안, 확장성 및 관리를 간소화하며 개발자가 서버를 관리하지 않고도
애플리케이션을 컨테이너화 하고 배포할 수 있게 지원합니다.
ECR은 고가용성을 제공하며 이미지를 자동으로 복제하여 여러 AWS 리전에 저장할 수 있고 이를 활용하여 글로벌 확장의 이점을 얻을 수 있습니다. 또한 ECR은 이미지 보안을 위해 암호화된 저장소를 제공, IAM 정책을 통하여 엑세스를 제어할 수 있어 민감한 어플리케이션을 안전하게 관리할 수 있는 장점을 가지고 있습니다!
오늘은 이러한 ECR을 AWS CLI를 사용하여 관리, 이미지를 푸시 하는 방법을 알아보도록 하겠습니다.
리포지토리 생성
새로운 Docker 이미지 리포지토리를 생성하려면 아래 명령어를 사용하면 됩니다.
aws ecr create-repository --repository-name <repository-name>
ECR에 로그인
ECR 리포지토리에 이미지를 푸시하거나 가져오기 전에, Docker 클라이언트를 ECR에 로그인 시켜야 합니다.
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
리포지토리에 이미지 푸시 (docker push)
로컬에서 작업한 Docker 이미지를 ECR 리포지토리에 push (푸시) 하려면 이미지에 태그를 지정해줘야합니다.
그 후 Docker push 명령어를 사용하여 이미지를 푸시하면 됩니다.
1. 이미지에 태그 지정하기
docker tag <local-image>:<tag> <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<repository-name>:<tag>
2. 이미지 푸시 (docker push)
docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<repository-name>:<tag>
리포지토리 목록 조회
AWS CLI를 사용하여 ECR에 존재하는 리포지토리 목록을 조회할 수 있습니다. 이 명령어는 사용자가 ECR에 현재 어떤 리포지토리가 존재하는지, 그리고 그 리포지토리의 세부정보가 무엇인지 확일 할 수 있게 해줍니다.
aws ecr describe-repositories
ECR 리포지토리의 이미지 목록 조회
특정 ECR 리포지토리에 저장된 이미지 목록을 조회하는 명령어 입니다.
aws ecr list-images --repository-name <repository-name>
특정 이미지의 상세 정보 조회
특정 리포지토리 내 특정 이미지에 대한 상세 정보를 확인하는 명령어는 아래와 같습니다.
aws ecr describe-images --repository-name <repository-name> --image-ids imageTag=<tag>
위 명령어들을 기억한다면 AWS ECR에 리포지토리를 생성하고, Docker 이미지에 태그를 붙여 빌드, 푸시(docker push) 하는 과정을 문제 없이 진행할 수 있을거라 생각합니다. 위의 명령들은 기본적인 사용법이니 이해하기 어렵지 않을 것이라 생각합니다.
실제로 이러한 명령어들은 저도 업무를 진행하면서 자주 사용하나 ㅎ 사용이 뜸해지면 쉽게 잊어버리기도 합니다. 그래서 이번 기회에 이렇게 글로 정리해보았습니다. 다음 글에서는 이러한 명령어들을 활용하여 ECR 배포를 자동화하는 쉘 스크립트를 작성해볼까 합니다!
제 글이 도움되셨다면 구독, 즐찾해주시고 ㅎ 다른 개발관련 정리글들도 보러와주시면 감사하겠습니다~! 뿅!
'AWS' 카테고리의 다른 글
EC2 인스턴스 볼륨 확장하는 방법, ec2 디스크 용량 늘리는 방법 (0) | 2024.04.03 |
---|---|
brew로 awscli 설치하고 AWS CLI 설정하기 (aws cli 자격 증명) (0) | 2024.02.05 |
Amazon RDS 소개 및 주요 기능 (0) | 2023.04.28 |
AWS Lambda 서비스 및 주요 기능 이해하기 (0) | 2023.04.26 |
Amazon S3 및 주요 기능 이해 (0) | 2023.04.07 |