[AWS] ECR에 대하여
[AWS] ECR에 대하여
[AWS] ECR에 대하여
개요
AWS ECR (Elastic Container Registry) 는 AWS에서 제공하는 완전관리형 컨테이너 이미지 저장소입니다. Docker Hub와 유사하지만, IAM 기반 권한 설정, 고가용성, AWS 연동성 등에서 장점을 지니고 있습니다.
이번 글에서는 ECR의 특징과 사용 방법을 간단한 Node.js 예제와 함께 실습합니다.
1. AWS ECR이란?
주요 개념
- 안전하고 확장 가능한 이미지 저장소
- Docker와 호환
- IAM 기반 접근 제어 및 이미지 암호화 제공
- 고가용성 보장 (S3 기반 저장)
- CI/CD 통합 가능 (e.g., CodePipeline, GitHub Actions 등)
주요 기능 요약
- 완전관리형 이미지 저장소 (서버 관리 불필요)
- IAM 기반 인증 및 세밀한 권한 제어
- 내장 암호화 및 S3 기반 내구성
- Docker CLI 지원
- CI/CD 연동 쉬움
2. ECR 실습: Node.js 앱 Docker 이미지 업로드
2-1. Node.js 앱 코드 및 Dockerfile 준비
app.js
1
2
3
4
5
6
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Brickmate Node Server");
});
app.listen(4000, () => console.log("Server started"));
Dockerfile
1
2
3
4
5
FROM node:10.13-alpine
WORKDIR /Desktop/Node
COPY . .
RUN npm install
CMD node app.js
2-2. 앱 빌드 및 실행
1
2
3
4
npm init -y
npm install express
docker build -t sample-app .
docker run -d -p 4000:4000 --name sample-app-container sample-app
2-3. AWS ECR 리포지토리 생성
IAM 권한 보유 필요. 콘솔에서 리포지토리 생성 후 push 가이드 참고 가능
2-4. AWS 자격증명 설정 & ECR 로그인
1
2
3
4
5
6
7
8
9
aws configure
# Access Key, Secret Key, region 등 입력
aws sts get-caller-identity
# 인증 확인
aws ecr get-login-password --region ap-northeast-2 \
| docker login --username AWS \
--password-stdin <your-account-id>.dkr.ecr.ap-northeast-2.amazonaws.com
2-5. Docker 이미지 Push
1
2
3
docker build --platform linux/amd64 -t sample-app .
docker tag sample-app:latest <repo-url>:latest
docker push <repo-url>:latest
예시:
1
2
docker tag sample-app:latest 853881723062.dkr.ecr.ap-northeast-2.amazonaws.com/sample-app:latest
docker push 853881723062.dkr.ecr.ap-northeast-2.amazonaws.com/sample-app:latest
2-6. ECR에서 이미지 확인
✅ 마무리
이번 글에서는 AWS ECR의 개념부터 간단한 컨테이너 이미지 push까지 실습해보았습니다. ECR은 ECS, EKS와 연계할 수 있어 향후 DevOps나 클라우드 네이티브 앱 배포에 필수적인 요소입니다.
다음 포스트에서는 ECS(Elastic Container Service) 와의 연동 실습으로 이어집니다.
감사합니다 🙌
This post is licensed under CC BY 4.0 by the author.








