Stack/AWS

ECR, ECS

annovation 2025. 4. 18. 08:51

ECR

💡 ECR이란?

ECR (Elastic Container Registry)이란, AWS에서 제공하는 Docker 이미지 저장소이다.

DockerHub처럼 퍼블릭 레지스트리가 아니라, 프라이빗하게 내 이미지를 저장하고 관리할 수 있다.

 

💡 왜 필요한가?

CI/CD 파이프라인을 통해 앱을 빌드하고 Docker 이미지로 만든 뒤, 그걸 ECS 같은 서비스에서 실행하려면 어디엔가 저장해둬야 한다.

이 때 안전하고 AWS 내부 네트워크로 연결 가능한 ECR이 강력한 도구가 된다.

 

💡 정리

 

  • DockerHub와 비슷하지만, AWS에 최적화
  • 보안, IAM 권한, VPC 통합 등 AWS 네이티브 기능 사용 가능
  • ECS, Fargate 등과 쉽게 연동됨

 

ECS

💡 ECS란?

ECS (Elastic Container Service)란, AWS에서 제공하는 컨테이너 오케스트레이션 서비스이다.

직접 인프라를 구성하지 않고도 컨테이너 앱을 클러스터로 구성해 실행할 수 있게 해준다.

오케스트레이션(Orchestration)이란?
오케스트레이션은 원래 오케스트라에서 여러 악기를 조율해서 하나의 음악을 만들어내는 것을 뜻한다.
IT에서는 비슷하게, 여러 개의 컨테이너(=악기)를 자동으로 조율하고 관리하는 것을 말한다.

 

💡 왜 필요한가?

Docker만으로는 로컬 테스트나 단일 서버에서 실행은 가능하지만, 프로덕션 수준의 확장성, 안정성, 로드 밸런싱, 자동 복구를 구현하기 어렵다.
ECS는 이를 자동으로 처리해준다.

 

💡 두 가지 실행 방식

실행 방식 설명 특징
EC2 Launch Type EC2 인스턴스 위에 컨테이너 실행 서버 관리 필요
Fargate Launch Type AWS가 인프라까지 관리해줌 서버리스, 진짜 편함

💡 ECS 작업 구성 요소

 

  • 클러스터 (Cluster) : 컨테이너들을 묶어 관리하는 단위
  • 태스크 정의 (Task Definition) : 어떤 컨테이너 이미지를 어떤 설정으로 실행할지 명시
  • 서비스 (Service) : 태스크를 몇 개 실행할지, Auto Scaling 여부, 배포 전략 등을 설정

💡 사용 흐름 요약

 

  • Docker 이미지 → ECR 푸시
  • ECS에서 Task Definition 생성 (이미지 경로는 ECR)
  • Cluster + Service 설정
  • Load Balancer 연결 (선택)
  • 배포!

🧑‍💻 백엔드 개발자에게 왜 중요한가?

 

  • DevOps와의 연결 고리 : 실무에서 "이미지 빌드하고 ECS에 올려봐"라는 말을 들을 수 있다.
  • 풀스택 백엔드 지향 : 서버 개발뿐 아니라 배포와 운영 자동화까지 고려할 수 있는 개발자는 채용 시장에서 훨씬 매력적이다.
  • CI/CD 파이프라인 필수 요소 : GitHub Actions → ECR → ECS 로 이어지는 자동 배포 파이프라인은 실무에서 자주 사용됨

 


공식 문서

1. AWS 공식 ECR 문서 : https://docs.aws.amazon.com/ecr/

2. AWS 공식 ECS 문서 : https://docs.aws.amazon.com/ecs/


출처

OpenAI ChatGPT (https://openai.com)

 

 

'Stack > AWS' 카테고리의 다른 글

권한(Permission), 정책(Policy), 역할(Role)  (0) 2025.04.08