AWS
AWS - ECS (Elastic Container Service)
윤승
2025. 4. 1. 21:37
🚀 ECS (Elastic Container Service) 개념
- ECS는 AWS에서 컨테이너를 실행하고 관리할 수 있는 서비스로, EC2 인스턴스에서 컨테이너를 구동하는 방식이다.
인프라 관리:
- ECS는 EC2 인스턴스를 프로비저닝해야 하고 인프라를 유지 해야함.
- 즉, 컨테이너를 실행하려면 EC2 인스턴스를 사전에 먼저 만들고, 이를 관리해야 한다.
서비스:
- ECS 서비스는 도커 컨테이너의 실행을 관리한다. 새로 생성된 컨테이너가 어디서 실행될지 결정한다
- 애플리케이션 로드 밸런서(ALB)와 통합하여 웹 애플리케이션을 배포할 때도 사용할 수 있다.
💡도커란?
도커는 애플리케이션 배포를 위한 소프트웨어 개발 플랫폼
과거에는 애플리케이션을 운영 체제에 직접 설치했지만, 도커를 사용하면 애플리케이션을 컨테이너에 패키징하여 호환성 문제 없이 어디서든 실행할 수 있게 된다
🚀 Fargate
- Fargate는 ECS의 실행 방식 중 하나로, EC2 인스턴스를 직접 관리하지 않고 컨테이너를 실행할 수 있는 서버리스 서비스이다.
인프라 관리:
- EC2 인스턴스를 관리할 필요 없음.
- AWS가 자동으로 컨테이너에 필요한 CPU와 메모리 리소스를 할당하여 실행
특징:
- 서버리스: 인프라를 신경 쓸 필요가 없고, AWS가 모든 것을 관리한다
- 간편함: 컨테이너 실행에 필요한 프로비저닝할 인프라를 신경 쓰지 않고, 컨테이너만 정의하면 자동으로 실행된다.
🚀 ECR(Elastic Container Registry)
- ECR은 Docker 이미지를 저장하고 관리할 수 있는 AWS의 사설 컨테이너 이미지 레지스트리이다.
사용 방법:
- 도커 이미지를 ECR에 저장해두고, ECS나 Fargate에서 이를 참조하여 컨테이너를 실행한다.
- ECR과 Fargate를 함께 사용할 때, Fargate는 ECR에서 이미지를 가져와서 컨테이너를 실행한다.
🚀 ECS vs Fargate vs ECR 비교
서비스 | 역할 | EC2 필요 여부 | 특징 |
ECS | 컨테이너 오케스트레이션 | ✅ 필요 | EC2에서 직접 컨테이너 관리 |
Fargate | 서버리스 컨테이너 실행 | ❌ 불필요 | AWS가 리소스 자동 관리 |
ECR | 컨테이너 이미지 저장소 | ❌ 불필요 | Docker 이미지 저장 및 배포 |
💡 핵심 요약
- ECS는 컨테이너 관리 서비스로, EC2 인스턴스를 사용하여 컨테이너 실행.
- Fargate는 EC2 없이 서버리스 방식으로 컨테이너 실행.
- ECR은 AWS에서 컨테이너 이미지를 저장하는 사설 레지스트리.