API 서버 상태 체크 lambda 구축
어느 날은 외부 업체와 연동하는 API가 네트워크 이슈로 작동하지 않는 문제가 발생했다. 퇴근 시간이 지난 후 발생한 문제인데 다음날 오전까지 아무도 알아채지 못했다. 내부 상태 체크는 정상이었고, 외부 업체는 다른 문제로 알고 있었다. 아무도 문제를 알 지 못했다.
api 상태 체크가 필요하다는 생각이 들었고, 공개 서비스는 외부에서도 접근이 잘 돼야 한다는 생각에 AWS에서 api를 호출해 상태 체크를 하는 게 좋겠다는 판단을 했다. ec2를 만들까 생각하다가 lambda를 한 번 써보고 싶어졌다. 인터넷을 보며 lambda에 코드를 작성하고 스케줄을 등록했다. python을 업무에 쓴 적이 없지만 api를 호출해서 return 200 이 아니면 slack으로 알려주는 간단한 용도로 만들었다. 그리고 cloud watch로 2분마다 호출하도록 했다. 아직 문제가 발생한 경우는 없었는데 시스템을 미리 구축해놓았다는 것에 마음이 놓인다.
그런데 글을 쓰며 생각해보니 api에 문제가 발생해도 즉각 대응을 할 수가 없다. 서버에는 회사에서만 접근할 수가 있다. 🤔
얼마 전 서비스에 문제가 생겨서 접근이 제대로 안 되는 경우가 발생했다. 시스템을 점검 중이었어서 바로 조치했는데 해결 직전에 slack으로 알림이 왔다. 정상 작동 중이다!