Skip to content

Amazon ECS 작업의 컨테이너 상태 확인 실패 문제를 해결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon Elastic Container Service(Amazon ECS) 작업이 컨테이너 상태 확인에 실패했습니다.

간략한 설명

작업의 Amazon ECS 컨테이너가 서비스가 통과할 수 없는 상태 확인을 사용하는 경우 다음 오류가 표시됩니다.

"(service AWS-Service) (task ff3e71a4-d7e5-428b-9232-2345657889) failed container health checks."

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

컨테이너 인스턴스를 로컬로 테스트하여 컨테이너 상태 확인을 통과하는지 확인

컨테이너 인스턴스를 Amazon ECS에 프로비저닝하기 전에 예상대로 작동하는지 확인해야 합니다. Docker Docs 웹사이트에서 HEALTHCHECK를 사용하여 컨테이너를 테스트하십시오. 컨테이너가 Dockerfile의 상태 확인을 통과하는지 확인합니다. 그런 다음 Amazon ECS 컨테이너 에이전트가 상태 확인을 모니터링하고 보고할 수 있도록 작업 정의에 상태 점검 구성을 지정합니다.

참고: Amazon ECS는 컨테이너 이미지에 내장되어 있으며 컨테이너 정의에 지정되지 않은 Docker 상태 확인은 모니터링하지 않습니다. 컨테이너 정의에 지정된 상태 확인 파라미터는 컨테이너 이미지에 있는 Docker 상태 검사를 재정의합니다.

Amazon ECS 작업에 올바른 구문을 사용하고 있는지 확인

컨테이너 인스턴스에 전달하는 명령이 정확한지와 명령에 올바른 구문을 사용하는지 확인하십시오. 상태 확인 명령을 **["CMD-SHELL", "healthcheck.sh", "||", "exit 1"]**과 같이 큰 따옴표로 구분하지 마십시오. 대신에 다음 명령 구문을 사용하세요.

["CMD-SHELL", "healthcheck.sh || exit 1"]

컨테이너 인스턴스가 시작되도록 충분한 시간을 주십시오.

컨테이너 인스턴스를 시작하는 데 시간이 오래 걸리면 컨테이너 상태 확인에 실패할 수 있습니다. 구성 요구 사항에 맞춰 고급 컨테이너 정의 파라미터에서 startPeriod를 설정합니다.

오랫동안 실행되는 작업의 경우 애플리케이션 로그를 확인하십시오.

컨테이너 인스턴스가 오랫동안 실행되고 컨테이너 상태 확인에 실패하는 경우 애플리케이션 로그를 확인하십시오. 작업에서 awslogs 로그 드라이버를 사용하는 경우 Amazon CloudWatch에서 애플리케이션 로그를 확인하십시오.

참고: AWS Fargate는 관리형 서비스이므로 기본 인프라에 액세스할 수 없습니다. Fargate에 대해 이 문제를 해결하려면 Amazon Elastic Compute Cloud(Amazon EC2)에서 Amazon ECS 작업을 시작하십시오. 그런 다음 SSH를 사용하여 Amazon EC2 인스턴스에 연결합니다. ECS Exec을 사용하여 Amazon ECS 컨테이너와 직접 상호 작용할 수도 있습니다.

관련 정보

Amazon EC2 시작 유형을 사용하는 Amazon ECS 작업이 Application Load Balancer 상태 확인을 통과하도록 하려면 어떻게 해야 합니까?

댓글 없음

관련 콘텐츠