웹 개발
배포 후 로그를 1분만 지켜보면 문제를 조기에 잡을 수 있다
배포 직후 1분은 문제가 드러나는 골든타임이다. 그 짧은 시간을 지켜보는 것만으로 복구 시간을 대폭 줄일 수 있다.
배포가 완료되면 기대와 불안감이 섞인다. 모든 게 잘 작동할까 싶으면서도, 빨리 다른 일로 넘어가고 싶다. 하지만 이 시점이 중요하다.
배포 직후 1분의 중요성
배포가 끝나면 서버는 새로운 코드를 실행하기 시작한다. 이 순간 여러 문제가 동시에 터질 수 있다.
- 환경 변수 누락으로 인한 서비스 크래시
- 데이터베이스 연결 문제
- 의존성 패키지 누락
- 잘못된 설정으로 인한 권한 에러
이 모든 문제들은 배포 후 수초 내에 로그에 나타난다.
확인해야 할 로그들
# 최근 로그를 실시간으로 확인
journalctl -u service-name -f
# 또는 Docker 컨테이너 로그
docker logs -f container-name
어떤 로그든, 에러 레벨의 메시지가 보이면 즉시 배포를 롤백해야 한다. 5분 뒤에 발견하는 것보다 1분 뒤에 발견하는 것이 훨씬 낫다.
로그에서 봐야 할 신호들
- Connection refused: 데이터베이스나 외부 서비스에 연결할 수 없음
- Module not found: 의존성이 제대로 설치되지 않음
- Permission denied: 파일 접근 권한 문제
- Out of memory: 메모리 부족
롤백 계획을 미리 세우기
문제가 발견되면 빠르게 대응해야 한다. 미리 이전 버전으로 돌아가는 절차를 정해두는 게 좋다.
# 예: 이전 버전의 컨테이너 이미지로 롤백
docker service update --image=app:v1 service-name
배포는 한 번으로 끝이 아니다. 그 직후 1분이 배포의 성공을 결정하는 순간이다. 화면에서 눈을 떼지 말고 로그를 지켜보자.