대가는 결과를 만든다

AWS ECR 사용 관련 정리 본문

개발/Container

AWS ECR 사용 관련 정리

yunzema 2019. 12. 20. 10:22
반응형

AWS의 Docker Image Repository인 ECR에서 EC2로 image pull 하는 부분을 정리하겠다.

 

1. 먼저 ECR의 레지스트리 기본 URL 형식은 다음과 같다.

https://aws_account_id.dkr.ecr.region.amazonaws.com

 

 

2. 이 레지스트리에 대해 알맞은 권한을 사용할 IAM 사용자에게 부여해야 한다.

(이 부분은 IAM 사용자에게 권한정책 설정하는 내용이므로 생략하겠다. Elastic Container Registry에 대한 권한을 주면 된다. 참고로 ECR에서 권한설정도 가능하다.)

 

 

3. EC2(혹은 다른 곳)에서 자신 고유의 ECR에 접근할 때는 다음과 같은 절차로 진행한다.

   (aws-cli가 필요하다. 이미 설치까지는 했다는 전제이다. 설치 방법은 공홈문서 여기 참고)

 

1) aws configure를 통해 적절한 권한을 가진 IAM 사용자의 Access Key와 Access Secret Key, default region을 입력

 

2) 자신의 ECR에 접근 가능한 docker client 승인토큰을 발급받는다. (aws-cli를 이용)

aws ecr get-login --region REGION --no-include-email

*REGION : region 명 기입

 

3) 2)번 명령 실행하면, docker cli 로그인 출력문이 나오는데, 이 출력문을 복붙하여 바로 실행한다. docker cli를 이용해 registry에 접속한다. (12시간 접속 권한 유효)

docker login -u AWS -p PASSWORD 
https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com

*PASSWORD : 승인 토큰이 인코딩된 형태로 들어 있을 것이다.

*aws_account_id : registry id가 들어 있을 것이다.

 

 

4. 이제 aws-cli를 통해 해당 registry의 repository 목록을 조회해보자.

#registry안의 모든 repository들 정보 조회
aws ecr describe-repositories

#특정 repository 정보 조회
aws ecr describe-images --repository-name REPOSITORY_NAME

*REPOSITORY_NAME : repository name을 기입

 

 

5. Repository에서 원하는 Image를 pull 해보자.

docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/REPOSITORY_NAME:TAG
docker pull aws_account_id.dkr.ecr.us-west-2.amazonaws.com/REPOSITORY_NAME@DIGEST

*REPOSITORY_NAME : repository name을 기입

*TAG : tag를 기입. repository에서 해당 tag 이미지만 pull 하게됨.

*DIGEST : digest를 기입. tag와 동일하게 동작

Comments