콘텐츠로 이동

Redis 운영 체크리스트

Redis 운영 반영 전 확인해야 할 체크리스트와 최종 기준을 정리함.


1. 운영 적용 체크리스트

운영 반영 전 다음 항목을 확인함.

1.1 설치 및 버전

  • Rocky Linux 버전을 확인함
  • Redis 패키지 출처를 문서화함
  • Redis 버전을 확인함
  • Redis service name을 확인함
  • Redis 설정 파일 경로를 확인함
  • AppStream/Remi/공식 RPM 저장소가 혼용되지 않음

1.2 네트워크 및 보안

  • Redis가 public IP에 bind되어 있지 않음
  • 기본은 localhost-only 또는 사설 IP bind임
  • protected-mode yes를 유지함
  • 원격 접근은 source IP 제한 방화벽을 사용함
  • bind 0.0.0.0 사용 여부를 검토함
  • 인증을 설정함
  • ACL 또는 requirepass 정책을 문서화함
  • TLS 적용 여부를 결정함
  • 비밀번호가 shell history, process list, Git repository에 노출되지 않음
  • legacy 환경에서는 위험 명령 제한을 검토함

1.3 메모리 및 latency

  • maxmemory를 명시적으로 설정함
  • maxmemory-policy를 용도에 맞게 설정함
  • OS 및 애플리케이션 메모리 여유를 확보함
  • RDB/AOF rewrite를 위한 fork 여유 메모리를 고려함
  • swap 사용 여부와 OOM 정책을 확인함
  • lazyfree 계열 설정을 검토함
  • AOF 사용 시 no-appendfsync-on-rewrite trade-off를 검토함
  • 대량 삭제 시 UNLINK 또는 lazyfree 방식을 사용함

1.4 영속성

  • 캐시 전용인지 데이터 보존이 필요한지 결정함
  • RDB/AOF 사용 여부를 결정함
  • data directory를 확인함
  • 백업 대상 파일을 확인함
  • 자동화 백업 인증 방식을 결정함
  • 복구 리허설을 수행함
  • RDB/AOF 버전 호환성 리스크를 문서화함

1.5 커널 및 systemd

  • vm.overcommit_memory = 1을 설정함
  • THP를 GRUB/kernel parameter로 비활성화함
  • tuned가 THP를 되돌리지 않는지 확인함
  • net.core.somaxconn을 검토함
  • LimitNOFILE을 확인함
  • systemd hardening 적용 여부를 검토함

1.6 모니터링

  • INFO memory 수집 기준을 정함
  • INFO persistence 수집 기준을 정함
  • evicted_keys, expired_keys, rejected_connections를 모니터링함
  • latency, slowlog를 모니터링함
  • replication lag를 모니터링함
  • Redis service journal을 확인함
  • 장애 알림 기준을 설정함
  • Prometheus/Grafana 또는 대체 모니터링을 구성함

1.7 고가용성 및 장애 대응

  • Redis 재시작 절차를 문서화함
  • 백업/복구 절차를 문서화함
  • 업그레이드/rollback 절차를 문서화함
  • 단일 노드 장애 시 서비스 영향도를 명확히 함
  • 중요 서비스라면 replica/Sentinel/Cluster 또는 managed Redis를 검토함
  • failover 리허설 계획을 수립함

2. 결론

Rocky Linux 9 또는 8에서 Redis 설치 자체는 간단하지만, 운영 환경에서는 단순 설치 명령만으로 충분하지 않음.

운영 Redis는 다음 기준을 반드시 충족해야 함.

  1. 패키지 출처와 Redis 버전을 명확히 고정함.
  2. 설정 파일 경로를 실제 서버 기준으로 확인함.
  3. Redis 포트를 public network에 노출하지 않음.
  4. bind, protected-mode, firewall, 인증을 함께 적용함.
  5. 내부망이라도 필요한 경우 TLS를 적용함.
  6. maxmemory와 eviction policy를 서비스 용도에 맞게 설정함.
  7. 캐시인지 데이터 저장소인지에 따라 persistence 정책을 분리함.
  8. lazyfree, AOF rewrite, 대량 삭제 정책으로 latency spike를 줄임.
  9. Linux kernel, systemd limit, THP, overcommit 설정을 점검함.
  10. 백업, 복구, 업그레이드, rollback 절차를 운영 문서에 포함함.
  11. 단일 노드 Redis는 고가용성이 아님을 명확히 인지함.
  12. 중요 서비스에서는 replica/Sentinel/Cluster 또는 managed Redis를 검토함.
  13. 모니터링과 알람을 구성한 뒤 운영에 반영함.

이 문서는 개발/테스트 서버뿐 아니라 운영 서버에 적용할 수 있는 Redis 기본 설치 및 운영 기준으로 사용할 수 있음. 다만 실제 서비스 반영 전에는 서비스 용도, 네트워크 구조, 보안 정책, 데이터 유실 허용 범위, 장애 대응 기준에 맞게 값을 조정해야 함.