어느날 갑자기 API서버가 응답하지 않는다.
오픈된 https로는 응답이 없고 http로만 호출 응답이 정상적으로 왔다.
처음엔 이유를 모르고 너무 당황하여 AWS에서 이것저것 눌러보다가 결국 모두 지우고 다시 생성했다. EC2 LB target group과 LB를 지우고, Route53에서 LB Alias와 ACM의 CNAME을 지우고 ACM 인증서를 지웠다. 그리고 역순으로 새롭게 생성하였다. 다행히도 443포트로 https 호출이 정상적으로 됐다.
워낙 AWS가 쉽게 잘 되어있고, 지식 없이 블로그만 보고 따라 하였던 나머지 네트워크 이슈가 있었을 때 바로 대응하지 못했다. 급할 때 나오는 말과 행동이 그 사람의 본모습이라고 하였는데 밑천이 없으니 허둥지둥만 대다가 결국 새롭게 세팅했다.
구글 도메인을 사용중이고, 여기서 AWS 네임서버를 등록해놓고 쓰고 있었다. 그러다 그날 노란색 버튼이 끌려 무심코 “Google Domain 네임서버 복원"을 눌렀다. API서버 호출이 안된다는 것을 깨닫고 다시 원복했다.
원복하여 다시 도메인에서 Route53을 호출하는데도 Https 호출이 되지 않았다. 가능성1) LB 생성할 때 설정한 ACM 설정이 꼬였다? 2) Route53에 등록한 ACM CNAME이 삭제되었다? 확실한 건 route53 네임 서버로 잘 연결은 되었지만, 인증서에서 뭔가 꼬였던 것 같다.
레슨런
당황하지 말고, 호출되는 도식을 순서대로 그리고 앞에서 또는 뒤에서부터 하나씩 체크하며 어디에서 문제가 되는지 찾아가자. 네트워크 쪽 지식이 부족했다고 하더라도 Load balancer의 FQDN을 호출해서 서버 쪽에는 이슈가 없는지 확인을 했으면 지우지 않을 수 있었다. 상식적으로 네트워크 설정 문제로 LB에 문제가 생기지 않았을 텐데 모르니 일단 지우고 다시 띄운 것이다.
dig [domain] +trace
를 잘 활용하자
끝.