WEBBOOK CHAPTER

WAR 배포, 밤에 깨지 않게: 18장 Certbot 갱신을 교체 절차와 연결한다

18장 Certbot 갱신을 교체 절차와 연결한다

Certbot의 renew가 exit 0이라고 해서 반드시 인증서가 교체된 것은 아니다. 갱신할 대상이 없어도 성공으로 끝날 수 있다. 성공적으로 새 인증서가 발급됐을 때만 실행할 작업은 deploy hook에 둔다.


certbot renew --dry-run
certbot renew --deploy-hook /usr/local/sbin/reload-releaseportal-tls

deploy hook은 단순 reload 한 줄보다 방어적으로 만든다.


#!/usr/bin/env bash
set -euo pipefail
nginx -t
systemctl reload nginx

운영 hook에는 갱신된 lineage와 domain 환경 변수를 검증하고, 구조화 로그와 모니터링 이벤트를 남길 수 있다. hook 파일은 root 소유와 제한된 쓰기 권한을 사용한다. 일반 사용자가 수정할 수 있는 hook은 인증서 갱신 시 root 명령 실행 통로가 된다.

dry-run은 ACME 발급 경로를 시험한다. Certbot 문서상 dry-run에서 deploy hook 실행은 별도 옵션과 동작 차이가 있으므로 버전 문서를 확인한다. timer가 실제로 활성화됐는지, 마지막 실행과 다음 실행, 실패 알림이 있는지도 점검한다. 자동 갱신은 무관심이 아니라 정기적인 복구 훈련을 요구한다.

4부 실패를 복구하고 자동화한다