Amazon ECS 독립 실행형 태스크
Amazon ECS 독립 실행형 태스크
일부 작업을 수행한 다음 종료되는 애플리케이션(예: 배치 프로세스)이 있다면 애플리케이션을 태스크로 실행할 수 있습니다. 이 글에서는 독립 실행형(standalone) 태스크의 실행 워크플로를 알아봅니다.
출처: 문서
본문
일부 작업을 수행한 다음 종료되는 애플리케이션(예: 배치 프로세스)이 있다면 애플리케이션을 태스크(task)로 실행할 수 있어요. 태스크를 한 번 실행하려면 콘솔, AWS CLI, API, SDK를 사용할 수 있습니다. 애플리케이션을 비율 기반(rate-based), cron 기반, 또는 일회성(one-time) 일정으로 실행해야 한다면 EventBridge Scheduler로 일정을 만들 수 있습니다.
태스크 워크플로 (Task workflow)
Amazon ECS 태스크(독립 실행형 태스크 또는 Amazon ECS 서비스에 의한 태스크)를 실행하면 태스크가 생성되고 초기에 PROVISIONING 상태로 이동합니다. 태스크가 PROVISIONING 상태일 때는 Amazon ECS가 태스크를 배치할 컴퓨트 용량을 찾아야 하므로 태스크나 컨테이너가 아직 존재하지 않습니다.
Amazon ECS는 시작 유형(launch type) 또는 capacity provider 구성에 따라 태스크에 적절한 컴퓨트 용량을 선택합니다. Fargate와 EC2 모두에서 capacity provider와 capacity provider 전략을 사용할 수 있어요.
- Fargate의 경우 클러스터 용량의 프로비저닝, 구성, 확장에 대해 생각할 필요가 없습니다. Fargate가 태스크의 모든 인프라 관리를 처리합니다.
- EC2의 경우 Amazon EC2 인스턴스를 클러스터에 등록하여 클러스터 용량을 관리하거나, 클러스터 자동 확장(cluster auto scaling)을 사용하여 컴퓨트 용량 관리를 단순화할 수 있어요. 클러스터 자동 확장은 클러스터 용량을 동적으로 확장하여 태스크 실행에 집중할 수 있게 해줍니다.
Amazon ECS는 태스크 정의에서 지정한 요구 사항(CPU, 메모리 등)과 배치 제약 조건 및 전략에 따라 태스크를 배치할 위치를 결정합니다. 자세한 내용은 Amazon ECS가 컨테이너 인스턴스에 태스크를 배치하는 방법 문서를 참고하세요.
관리형 확장(managed scaling)이 활성화된 capacity provider를 사용하면, 컴퓨트 용량 부족으로 시작할 수 없는 태스크는 즉시 실패하지 않고 PROVISIONING 상태로 이동합니다. 태스크를 배치할 용량을 찾은 후 Amazon ECS는 필요한 연결(예: awsvpc 모드 태스크의 탄력적 네트워크 인터페이스(ENI))을 프로비저닝합니다. 그런 다음 Amazon ECS 컨테이너 에이전트를 사용해 컨테이너 이미지를 풀하고 컨테이너를 시작합니다. 프로비저닝이 완료되고 관련 컨테이너가 실행되면 Amazon ECS는 태스크를 RUNNING 상태로 이동합니다. 태스크 상태에 대한 정보는 Amazon ECS 태스크 수명 주기 문서를 참고하세요.
더 알아보기 (Learn more)
- 태스크 실행과 태스크 수명 주기에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.