Recent Posts
Recent Comments
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
관리 메뉴

ㅇ.ㅇ

[AWS] ECR 본문

Today I Learned

[AWS] ECR

dbs_ 2025. 6. 1. 23:44
반응형

 

(인프런의 '비전공자도 이해할 수 있는 Docker 입문/실전' 강의를 보고 정리하였습니다)

 

ECR(Elastic Container Registry)이란?

우리가 만든 애플리케이션을 다른 사용자들이 인터넷을 통해 접속하고 사용할 수 있도록 하려면 배포 과정이 필요하다. 그런데 이 애플리케이션이 Docker 컨테이너로 배포된다면? 이미지를 저장하고 관리할 수 있는 공간이 필요하다.
그 역할을 하는 것이 바로 ECR(Elastic Container Registry)이다.

  • ECR은 AWS에서 제공하는 Docker 이미지 저장소.
  • 쉽게 말해, Docker Hub와 비슷한 역할을 하지만 AWS에서 제공하고 관리됨.

 

ECR을 왜 사용할까?

Docker Hub도 있는데 왜 굳이 AWS ECR을 사용할까?

  • AWS 서비스와 연동이 쉽다
  • 보안 및 관리의 편리성 - AWS의 보안 서비스와 통합되어 안전하고 편리함.
  • 프로젝트 배포 간소화 - 이미지 빌드 후 ECR에 push 하면, EC2 등에서 바로 pull 해서 배포 가능.

 

ECR 세팅 - AWS CLI 설치

[맥(Mac OS)]
$ brew install awscli
$ aws --version # 잘 출력된다면 정상 설치된 상태

[윈도우(Windows)]
# 이 링크(<https://awscli.amazonaws.com/AWSCLIV2.msi>)를 다운받아 설치하기
$ aws --version # 잘 출력된다면 정상 설치된 상태

[우분투(Ubuntu)] -> ec2에서 실행
$ sudo apt install unzip
$ curl "<https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip>" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
# 압축을 풀면 생기는 aws 폴더 안의 install 스크립트를 실행하여 AWS CLI v2를 시스템에 설치
$ aws --version # 잘 출력된다면 정상 설치된 상태

 

ECR 세팅 - IAM 설정

ECR에 접근하려면 AWS IAM(Identity and Access Management)을 설정해야 한다.

  • 사용자 생성 – ECR에 접근할 수 있는 IAM 사용자 생성.
  • 직접 정책 연결 
    • container 입력 → AmazonEc2ContainerRegistryFullAccess 체크
  • 보안 자격 증명 - 엑세스 키 발급
  • aws configure 명령어 입력
    • 위에서 만든 액세스 키 복사하기
    • region name : ap-northeast-2 (한국)

 

ECR 세팅 - 리포지토리 생성

Docker 이미지를 저장할 수 있는 저장소를 만들어야 한다.

  • 생성하기 - private 설정, 리포지토리 이름 설정
  • 하나의 레포지토리 안에서는 한 종류의 이미지만 저장하고 관리한다.
  • 푸시명령보기 - 푸시하는 방법이 나온다
# 로그인
$ aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com

# 이미지 빌드
$ docker build -t instagram-server .

# 이미지 빌드
$ docker tag instagram-server:latest 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest

# 푸시하기
$ docker push 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest

 

반응형

'Today I Learned' 카테고리의 다른 글

[Linux] Rich Rules  (1) 2025.06.17
[DEV] XSS  (2) 2025.06.12
[Security] @Secured, @PreAuthorize, @PostAuthorize  (0) 2025.05.27
[AWS] 배포와 EC2  (0) 2025.05.24
[Postgres] pgAdmin을 통해 데이터 Backup / Restore  (0) 2025.05.22