가끔 aws인스턴스가 메모리 문제로 벽돌이 되어버리는 상태가 발생했다… 돈이 많았으면 걱정하지 않았겠지만 저렴한 요금제를 쓰기 때문에 언제든 부하가 걸리면 벽돌이 되어버릴 수 있다.

현재 aws 인스턴스에는 팔만코딩경을 위한 백엔드서버가 돌아가고 있다. 서비스에 직접적으로 연관된 백엔드는 아니기 때문에 실시간 서버 상태는 중요하지 않지만, 서버가 죽으면 팔만코딩경을 효율적으로 사용하기 어렵기 때문에 관리가 필요했다.

이전까지는 운영진이 직접 팔만코딩경 블로그에 들어와 최근게시글 addon등이 동작하지 않는 것을 직접 확인해야 서버가 죽었다는 것을 판단할 수 있었다. 하지만 매일 운영진이 모니터링을 할 수 없기 떄문에 해결책을 생각해보았다.

해결책 나열해보기


사실 많은 방법들이 생각났다. 결국 인스턴스 자체가 죽은 것은 api를 호출해봐야 알기 때문에 api를 어디서 호출할지 어떤 주기로 호출할지가 중요했다.

crontab을 활용해서 만드는 것을 가장 먼저 떠올렸다. 하지만 피드백을 받는 것이 조금 어려웠다. crontab을 활용해서 만든다고 해도 만약 서버가 죽었을 때, 어떻게 개발자에게 알려줄 수 있을지 고민이 되었다.

그래서 github action을 사용하는 방법을 다시 생각해보았다. action을 사용하면 이메일로 피드백을 받을 수 있을 것이라고 생각했다. 그런데 결국 action을 활용하면 단지 api호출 한번만 하면 되는 서비스에 너무 많은 작업이 필요했다. 시험기간이기에 트레이드오프도 고려해야했다… ㅜㅜ

그래서 마지막으로 생각한것이 ios 단축어를 활용한 서버 상태 체크이다. 단축어를 활용하면 휴대폰 푸시 알림으로 실패했을 때 나에게 빠르게 알려줄 수 있을 것 같았다.