Amazon ECS 클러스터의 태스크가 시작되지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2022년 3월 24일

Amazon Elastic Container Service(Amazon ECS) 클러스터에 태스크를 배치하려고 합니다. 하지만 태스크 배치가 실패하고 태스크가 클러스터에서 RUNNING 상태로 변경되지 않습니다.

간략한 설명

클러스터에 태스크를 성공적으로 배치하려면 다음 솔루션 중 하나를 선택하세요.

  • Amazon ECS 서비스에 태스크를 배치한 경우 서비스 이벤트 메시지 확인중지된 태스크의 오류 확인 섹션의 단계를 완료합니다.
  • 독립 태스크 또는 예약된 태스크를 사용하여 태스크를 실행한 경우 중지된 태스크의 오류 확인 섹션의 단계를 완료하세요.

해결 방법

서비스 이벤트 메시지 확인

  1. Amazon ECS 콘솔을 엽니다.
  2. 탐색 메뉴에서 클러스터를 선택한 다음, 서비스가 포함된 클러스터를 선택하십시오.
  3. 클러스터 페이지의 서비스 탭에 있는 서비스 이름 열에서 검사할 서비스를 선택하십시오.
  4. 서비스 페이지에서 이벤트를 선택하십시오.
  5. 메시지 열에서 오류나 기타 유용한 정보를 확인하세요.

5단계에서 발견한 결과에 따라 서비스 이벤트 메시지를 검토하여 오류를 해결합니다.

참고: 서비스 이벤트는 마지막 100개의 이벤트만 표시합니다.

중지된 태스크의 오류 확인

중요: 지난 1시간 동안 중지된 태스크만 볼 수 있습니다.

  1. Amazon ECS 콘솔을 엽니다.
  2. 탐색 메뉴에서 클러스터를 선택한 다음, 중지된 태스크가 포함된 클러스터를 선택하십시오.
  3. 클러스터 페이지에서 태스크 탭을 선택하십시오.
  4. 확인하려는 태스크 상태 테이블 헤더에서 중지됨을 선택한 다음, 검사할 중지된 태스크를 선택하십시오. 가장 최근에 중지된 태스크가 먼저 나열됩니다.
  5. 중지된 태스크의 세부 정보 탭에서 중지된 이유 필드를 검사하여 태스크가 중지된 이유를 확인하세요.
  6. 중지된 컨테이너가 있고 중지된 이유태스크 시작 실패인 경우 컨테이너에서 상태 원인 행을 검사하여 태스크 상태가 변경된 원인을 확인합니다.

5단계의 결과를 토대로 다음 정보를 검토하여 오류를 해결하세요.

  • 태스크 실패 (elb elb-name)에서 ELB 상태 확인: 현재 태스크가 태스크의 서비스와 연결된 로드 밸런서에 대한 탄력적 로드 밸런싱 상태 확인에 실패했습니다. 자세한 내용은 서비스 로드 밸런서 문제 해결을 참조하세요.
    참고: 이 근본 원인은 서비스의 일부로 시작된 태스크에만 적용됩니다.
  • (deployment-id 배포)에 의해 시작된 크기 조정 활동: 원하는 안정적인 서비스 수를 줄이면, 일부 태스크를 중지하여 원하는 수에 도달해야 합니다. 서비스 축소로 인해 중지된 태스크에 대해 이 중지된 이유가 표시됩니다. 자세한 내용은 서비스 자동 크기 조정 문제 해결을 참조하세요.
    참고: 이 근본 원인은 서비스의 일부로 시작된 태스크에만 적용됩니다.
  • 호스트 EC2 (인스턴스 ID) 가 중지됨/종료됨: 실행 중인 태스크가 있는 Amazon Elastic Compute Cloud(Amazon EC2) 컨테이너 인스턴스를 중지하거나 종료하면 이 중지된 이유가 표시됩니다. Amazon EC2 인스턴스가 종료된 이유를 알아보려면 Amazon EC2가 내 인스턴스를 종료한 이유는 무엇입니까?를 참조하세요.
  • 사용자가 강제로 컨테이너 인스턴스 등록 취소: 실행 중인 태스크가 있는 컨테이너 인스턴스의 등록을 강제로 취소하면 이 중지된 이유가 표시됩니다.
  • 태스크의 필수 컨테이너가 종료됨: 태스크 정의에서 필수로 표시된 컨테이너가 종료되거나 종료되면 태스크가 중지될 수 있습니다. 필수 컨테이너 종료가 중지된 태스크의 원인인 경우 이 중지된 이유가 표시됩니다. 이 경우 6단계의 결과는 컨테이너가 중지된 이유에 대한 추가 진단 정보를 제공합니다.

또한 API 실패 이유를 검토합니다.

6단계에서 발견한 결과에 따라 다음 정보를 검토하여 오류를 해결하세요.

  • 컨테이너 상태가 CannotPullContainerError 오류인 경우 CannotPullContainer 태스크 오류를 참조하세요.
  • 반환된 다른 오류 메시지와 이러한 오류 메시지에 대한 자세한 내용은 중지된 태스크 오류 코드를 참조하세요.
  • 이 검사에서 충분한 정보를 제공하지 못하고 EC2 시작 유형을 사용한 경우 SSH를 사용하여 컨테이너 인스턴스에 연결하고 로컬에서 Docker 컨테이너를 검사합니다. 자세한 내용은 Docker 컨테이너 검사를 참조하세요.

참고: 태스크 배치 제약이나 전략을 사용하는 경우 클러스터에서 제약 또는 전략 요구 사항을 충족하는 인스턴스를 사용해야 합니다.