← 전체 목록
🐳
Amazon ECS
컴퓨팅컨테이너 오케스트레이션
▶아키텍처 다이어그램
점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다
왜 필요한가요?
애플리케이션을 컨테이너로 배포하면 환경 차이는 줄어들지만, 여러 컨테이너를 어떤 서버에 어떻게 띄우고 장애 시 어떻게 다시 올릴지 직접 관리하기 시작하면 운영 복잡도가 급격히 커집니다.
안에서 어떻게 동작하나요?
ECS는 태스크 정의에 컨테이너 실행 방식을 적어두고, 클러스터 안에서 원하는 개수만큼 태스크를 유지합니다. 이미지는 보통 ECR에서 가져오고, 실행 환경은 EC2 또는 Fargate를 선택하며, ALB가 서비스 앞단에서 트래픽을 나눕니다.
무엇과 헷갈리나요?
ECS와 EC2는 둘 다 앱을 실행하지만 관리 단위가 다릅니다. EC2는 서버가 중심이고, ECS는 컨테이너 태스크와 서비스가 중심입니다. 컨테이너 배포 표준화와 롤링 업데이트가 중요하면 ECS가 맞고, OS까지 세밀하게 만져야 하면 EC2가 더 직접적입니다.
왜 이런 방식이 등장했나요?
컨테이너를 직접 운영하던 초기 방식은 서버마다 수동 배포 스크립트와 실행 규칙이 달라질수록 장애 복구와 확장이 어려워졌습니다. 그래서 컨테이너 정의, 원하는 개수 유지, 롤링 업데이트를 서비스 차원에서 관리하는 ECS 같은 계층이 필요해졌습니다.
언제 쓰나요?
마이크로서비스, 배치 워커, 컨테이너 기반 API처럼 같은 패턴으로 여러 서비스를 운영할 때 적합합니다. 컨테이너 없이 서버를 직접 다루거나 요청 단위 함수 실행만 필요한 경우에는 맞지 않습니다.
마이크로서비스배치 처리CI/CD 파이프라인앱 마이그레이션
Official Docs
AWS더 깊게 보기
현재 페이지의 개념 설명을 본 뒤 공식 문서로 바로 이동합니다.