[운송장 정보보호 서비스] AWS ECR에 이미지 삽입

신현식·2023년 5월 31일
0

캡스톤디자인

목록 보기
4/7
post-thumbnail

AWS ECR에 이미지 삽입

AWS ECR은 도커 허브와 같은 컨테이너 이미지 레지스트리 서비스다. AWS IAM 계정을 사용하여 프라이빗(Private) 리포지토리를 사용할 수 있고 AWS CLI를 이용하여 도커 이미지를 리포지토리에 푸시(Push), 풀(Pull), 삭제할 수 있다.

ECR을 사용하면 AWS EC2 및 ECS에서 컨테이너 리포지토리 및 도커 이미지에 액세스할 수 있으며 도커 이미지 스캔을 지원하기 때문에 사용에 따른 이점이 많다.

ECR 생성

ECR생성 화면이 뜰 것이고 Private 으로 할지 Public으로 할지 선택하라고 뜰 것이다. 우리는 외부에 이미지를 공개할 필요는 없기 때문에 Private으로 생성한다.

  • Repositry name은 < 자신의 Account ID>.dkr.ecr.< region>.amazonaws.com/< repository name> 이다. 빈칸에 자신의 ECR repository 명을 입력하면 그대로 생성된다.

이미지 push

이미지를 push하기 위해서는 ECR IAM Role이 필요하다. 이미지를 push하려면 aws ecr get-login-password 명령으로 authorization token 을 발급받아야 한다. 이 authorization token 은 12시간 동안 유효하며, 이미지를 저장할 때마다 필요하다. 생성한 레포지토리에 들어가서 <푸쉬 명령 보기>를 클릭하여 순차적으로 따라하면 ecr에 이미지를 push하는 것이 가능하다.

  • ECR에 대해 Docker 클라이언트를 인증
aws ecr get-login-password --region <region> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com
  • 이미지를 만들고 ECR로 생성된 이미지를 푸쉬
    -> 이미지의 REPOSITORY 정보를 ECR Repository URL로 지정해줘야 한다. 이 내용은 레포지토리에 들어가면 확인할 수 있다.
# 이미지 build
docker build . -t <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<repository_name>:<tag>

# 이미지 ecr에 push
docker push <aws_account_id>.dkr.ecr.<region>.amazonaws.com/<my-repository>:<tag>

여기까지 모두 진행하고 나면 ecr private repository에 성공적으로 생성한 이미지가 업로드 되어 있는 것을 확인 할 수 있다.

ecr에 이미지를 push하는 방법도 알았고 각 프로젝트의 개발 코드를 도커라이징 하는 방법도 알았기 떄문에 이제는 알고있는 내용을 바탕으로 CI/CD 작업을 진행 할 계획이다. push된 이미지를 자동으로 가져와서 새롭게 배포할 수 있도록 github action를 사용하여 CI/CD를 구축해볼 것이다.

profile
전공 소개

0개의 댓글