Classic Load Balancing을 사용하도록 구성된 EC2 인스턴스에서 실행되는 웹 서버에 연결할 때 HTTP 5xx 오류가 발생하는 이유는 무엇인가요?

2분 분량
0

웹 서버에 연결하려고 할 때 HTTP 502, 503, 504 오류가 발생했습니다. 웹 서버는 Classic Load Balancing을 사용하도록 구성된 EC2 인스턴스에서 실행됩니다.

해결 방법

HTTP 502(Bad Gateway)

Classic Load Balancer가 메시지를 분석할 수 없는 경우 HTTP 502 오류가 발생할 수 있습니다. EC2 인스턴스에서 실행되는 웹 서버 또는 관련 백엔드 애플리케이션 서버는 Classic Load Balancer가 파싱할 수 없는 메시지를 반환합니다. 자세한 내용은 Classic Load Balancer를 통해 요청을 보낼 때 HTTP 502 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

HTTP 503(Service Unavailable)

HTTP 503 오류는 다음과 같은 이유로 발생합니다.

  • 서지 대기열이 꽉 찼습니다. SpillOverCount 지표를 검토하여 인스턴스가 요청 속도를 처리할 수 있는 용량을 갖추고 있는지 확인합니다.
  • 정상인 인스턴스가 없습니다. 로드 밸런서가 응답하는 모든 가용 영역에 정상인 인스턴스가 있는지 확인합니다. 이렇게 하려면 HealthyHostCount 지표를 검토합니다. 자세한 내용은 Classic Load Balancer 문제 해결: 상태 확인을 참조하세요.
  • 로드 밸런서가 응답하는 모든 가용 영역에 최소 하나의 인스턴스를 등록하지 않았습니다. 각 가용 영역에 인스턴스가 등록되었는지 확인할 수 없는 경우, 교차 영역 로드 밸런싱을 켭니다.
  • 웹 서버 인스턴스가 등록된 Classic Load Balancer에는 Connection Draining이 켜져 있지 않습니다.

자세한 내용은 Classic Load Balancer 사용 중 반환되는 HTTP 503 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

HTTP 504(Gateway Timeout)

HTTP 504 오류는 다음과 같은 이유로 발생합니다.

  • 웹 서버 인스턴스 또는 백엔드 애플리케이션 서버 인스턴스는 과도한 사용량으로 인해 구성된 Elastic Load Balancing(ELB) 유휴 제한 시간 내에 요청에 응답할 수 없습니다. 자세한 내용은 ELB Classic Load Balancer의 높은 지연 문제를 해결하려면 어떻게 해야 하나요?를 참조하세요.
  • 웹 서버 인스턴스 또는 백엔드 애플리케이션 서버 인스턴스는 로드 밸런서보다 먼저 연결을 종료합니다. 이로 인해 연결은 조기에 종료됩니다.
  • 요청이 전송되면 웹 서버 인스턴스 또는 백엔드 애플리케이션 서버 인스턴스가 충돌하거나 서버 프로세스를 다시 시작합니다. 이로 인해 서버가 모든 연결을 끊게 됩니다.
  • Apache 웹 서버 인스턴스에는 AcceptFilter http/https 옵션이 켜져 있습니다. 이 옵션은 Apache가 연결에 TCP_DEFER_ACCEPT를 구현하도록 지시합니다.
  • Apache 웹 서버 인스턴스에 대해 이벤트(Apache 웹 사이트에서) MPM은 켜지지만, 프리포크워커(Apache 웹 사이트의) MPM의 구성이 최적화되지 않았습니다. 기본 ELB 유휴 제한 시간은 60초입니다. 자세한 내용은 Apache 또는 NGINX를 ELB의 백엔드 서버로 사용하기 위한 최적의 설정은 무엇인가요?를 참조하세요.

자세한 내용은 Classic Load Balancer 사용 중 반환되는 HTTP 504 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

관련 정보

Elastic Load Balancing이란 무엇인가요?

튜토리얼: Classic Load Balancer 생성

Classic Load Balancer의 상태 점검 구성

Classic Load Balancer 모니터링

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