ELB에 등록되었고 정상적으로 작동하는 Amazon ECS 태스크가 비정상으로 표시되어 교체된 이유는 무엇입니까?

최종 업데이트 날짜: 2022년 9월 19일

Elastic Load Balancing(ELB)이 제대로 작동하는 Amazon Elastic Container Service(Amazon ECS) 태스크를 반복해서 비정상으로 표시합니다. 이렇게 잘못 표시된 태스크는 중지되고 새 태스크가 대신 시작됩니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

일부 Amazon ECS 태스크에는 의도된 대로 작동하는 경우라도 ELB 상태 확인 유예 기간을 초과할 수 있는 몇 가지 종속성과 긴 부트스트래핑 프로세스가 있습니다. Amazon ECS 태스크가 유예 기간 내에 ELB 상태 확인에 응답하지 않으면 상태가 비정상인 것으로 표시됩니다. 서비스의 상태 확인 유예 기간을 늘리려면 다음 단계를 완료하세요.

Application Load Balancer 상태 확인에 실패한 ECS 태스크 문제를 해결하려면 Amazon EC2 시작 유형을 통해 Amazon ECS 태스크를 실행하여 Amazon ECS에서 Application Load Balancer 상태 확인을 통과하도록 하려면 어떻게 해야 하나요?를 참조하세요.

해결 방법

유예 기간이 구성되지 않은 경우 서비스 스케줄러는 비정상으로 표시된 모든 대상을 즉시 교체합니다. Amazon ECS 태스크가 프로세스를 완료하고 상태 확인을 통과하는 데 더 많은 시간을 할애할 수 있도록 유예 기간을 변경하세요.

  1. AWS Management Console을 엽니다.
  2. 탐색 모음에서 Services(서비스)를 선택한 다음, 목록에서 ECS를 선택합니다.
  3. Service Name(서비스 이름) 목록에서 서비스를 선택합니다.
  4. Update(업데이트)를 선택합니다.
  5. Next step(다음 단계)을 선택합니다.
  6. Step 2: Configure network(2단계: 네트워크 구성) 페이지에서 Health check grace period(상태 확인 유예 기간)를 서비스에 적절한 기간(최대 2,147,483,647초)으로 변경합니다.
    주의: 비정상 Amazon ECS 태스크의 지연 교체를 방지하려면 알고 있는 최장 태스크에 필요한 유예 기간을 신중하게 추정하세요. 유예 기간을 설정할 때는 부트스트랩 시간 및 컨테이너 이미지를 가져오는 시간과 같은 모든 관련 요소를 고려하세요.
  7. Next step(다음 단계)을 선택한 후 Update Service(서비스 업데이트)를 선택합니다.

다음과 같이 유예 기간을 늘릴 수도 있습니다.

  • AWS CloudFormationAWS::ECS::Service 리소스에 정의된 HealthCheckGracePeriodSeconds 파라미터 사용.
  • AWS Command Line Interface(AWS CLI)에서 UpdateService 명령을 실행하고 --health-check-grace-period-seconds 값을 늘림.

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?