Amazon ECS 서비스 제한 로직 - Amazon Elastic Container Service

Amazon ECS 서비스 제한 로직

Amazon ECS 서비스 스케줄러는 태스크 시작이 반복적으로 실패하는 경우 태스크 시작 빈도를 스로틀링하는 로직을 포함합니다. 이를 통해 불필요한 리소스 소비를 방지하고 비용을 절감할 수 있습니다.

서비스의 태스크가 PENDING에서 RUNNING 상태로 전환되지 않고 대신 STOPPED로 직접 이동되는 경우 스케줄러는 다음을 수행합니다.

  • 재시작 시도 간격을 점진적으로 늘림

  • 시도 사이에 지연을 계속 늘림(최대 27분)

  • 서비스 이벤트 메시지를 생성하여 사용자에게 문제를 알림

참고

최대 지연 기간인 27분은 향후 업데이트에서 변경될 수 있습니다.

스로틀링이 활성화되면 다음 서비스 이벤트 메시지가 수신됩니다.

(service service-name) is unable to consistently start tasks successfully.

스로틀 로직의 중요한 특성:

  • 서비스에서 무기한으로 계속해서 재시도함

  • 재시작 사이에 늘어나는 시간만 수정 가능

  • 사용자가 구성할 수 있는 파라미터가 없음

스로틀링 문제 해결

스로틀링을 해결하기 위해 다음을 수행할 수 있습니다.

  • 새로운 태스크 정의를 사용하도록 서비스를 업데이트합니다. 그러면 서비스는 스로틀링되지 않은 정상 작업으로 즉시 돌아갑니다. 자세한 내용은 Amazon ECS 서비스 업데이트 섹션을 참조하세요.

  • 태스크 실패의 근본 원인을 해결합니다.

스로틀링을 트리거하는 태스크 실패의 일반적인 원인은 다음과 같습니다.

중요

다음 시나리오에서는 스로틀 로직을 트리거하지 않습니다.

  • RUNNING 상태에 도달한 후 중지되는 태스크

  • 실패한 Elastic Load Balancing 상태 확인으로 인해 중지되는 태스크

  • RUNNING 상태에 도달한 후 0이 아닌 코드와 함께 컨테이너 명령이 종료되는 태스크