middlemoon
AWS ECR(Elastic Container Registry) 생성하기 본문
AWS ECR은 Amazon Elastic Container Registry의 줄임말로,
Docker 컨테이너 이미지를 저장·관리·배포하기 위한 AWS의 관리형 컨테이너 이미지 레지스트리입니다.

draw.io로 나타낸 도식화입니다. 먼저 VPC는 기존 테스트용 VPC가 있습니다.
하나의 Region안에 EC2를 생성했던 곳에서 ECR Repository를 생성해주었습니다.
hello-world라는 퍼블릭한 이미지를 ECR를 거쳐 이름을 변경합니다.
그 과정은 아래와 같이 정리했습니다.
이미지 푸쉬
push 를 하기위해서는 이미지를 우선 Registry로부터 가져오게됩니다.
이미지는 물론 Public 한, 누구나 외부에서 접근이 가능한 이미지들을 가져올 수 있도록 합니다.



정책 추가
terraform-ec2-role에 ECR 권한이 들어갈 수 있게끔 정책을 추가해줍니다.
(저는 기존 EC2와 IAM Role 기존에 있던것을 활용할 수 있도록 추가했습니다.)
ECR에서 이미지 pull과, push를 모두 진행해야하기 때문에 2개의 권한을 추가해주었습니다.

terraform-ec2-role에 ECR 권한이 들어갈 수 있게끔 정책을 추가해줍니다.
ECR에서 이미지 pull과, push를 모두 진행해야하기 때문에 2개의 권한을 추가해주었습니다.
Test-Image Pull




서버 -> AWS ECR로 Push 과정
(+날짜/빌드번호/버전으로 태그하는 예시)
[root@ip-192-168-100-19 ~]# TAG=$(date +%Y%m%d-%H%M)
[root@ip-192-168-100-19 ~]# docker tag hello-world:latest 890742611047.dkr.ecr.ap-northeast-2.amazonaws.com/mun-test:$TAG
[root@ip-192-168-100-19 ~]# docker push 890742611047.dkr.ecr.ap-northeast-2.amazonaws.com/mun-test:$TAG
The push refers to repository [890742611047.dkr.ecr.ap-northeast-2.amazonaws.com/mun-test]
53d204b3dc5d: Layer already exists
20260106-0654: digest: sha256:19459a6bbefb63f83f137f08c1df645f8846e2cd1f44fe209294ebc505e6495e size: 524
[root@ip-192-168-100-19 ~]#
최종 결과

ECR 자체를 생성하는 건 어렵지않았습니다. 실무에서는 자세히 어떤식으로 사용하는지 알아볼 필요가 있습니다.
다음 시간에는 ECR 을 기반으로 ECS 를 사용하게 컨테이너에 이미지를 구축하여 서비스 배포까지 해보는 시간을 가져보겠습니다.
https://middlemoon.tistory.com/134
AWS ECS 로 배포하기
이전 시간 AWS ECR 생성을 이어서, ECS 쪽 관련된 설정부분을 확인하고 있습니다. 로그를 보니 내 앱이 아니라, 도커 설치 확인용 샘플인 hello-world 이미지로 확인이 되어지고 있네요. ECS의 태스크를
middlemoon.tistory.com
'DevOps > AWS' 카테고리의 다른 글
| AWS ECS( Elastic Container Service) 로 배포하기 (0) | 2026.01.09 |
|---|---|
| AWS Lambda, API Gateway 를 활용하여 비대칭키 발급 구현 (0) | 2025.12.04 |
| AWS Bastion Host의 연결과 Jenkins 파이프라인 설계 - 프로젝트 (2) (0) | 2025.10.21 |
| AWS 클라우드의 VPC 구성부터 EC2 생성까지 - 프로젝트(1) (1) | 2025.10.15 |
| AWS - EC2 인스턴스 생성해서 SSH에 AWS 연결하기(1) (0) | 2022.12.28 |