
데브옵스
Amazon ECS 실행 구조와 선택 기준 – 1부: 컴퓨트와 실행 형태
두줄요약
Amazon ECS에서 launch type과 capacity provider의 역할을 분리해 이해하고, 신규 서비스는 capacity provider 기반으로 설계하는 기준을 정리했습니다. 또한 Fargate, EC2, Managed Instances와 실행 형태별 선택 포인트를 비교했습니다.
핵심 내용
- Amazon ECS에서 launch type은 호환 환경 선언, capacity provider는 실제 실행·스케일링 수단으로 분리해 이해할 필요
- 신규 서비스는 capacity provider 기반으로 구성하는 것이 권고되며, EC2와 Fargate 이동도 launch type 전환이 아니라 capacity provider 전환으로 접근
- ECS Managed Instances, Express Mode, REPLICA/DAEMON, RunTask, EventBridge Scheduler 등 컴퓨트와 실행 형태별 선택 기준 정리
선택 이유
- Fargate와 EC2 사이에서 GPU, 특수 하드웨어, OS 패치 부담 같은 공백을 ECS Managed Instances가 보완
- Express Mode는 최소 입력으로 서비스 구성을 자동화하고, 표준 서비스는 장기 실행·상시 서빙에 적합
주의할 점
- Fargate Spot은 중단 특성과 SIGTERM 처리, stopTimeout 설정을 고려해야 함
- DAEMON은 EC2 계열이라도 CODE_DEPLOY, EXTERNAL 배포 컨트롤러에서는 사용할 수 없음
- RunTask는 한 번에 최대 10개, Task definition의 container definition은 최대 10개 제한이 있음
적용해볼 점
- 기존 서비스는 launch type 변경 가능 여부보다 capacity provider 전환 가능성을 먼저 검토
- GPU, 대용량 메모리, 커널 수준 도구가 필요하면 Managed Instances를 후보로 검토
- 배치성 작업은 RunTask와 EventBridge Scheduler로 분리해 운영
