AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

컨테이너가 종료될 때 Amazon ECS 작업이 중단되거나 시작되지 않는 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

ECS 클러스터에서 Amazon Elastic Container Service(Amazon ECS) 작업이 실패하는 문제를 해결하고 싶습니다.

간략한 설명

이미지 문제, 애플리케이션 문제, 리소스 제약, 또는 기타 문제로 인해 컨테이너가 종료될 수 있습니다.

이미지 문제로 인해 작업이 실패한 경우 Amazon ECS 클러스터에서 작업 시작이 실패할 때 "Image does not exist" 오류를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

예기치 않게 중지된 AWS Fargate 작업에 대해서는 Amazon ECS 중지된 작업 오류 메시지를 참조하십시오.

ECS 작업이 시작되지 않는 원인이 되는 다른 문제를 분석하려면 AWS Systems Manager 자동화의 AWSSupport-TroubleshootECSTaskFailedToStart 런북을 사용할 수 있습니다.

Amazon ECS 클러스터의 문제를 수동으로 해결할 수도 있습니다.

해결 방법

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

런북을 실행하여 클러스터의 문제 해결

AWSSupport-TroubleshootECSTaskFailedToStart 런북을 시작하기 전에 IAM 사용자 또는 역할에 필요한 권한이 있는지 확인하십시오. 자세한 내용은 AWSSupport-TroubleshootECSTaskFailedToStart필수 IAM 권한 섹션을 참조하십시오.

런북을 시작하려면 다음 단계를 수행하십시오.

  1. AWS Systems Manager 콘솔에서 AWSSupport-TroubleshootECSTaskFailedToStart 문서를 엽니다.
  2. 자동화 실행을 선택합니다.
  3. 입력 파라미터에 다음 값을 입력합니다.
    (선택 사항) AutomationAssumeRole: 자동화가 사용자를 대신하여 작업을 수행할 수 있도록 하는 IAM 역할의 ARN입니다. 역할을 지정하지 않으면 자동화에서는 런북을 시작하는 사용자의 권한을 사용합니다.
    ClusterName: 작업 시작에 실패한 ECS 클러스터의 이름입니다.
    (선택 사항) CloudwatchRetentionPeriod: AWS Lambda 함수 로그를 Amazon CloudWatch Logs에 저장하는 보존 기간(일)입니다.
    참고: 분석 결과 네트워크 연결을 테스트해야 한다고 판단되면 이 값을 정의합니다. 기본값은 30일입니다. 기타 유효한 값은 1, 3, 5, 7, 14, 60 및 90입니다.
    TaskId: 가장 최근에 실패한 작업의 ID입니다.
  4. 실행을 선택합니다.
    참고: 런북의 단계에 대한 자세한 내용은AWSSupport-TroubleshootECSTaskFailedToStart문서 단계 섹션을 참조하십시오.
  5. 출력 섹션에서 자세한 결과를 검토합니다. 출력에는 다음 정보가 포함됩니다.
    TaskFailureReason: 최종 작업 실패의 원인 분석입니다.
    ExecutionLogs: 런북이 수행한 각 단계의 출력 로그입니다.
    ENI_Deletion_Message.Status: 런북이 Lambda 함수를 생성하여 네트워크 연결을 테스트할 때 Lambda 가상 프라이빗 클라우드(VPC) 탄력적 네트워크 인터페이스 삭제의 상태입니다.
    참고: ENI_Deletion_Message에 네트워크 인터페이스가 삭제되지 않았다고 표시되면 네트워크 인터페이스를 수동으로 삭제하십시오.

ECS 클러스터 문제를 수동으로 해결

서비스 이벤트 로그에서 진단 정보를 확인합니다. 또한 Amazon ECS 콘솔 또는 AWS CLI를 사용하여 중지된 작업에 오류가 있는지 확인할 수 있습니다.

메모리 제약 문제를 해결하려면 Amazon ECS의 작업에 메모리를 할당하려면 어떻게 해야 합니까?를 참조하십시오.

로그 드라이버를 이미 구성한 경우 애플리케이션 로그에서 애플리케이션 문제를 확인합니다. 예를 들어 작업 정의에서 awslogs 로그 드라이버를 구성한 경우 Amazon CloudWatch에서 awslogs 컨테이너 로그를 볼 수 있습니다. 또는 작업 정의의 로그 구성 옵션을 사용해 컨테이너의 지원되는 로그 드라이버로 로그를 전송하십시오.

Fargate 이외의 ECS 작업

Amazon Elastic Compute Cloud(Amazon EC2) 시작 유형과 함께 기본 JSON 파일 로그 드라이버를 사용하는 경우 다음 Docker 로그 명령을 실행하십시오.

docker logs dc7240fe892a

참고: dc7240fe892a를 컨테이너 ID로 바꾸십시오.

위 명령은 ECS 컨테이너 인스턴스에 있는 컨테이너의 Docker 로그를 확인합니다. JSON 파일 로깅 드라이버에 대한 자세한 내용은 Docker 웹 사이트의 JSON 파일 로깅 드라이버를 참조하십시오.

Fargate 작업

awslogs 로그 드라이버는 Docker에서 CloudWatch 로그로 로그를 전달합니다. 로그에는 명령 출력의 STDOUTSTDERR I/O 스트림이 표시됩니다.

관련 정보

AWS Support Automation Workflow(SAW)

자동화 설정

Systems Manager 자동화로 구동되는 자동 작업 실행

AWS 공식
AWS 공식업데이트됨 한 달 전
댓글 없음

관련 콘텐츠