연말에 한 번쯤 점검해야 할 서버 설정 10가지

(아무 일도 일어나지 않게 하기 위해)

“연말이라고 해서 정말 특별히 점검해야 할 게 있을까?” 결론부터 말하면 있다.

연말이라서 서버가 특별해지는 건 아니다. 대신 사람이 특별해진다.

  • 휴가·연휴로 운영 인력이 줄고
  • 트래픽 패턴이 흐트러지고
  • 긴장감은 느슨해진다

그래서 연말은 사고 확률 대비 리스크가 가장 큰 시기가 되기 쉽다. 이 글은 “연말이니까 무조건 해야 한다”는 강박용 체크리스트가 아니라, 연휴 동안 아무 일도 일어나지 않게 하기 위한 현실적인 점검 목록이다.


1. 디스크 사용량과 로그 증가 속도



연말이라고 로그가 줄어들지 않는다.

특히 다음은 꼭 확인해두자.

  • /var/log 사용량
  • 애플리케이션 로그 로테이션 설정
  • Docker 컨테이너 로그 크기 (json 로그 무한 증가 여부)

디스크가 꽉 찬 서버는 아무 예고 없이 멈춘다. 평소에는 “조금 버티겠지” 하던 상황도, 연휴에는 그대로 장애로 이어지기 쉽다.


2. 백업이 “있는지” 말고 “복구가 되는지”

백업 파일이 있다는 사실보다 중요한 건 단 하나다.

이걸로 진짜 복구가 되는가?

연말 전에 최소한 한 번은 아래를 해보자.

  • 가장 최근 백업 파일 존재 여부 확인
  • 압축 파일이 손상되지 않았는지 간단히 검증
  • 테스트 환경에 직접 restore 해보기

새해 첫 업무가 “알고 보니 백업이 깨져 있었다”는 사실 발견이 되지 않도록.


3. SSL/TLS 인증서 만료일



연말·연초는 인증서 만료 사고가 특히 많이 터지는 시기다.

  • Let’s Encrypt 자동 갱신이 실제로 돌고 있는지
  • cron 또는 systemd timer가 비활성화되어 있지 않은지
  • 최근 갱신 로그에 오류는 없는지

“자동 갱신이라 괜찮겠지”라는 생각이 연말의 대표적인 장애 트리거다.


4. 방화벽 규칙과 “임시로” 열어둔 설정

1년 동안 서버를 운영하다 보면 이런 것들이 쌓인다.

  • 테스트용으로 열어둔 포트
  • 특정 상황 때문에 잠깐 열어둔 IP
  • 더 이상 사용하지 않는 서비스 포트

이런 임시 설정은 시간이 지나면 존재 이유를 아무도 기억하지 못하는 보안 구멍이 된다. 연말은 이런 것들을 정리하기 가장 좋은 시기다.


5. SSH 접근 방식과 키 관리

연휴 동안 시도되는 침입은 발견이 늦어지기 쉽다.

그래서 SSH 설정은 특히 보수적으로 가져가는 편이 안전하다.

  • 비밀번호 로그인 비활성화 여부
  • 사용하지 않는 SSH 키 삭제
  • 퇴사자·외주 업체 키 제거 여부
  • 관리자 계정이 최소 권한만 갖고 있는지

“어차피 우리 서버엔 누가 관심 없을 것”이라는 낙관은 보안 쪽에서는 거의 항상 틀린 가정이다.


6. 크론/스케줄러의 조용한 실패

cron이나 systemd timer, 잡 스케줄러는 실패해도 조용히 실패한다.

  • 최근 실행 로그에 에러는 없는지
  • 오래 전부터 실패 중인 잡은 없는지
  • 더 이상 필요 없는 잡이 계속 돌고 있지는 않은지

연말에 망가진 스케줄러는 새해에도 똑같이 망가진 채로 남아 있다.


7. 리소스 사용량은 “평균”이 아니라 “피크” 기준으로

연말 트래픽은 평소보다 변동성이 크다.

  • 특정 기간만 트래픽이 급증
  • 봇/크롤러의 비정상 접근
  • 특정 국가의 휴일 패턴

그래서 모니터링도 평균값이 아니라 피크를 한 번쯤 들여다봐야 한다.

  • CPU, 메모리 피크 사용량
  • DB 커넥션 수, 큐 길이
  • 동시 접속자 수, 세션 수

