참고
ECS 서비스란
- ECS 클러스터 내에서 지정된 수의 태스크 인스턴스를 동시에 실행하고 유지관리 하는데 사용
- 태스크가 실패하거나 중지되면 Amazon ECS 서비스 스케줄러가 태스크의 다른 인스턴스를 시작하여 해당 태스크를 대체, 서비스에서 원하는 수의 태스크를 유지 관리하는 데 도움
- (Optional) 로드 밸런서를 통해 서비스를 실행가능. 로드 밸런서는 서비스와 연결된 태스크 간에 트래픽을 분산
서비스의 상태
ACTIVE
: 정상실행 중인 상태DRAINING
: 서비스 삭제 시 정리가 필요한 태스크가 실행 중인 상태INACTIVE
: 모든 태스크가 종료되고 서비스가 삭제 된 상태, 일정 기간 동안 계정에서 검색 가능한 상태로 유지
서비스 스케줄러 개념
- 지정한 일정 전략을 따르는지 확인하고 작업이 실패하는 경우 작업 일정을 조정
- 서비스의 태스크가 중지되는 경우 스케줄러는 새 태스크를 시작하여 대체
서비스 스케줄러 전략
REPLICA
: 클러스터에 원하는 작업 수를 배치하고 유지. 기본적으로 서비스 스케줄러는 가용 영역에 태스크를 분산. 태스크 배치 전략과 제약을 사용하여 태스크 배치 결정을 사용자 지정 가능DAEMON
: 사용자가 클러스터에 지정하는 작업 배치 제약을 모두 충족하는 각 활성 컨테이너 인스턴스에 한 작업씩 정확히 배포. 서비스 스케줄러는 실행 중인 작업에 대한 작업 배치 제약 조건을 평가하고 배치 제약 조건을 충족하지 않는 태스크를 중지. 이 전략을 사용하는 경우 원하는 태스크 수, 태스크 배치 전략을 지정하거나 서비스 자동 크기 조정 정책을 사용할 필요가 없다.