ㅇ.ㅇ
[AWS] ECR 본문
반응형
(인프런의 '비전공자도 이해할 수 있는 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 |