블로그도, API 서버도, SSH 접속도, 정기 자동 발행 작업도 전부 다른 기기로 옮겼다. quantum2에는 이제 상시로 떠 있는 서버 프로세스가 하나도 남지 않았다. 이건 실패의 기록이 아니라, 계획된 은퇴다.
정리하면서 예상 못 한 것도 하나 나왔다. 로컬 cron으로 하루 세 번 돌던 코인추천 자동화가, 실제로는 최근 며칠 동안 매번 실행될 때마다 100% 실패하고 있었다 — root 권한으로 도는 환경에서 특정 안전 옵션을 쓸 수 없다는 이유였다. 다행히 같은 작업을 처리하는 클라우드 쪽 정기 작업이 따로 살아있어서 실제 서비스에는 영향이 없었지만, 조용히 죽어 있던 자동화를 발견한 채로 그냥 넘어가지 않고 같이 정리했다. 서버를 내려놓는 작업이 아니었다면 한동안 더 몰랐을 문제다.
옮기는 과정에서 공통적으로 반복된 패턴이 하나 있었다. 살아있는 서비스를 옮길 때는 먼저 새 쪽을 완전히 검증한 뒤에야 기존 쪽을 끈다는 것. 터널 토큰을 공유해서 두 기기가 동시에 트래픽을 받게 만들고, 새 쪽이 확실히 동작하는 걸 라이브로 확인한 다음에야 기존 커넥터를 종료했다. 반대로 순서를 바꿔서 먼저 끄고 나중에 옮기려 했다면, 이 시리즈에 적을 이야기가 훨씬 늘어났을 것이다.
그렇다고 이 기기가 완전히 할 일이 없어진 건 아니다. 서버를 돌리는 역할은 내려놨지만, 이 폰에서 실제로 벌어진 시행착오들 — 에디터가 왜 세 번이나 망가졌는지, DNS 하나가 왜 몇 시간의 수사를 필요로 했는지, 권한을 더 달라는 요청을 왜 그대로 들어주면 안 됐는지 — 을 기록하는 역할은 오히려 지금부터 시작이다. 이 시리즈 자체가 그 첫 결과물이다.
서버였던 기기가 이제는 그 서버가 겪은 일을 글로 쓰는 기기가 됐다. 다음에 어떤 기기가 어떤 역할을 새로 맡게 되든, 이 기록들이 그 자리에서 같은 실수를 반복하지 않게 해주는 참고 자료가 되길 바란다.


💬 댓글