“보통은 괜찮다”는 말이 연말에는 별로 위로가 되지 않는다.


8. 애플리케이션 의존 서비스 상태

우리 서버가 멀쩡해도, 의존 서비스가 죽으면 서비스는 똑같이 멈춘다.

예를 들어:

  • Redis / Memcached
  • 메시지 브로커 (Kafka, RabbitMQ, SQS 등)
  • 외부 API (결제, 인증, 알림 등)
  • 파일/이미지 스토리지

연말에는 이들 서비스도 점검·배포·정기 작업이 많다. 장애가 나도 “우리 로그는 깨끗한데?”라는 상황이 자주 나온다. 의존 서비스의 상태 페이지나 장애 알림 채널도 함께 점검해 두는 게 좋다.


9. 에러 알림이 진짜 “도착하는지” 테스트

에러 알림 시스템이 있다는 것과 알림이 실제로 들어오는 것은 전혀 다른 문제다.

  • 에러를 인위적으로 한 번 발생시켜 보기
  • 이메일/Slack/Webhook 알림이 실제로 오는지 확인
  • 심각도(Severity) 필터에 막혀서 무시되고 있지는 않은지

연말 장애의 가장 큰 문제는 종종 이거다.

“장애가 난 줄 아무도 몰랐다.”


10. “문제 생기면 어디부터 볼지” 정리한 문서 한 장

마지막 항목은 설정이 아니라 문서다.

  • 주요 서비스 목록
  • 서버/컨테이너 접속 방법
  • 로그 위치 (nginx, app, DB, 큐 등)
  • 재시작/롤백 방법
  • 긴급 대응 순서

이 문서 한 장이 있느냐 없느냐에 따라 연말 장애 대응 난이도가 하드 모드 ↔ 노멀 모드로 바뀐다.


연말 서버 점검 체크리스트

실제로 옆에 두고 체크할 수 있도록, 핵심만 모은 간단한 표다.

항목 점검 내용 확인 방법 예시 권장 상태
디스크 사용량 로그/데이터로 디스크 여유 공간 확인 df -h, /var/log 크기 확인 여유 20% 이상
로그 로테이션 주요 로그 파일 순환/삭제 여부 logrotate·Docker 로그 설정 주기적 로테이션 설정
백업·복구 최신 백업 생성·복구 가능 여부 테스트 환경에 직접 restore 최근 24~48시간 내 성공
SSL 인증서 만료일 임박 여부 및 자동 갱신 동작 certbot/갱신 로그 확인 만료까지 30일 이상 여유
방화벽·포트 테스트용·임시 오픈 포트/예외 정리 ufw/iptables 설정 검토 최소 권한, 불필요 포트 제거
SSH 접근 인증 방식·키 관리 상태 sshd_config, 키 목록 점검 키 기반 로그인, 불필요 키 제거
스케줄러(cron 등) 정기 작업 실패 여부 cron/systemd 로그 확인 최근 실행 오류 없음
리소스 피크 CPU/메모리/커넥션 피크 사용량 모니터링 대시보드, htop 피크 기준으로도 여유 확보
의존 서비스 Redis/DB/외부 API 등 상태·장애 알림 확인 상태 페이지·로그·알림 채널 점검 장애 시 바로 감지 가능한 상태

사실 이 정도로 체크를 해두면, 연휴 동안에는 마음 편히 쉬어도 된다. …라고 말할 수 있으면 좋겠지만, 현실은 좀 다르다.

이런 체크를 다 끝냈어도, 많은 서버 관리자는 연말 휴가를 떠나면서 서버로 ssh 연결해볼 수 있는 태블릿이나 노트북을 여행 가방 한켠에 꼭 넣어둔다. “혹시 모르니까… 진짜로 아무 일 안 생기면 제일 좋고…” 같은 마음으로. (나를 포함해서 🙃)

우리가 할 수 있는 건 사고 날 확률을 최대한 줄여두고, 혹시라도 일이 생기면 최소한 어떻게 대응할지 알고 있는 상태로 쉬러 가는 것뿐이다.

그러니 올해도 가방 한켠에 작은 노트북 하나쯤은 넣되, 적어도 “갑자기 서버 터지면 어쩌지?” 보다는 “그래도 이 정도면 웬만한 건 버틸 거야”라는 마음으로 조금 더 가벼운 발걸음으로 연말을 맞이하길 바란다.

Dev cheking operating server