-
[ AWS ] ELB 운영 이슈(ft. 응답코드)Topic/AWS | JENKINS 2022. 9. 3. 16:10반응형
- 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 등) 점검
반응형'Topic > AWS | JENKINS' 카테고리의 다른 글
[ Jenkins ] 젠킨스 버전 업그레이드 방법 (0) 2022.09.12 [ Jenkins ] 재시작 시 job 사라지는 문제 (0) 2022.09.10 AWS | EC2와 로드밸런서 연결하는 방법 (0) 2022.08.30 EC2 만들고 웹스톰에서 SSH 연결해서 레포 clone받는 방법 (0) 2022.08.25 AWS EC2: 터미널이 종료되어도 서버 실행되게 만드는 방법 (feat. PM2) (0) 2022.03.31