– HTTP 5XX 에러
유형 | HTTP 502 Bad Gateway |
HTTP 503 Service Unavailable | |
HTTP 504 Gateway Timeout | |
원인 분석 | HTTP 502 Bad Gateway
– 백엔드 인스턴스로부터 온 응답을 ELB가 받지 못할 경우 발생 |
HTTP 503 Service Unavailable
– 인스턴스가 한 대도 등록되어 있지 않을 경우 발생 – 모든 인스턴스가 Unhealthy 상태일 경우 발생 – 짧은 시간에 Request가 급격하게 들어온 경우 |
|
HTTP 504 Gateway Timeout
– 인스턴스의 요청 처리 시간이 ELB Timeout 보다 길 경우 HTTPCode_ELB_5XX 및 Latency Metrics 동시 증가 – 인스턴스가 ELB 요청을 Close한 경우 발생 |
|
해결 방법 | HTTP 502 Bad Gateway
– 인스턴스의 WAS 로그를 참조하여 정상적으로 응답을 하였는지 확인 – 응답이 정상이었음에도 불구하고 이슈 발생 시는 Support Center에 Case Open하여 내부 확인 요청 |
HTTP 503 Service Unavailable
– 인스턴스 등록 – Health Check 점검, 인스턴스 상태를 healthy로 만들어 해결, Security Group 등 VPC 설정을 점검하여 인스턴스가 ELB와 통신 가능한 상태인지 점검 – 예상된 peak 트래픽일 경우 pre-warming 신청, 일시적으로 ELB의 Scaling 시간이 부족하여 발생할 수 있으며 이 경우에는 수 분 이내로 자동 해결됨, 이슈가 지속될 경우 Support Center에 Case Open하여 내부 확인 요청 |
|
HTTP 504 Gateway Timeout
– 인스턴스 CPU Utilization이 높을 경우 새 인스턴스를 추가, 프로그램이 DB나 외부 API 등 외부 의존도가 높을 경우 해당 Dependency 점검 – 백엔드 서버의 Keep-Alive를 활성화, 백엔드 서버의 Keep-Alive Timeout을 ELB Timeout보다 높게 설정 |
– 인스턴스 Out Of Service
원인 |
Instance is in stopped state |
Instance registration is still in progress |
|
Instance has failed at least the Unhealthy Threshold number of health checks consecutively |
|
해결 방법 |
Instance is in stopped state
|
– 인스턴스 시작
Status(!) : OutOfService ç 인스턴스가 정지된 상태
Instance registration is still in progress
– 인스턴스가 최근에 추가되었을 경우 등록 진행 중이며, 짧은 시간 이내로 자동으로 해결됨
– 이슈가 지속될 경우 Support Center에 Case Open
Status(!) : OutOfService ç 인스턴스 등록이 여전히 진행 중인 상태
Instance has failed at least the Unhealthy Threshold number of health checks consecutively
– Health Check 이슈 해결 방법과 동일하게 해결
– Health Check 실패
원인 | Health Check Target Page가 200 이 외의 응답 코드를 반환할 경우 |
Health Check Timeout | |
해결 방법 | Health Check Target Page가 200 이 외의 응답 코드를 반환할 경우
– ELB는 Health Check Target Page가 200 이 외의 응답 코드를 반환 시 인스턴스를 Unhealthy 처리, 특히 HTTP 302 Redirect를 반환하여 자주 발생함. – HTTP 200 OK 응답 코드를 반환하도록 알맞은 URI를 찾아 등록 |
Health Check Timeout
– 백엔드 서버의 Keep-Alive를 활성화 – 백엔드 서버의 Keep-Alive Timeout을 ELB Timeout보다 높게 설정 – Health Check 페이지의 외부 Dependency (DB 등) 점검 |