서비스 로드 밸런서 문제 해결 - Amazon Elastic Container Service

서비스 로드 밸런서 문제 해결

Amazon ECS 서비스는 Elastic Load Balancing 로드 밸런서에 태스크를 등록할 수 있습니다. 로드 밸런서 구성 오류는 중지된 작업의 일반적 원인입니다. 중지된 작업이 로드 밸런서를 사용하는 서비스에 의해 시작된 경우, 가능한 다음 원인을 고려하세요.

중요

Classic Load Balancer를 사용하도록 구성된 서비스에 포함되는 작업일 때는 컨테이너 상태 검사가 지원되지 않습니다. Amazon ECS 서비스 스케줄러는 Classic Load Balancer 뒤에서 UNHEALTHY 상태인 태스크를 무시합니다.

Amazon ECS 서비스 연결 역할이 없음

Amazon ECS 서비스 연결 역할을 사용하면 Amazon ECS 서비스가 Elastic Load Balancing 로드 밸런서에 컨테이너 인스턴스를 등록할 수 있습니다. 계정에서 서비스 연결 역할이 생성되어야 합니다. 자세한 내용은 Amazon ECS용 서비스 연결 역할 섹션을 참조하세요.

컨테이너 인스턴스 보안 그룹

컨테이너가 컨테이너 인스턴스에서 포트 80에 매핑된 경우, 로드 밸런서 상태 확인에 통과하려면 컨테이너 인스턴스 보안 그룹이 포트 80에서 인바운드 트래픽을 허용해야 합니다.

모든 가용 영역에 대해 Elastic Load Balancing 로드 밸런서가 구성되지 않음

리전 내의 모든 가용 영역 또는 적어도 컨테이너 인스턴스가 상주하는 모든 가용 영역을 사용하도록 로드 밸런서를 구성해야 합니다. 서비스가 로드 밸런서를 사용하고 로드 밸런서가 사용하도록 구성되지 않은 가용 영역에 상주하는 컨테이너 인스턴스에서 태스크를 시작하는 경우, 해당 태스크는 절대로 상태 확인을 통과하지 못하고 사망합니다.

Elastic Load Balancing 로드 밸런서 상태 확인이 잘못 구성됨

로드 밸런서 상태 확인 파라미터가 지나치게 제한적이거나 존재하지 않는 리소스를 가리키고 있을 수 있습니다. 컨테이너 인스턴스 상태가 비정상이라고 결정되는 경우, 로드 밸런서에서 제거됩니다. 서비스 로드 밸런서에 대해 다음 파라미터가 올바로 구성되어 있는지 확인해야 합니다.

Ping Port

로드 밸런서 상태 확인의 Ping Port 값은 컨테이너 인스턴스 상의 포트로서 정상 여부는 로드 밸런서가 확인합니다. 이 포트가 잘못 구성되면 로드 밸런서가 이 포트에서 컨테이너 인스턴스 등록을 취소할 수도 있습니다. 이 포트는 상태 확인에 사용하는 서비스의 태스크 정의에서 컨테이너에 hostPort 값을 사용하도록 구성되어야 합니다.

Ping Path

이 값은 흔히 index.html로 설정되지만 서비스가 해당 요청에 응답하지 않는 경우에는 상태 확인에 실패합니다. 컨테이너에 index.html 파일이 없는 경우, 이를 /로 설정하여 컨테이너 인스턴스의 기본 URL을 대상으로 지정할 수 있습니다.

Response Timeout

상태 확인 ping에 대해 응답을 반환해야 하는 시간입니다. 이 값이 응답에 필요한 시간보다 낮으면 상태 확인이 실패합니다.

Health Check Interval

상태 확인 ping 사이의 시간입니다. 상태 확인 간격이 짧을수록 컨테이너 인스턴스가 비정상 임계값(Unhealthy Threshold)에 빠르게 도달할 수 있습니다.

Unhealthy Threshold

컨테이너 인스턴스 상태가 비정상이라고 간주될 때까지 허용되는 상태 확인 실패 횟수입니다. 비정상 임계값이 2이고 상태 확인 간격이 30초인 경우, 작업이 60초 동안 상태 확인 ping에 응답하지 않으면 비정상으로 간주됩니다. 비정상 임계값 또는 상태 확인 간격을 늘리면 작업의 응답 시간을 늘릴 수 있습니다.

서비스 servicename을 업데이트할 수 없음: 태스크 정의에서 로드 밸런서 컨테이너 이름 또는 포트가 변경됨

서비스가 로드 밸런서를 사용하는 경우, 서비스를 생성할 때 정의한 로드 밸런서 구성은 변경할 수 없습니다. 서비스에 대한 태스크 정의를 업데이트하는 경우, 서비스를 만들 때 지정한 컨테이너 이름 및 컨테이너 포트가 태스크 정의에서 그대로 유지되어야 합니다.

서비스 로드 밸런서 구성에 연결된 로드 밸런서 이름, 컨테이너 이름 또는 컨테이너 포트를 변경하려면 새 서비스를 만들어야 합니다.

동시에 실행할 수 있는 작업 수가 제한에 도달했습니다.

새 계정의 경우 할당량이 서비스 할당량보다 낮을 수 있습니다. 계정의 서비스 할당량은 Service Quotas 콘솔에서 볼 수 있습니다. 할당량 증가을 요청하려면 Service Quotas 사용 설명서할당량 증가 요청을 참조하세요.