

# Amazon ECS 작업 정의
<a name="task_definitions"></a>

*작업 정의*란 애플리케이션에 대한 블루프린트와 같습니다. 작업 정의는 애플리케이션을 구성하는 파라미터 및 하나 이상의 컨테이너를 설명하는 JSON 형식의 텍스트 파일입니다.

태스크 정의에서 지정할 수 있는 일부 파라미터는 다음과 같습니다.
+ 사용할 용량(해당 태스크가 호스팅되는 인프라를 결정함)
+ 태스크의 각 컨테이너에 사용할 Docker 이미지
+ 각 태스크 또는 태스크 내 각 컨테이너에서 사용할 CPU 및 메모리의 양
+ 메모리 및 CPU 요구 사항
+ 작업이 실행되는 컨테이너의 운영 체제
+ 태스크의 컨테이너에 사용할 Docker 네트워킹 모드
+ 태스크에 사용할 로깅 구성
+ 컨테이너가 종료 또는 실패하더라도 태스크를 계속 실행할지 여부
+ 컨테이너 시작 시 컨테이너가 실행할 명령
+ 태스크의 컨테이너에서 사용할 데이터 볼륨
+ 태스크에서 사용해야 하는 IAM 역할

작업 정의 파라미터의 전체 목록은 [Fargate에 대한 Amazon ECS 태스크 정의 파라미터](task_definition_parameters.md)를 참조하세요.

태스크 정의를 만든 후 태스크 정의를 태스크 또는 서비스로 실행할 수 있습니다.
+ *태스크는* 클러스터 내 태스크 정의를 인스턴스화하는 것입니다. Amazon ECS에서 애플리케이션에 대한 태스크 정의를 생성하면 클러스터에서 실행할 태스크 수를 지정할 수 있습니다.
+ Amazon ECS *서비스*는 Amazon ECS 클러스터에서 원하는 수의 태스크를 동시에 실행하고 유지할 수 있습니다. 태스크가 어떤 이유로든 실패하거나 중지하면 Amazon ECS 서비스 스케줄러가 태스크 정의에 따라 다른 인스턴스를 시작하는 방식으로 작동합니다. 이로써 이를 대체하여 서비스에서 원하는 수의 태스크를 유지할 수 있습니다.

**Topics**
+ [Amazon ECS 작업 정의 상태](task-definition-state.md)
+ [Amazon ECS에 대한 애플리케이션 설계](application_architecture.md)
+ [콘솔을 사용하여 Amazon ECS 작업 정의 생성](create-task-definition.md)
+ [Amazon Q Developer를 사용하여 Amazon ECS 콘솔에서 태스크 정의 권장 사항 제공](using-amazon-q.md)
+ [콘솔을 사용하여 Amazon ECS 작업 정의 업데이트](update-task-definition-console-v2.md)
+ [콘솔을 사용하여 Amazon ECS 작업 정의 개정 등록 취소](deregister-task-definition-v2.md)
+ [콘솔을 사용하여 Amazon ECS 작업 정의 개정 삭제](delete-task-definition-v2.md)
+ [Amazon ECS 작업 정의 사용 사례](use-cases.md)
+ [Amazon ECS 관리형 인스턴스에 대한 Amazon ECS 태스크 정의 파라미터](task_definition_parameters-managed-instances.md)
+ [Fargate에 대한 Amazon ECS 태스크 정의 파라미터](task_definition_parameters.md)
+ [Amazon EC2에 대한 Amazon ECS 태스크 정의 파라미터](task_definition_parameters_ec2.md)
+ [Amazon ECS 태스크 정의 템플릿](task-definition-template.md)
+ [Amazon ECS 작업 정의 예제](example_task_definitions.md)