503 Service Unavailable 오류가 발생하기 전, 해당 서비스의 인프라 구성은 아래와 같았다.
얼마전 IDC1 에 문제가 발생하였고, 결국 IDC1은 down이 되었다.
하지만, GSLB에 의해 요청은 모두 IDC2로 연결이 되었고, 해당 deployment 는 Autoscale도 걸려있었기 때문에 큰 문제없이 서비스가 정상으로 작동이 되는듯 하였다.
하지만, 어느순간부터 해당 서비스에서 503 오류가 발생한다는 제보가 들어왔다.
503 오류는 “서비스를 일시적으로 사용할 수 없음(503 Service Temporarily Unavailable Error)” 을 의미하고, 나는 로그도 제대로 확인도 안하고.. nginx에서 발생하는 오류라고 바로 판단을 해버렸다. (삽질의 시작…)
하지만.. 503 에러는 계속 발생하였다….😢
역시.. 503 에러는 계속 발생하였다….😢
“LB에서 요청을 잘못 전달하고 있는게 아닐까?”
그랬더니!! 드디어 503 오류가 사라졌다!! 만쉐이! 🙌
아 진짜.. 경험에 의해 바로 판단하지 말고 로그를 꼭 확인하는 습관을 길러야겠다…ㅠㅜ
하지만 왜 지금 off 인 IDC1 쪽으로 로드밸런싱이 되고 있던건지, GSLB에 버그가 있던거지 정확한 원인은 파악을 하지 못한체, 일단 서비스가 정상화 된 것으로 만족하고 마무리를 지었다.
하루가 지난 후, 인프라팀에서 공지가 내려왔다.
아래 상황에서 장애가 난 IDC1에 구축된 클러스터로 트래픽이 인입되면서 서비스 장애로 이어지는 상황이 발생!!
즉, 풀어서 얘기하면 아래와 같다.
그래 GSLB는 잘못이 없구나.. (policy 가 어떻게 설정이 되었는지는 난 알지 못하니깐) IDC에 문제가 생기면 일단 GSLB에 묶여있는 VIP를 제거하는게 안전하구나.. 라는 배움을 하나 얻게되었다.