Playball Logo

Command Palette

Search for a command to run...

목차 열기

로그/백업/보관 정책

Playball은 운영 로그, 감사 로그, 장기보관 증적 데이터, 운영 DB 복구 백업을 서로 다른 목적으로 분리해 관리합니다.


보관 구조

보관 구조

문서 이미지를 큰 화면으로 확인합니다.


로그 수집 원칙

항목기준
로그 레벨ERROR, WARN 전량 수집, INFO는 핵심 운영 이벤트만 수집
비활성 레벨Staging / Prod DEBUG, TRACE 비활성화
INFO 수집 범위대기열 진입, READY 승격, Hold 성공/실패/만료, 주문 생성, 결제 성공/실패/취소/환불, 무통장 입금 발급 및 기한 만료, 추천 degrade / fallback
제외 범위시드 데이터 초기화 로그, 단순 조회 로그, SQL 출력 로그, 상세 프레임워크 디버그 로그
민감정보 처리비밀번호, 카드번호, 계좌번호, 주민번호, 토큰/JWT는 저장하지 않고, 식별자는 마스킹 또는 가명처리

분류 기준

구분포함 대상운영 목적
운영 로그인프라 로그, 서비스 로그, Trace, 메트릭 장기 블록장애 분석, 운영 추적, 포스트모템
감사 로그CloudTrail, 감사 보고서, 파기 요약, 접속기록변경 이력 추적, 감사 대응, 포렌식
장기보관 증적 데이터회원 장기보관 증적, 거래/정산 법정증적정책/법정 보존
운영 DB 복구 백업RDS Automated Backup + PITR, 수동 스냅샷, PostgreSQL 데이터베이스 보조 백업운영 데이터 복구

운영 보관 기준

데이터 유형저장 위치HotWarmCold비고
인프라 로그Loki + S3 관측 저장소3일S3 보관미적용1차 RCA, 포스트모템
서비스 로그Loki + S3 관측 저장소14일S3 보관미적용배포 후 오류, 문의 대응
Trace 데이터Tempo + S3 관측 저장소7일S3 보관미적용분산 추적 확인
메트릭 장기 데이터Prometheus + Thanos + S3 관측 저장소Prometheus 로컬 TSDBS3 180일S3 Glacier 90일 전환장기 메트릭 조회
결제/예매 증적 로그Loki + S3 운영 백업 저장소30일S3 90일미적용운영 검색, 단기 재조사
일반 감사로그S3 감사 저장소 + S3 Glacier Flexible Retrieval해당 없음S3 30일Glacier Flexible Retrieval 전환 후 총 400일CloudTrail, 감사 보고서, 파기 요약
개인정보처리시스템 접속기록S3 감사 저장소 + S3 Glacier Flexible Retrieval해당 없음S3 30일Glacier Flexible Retrieval 전환 후 총 2년관리자/운영자 접근 이력
회원 장기보관 증적 데이터S3 아카이브 저장소 + S3 Glacier Deep Archive해당 없음S3 30일Glacier Deep Archive 전환 후 총 3년회원 상태변경, 동의, 탈퇴, 제재, 민원 최소 증적
거래/정산 법정증적 데이터S3 아카이브 저장소 + S3 Glacier Deep Archive해당 없음S3 30일Glacier Deep Archive 전환 후 총 5년주문, 예매, 결제, 취소, 환불, 정산, 세무 증빙
PostgreSQL 보조 백업S3 운영 백업 저장소해당 없음14일미적용장기보관, 이관, 수동 복구 보조

저장소 구조

저장소저장 대상용도실제 버킷
S3 운영 백업 저장소PostgreSQL 데이터베이스 보조 백업, 운영 로그 백업운영 복구와 단기 재조사playball-web-backup
S3 감사 저장소감사 로그, 접속기록, 파기 이력감사 추적 및 포렌식playball-audit-logs, playball-prod-ai-audit, playball-staging-ai-audit
S3 Glacier 장기보관 저장소회원/거래 장기보관 데이터정책/법정 보존 데이터playball-retention-archive
S3 관측 저장소Loki 로그, Tempo Trace, Thanos 메트릭 장기 데이터관측 데이터 장기 저장playball-{prod,staging}-{loki,tempo,thanos,clickhouse}

운영 기준

  • 운영 로그는 장애 분석과 단기 재조사를 위한 구간으로 관리합니다.
  • 감사 로그와 접속기록은 운영 로그와 분리해 장기 보관합니다.
  • 회원 증적과 거래/정산 증적은 운영 DB가 아니라 아카이브 저장소를 기준으로 보관합니다.
  • RDS 기본 복구 수단은 Automated Backup + PITR입니다.
  • 수동 스냅샷은 대규모 변경 전 보호 기준으로 사용합니다.
  • PostgreSQL 데이터베이스 보조 백업은 장기보관, 이관, 수동 복구를 위한 보조 백업입니다.

백업 및 아카이브 스케줄

Prod 운영 기준 설계입니다. Staging은 부하테스트·검증 환경이라 현재 rds-backup·logs-backup-infra·logs-backup-service 3개 CronJob만 실제 스케줄되어 있으며, 환경별 실행 시각은 최대 30분 내에서 운영 편의에 따라 조정될 수 있습니다. 나머지 증적/매니페스트 적재 잡은 Prod 전환 시점에 동일 CronJob 프레임으로 활성화합니다.

구분KST대상
운영 DB 보조 백업02:00~02:30PostgreSQL 데이터베이스 보조 백업
인프라 로그 백업03:10인프라 로그
서비스 로그 백업03:20서비스 로그
결제/예매 증적 로그 백업03:30운영 검색 및 단기 재조사 로그
회원 장기보관 적재03:40회원 장기보관 증적 데이터
거래/정산 법정증적 적재03:50주문, 예매, 결제, 취소, 환불, 정산, 세무 증빙
매니페스트 생성04:00장기보관 적재 검증

Staging 현재 운영 상태 (참고용 스크린샷)

현재 Staging에서는 아래 3개 CronJob이 실제로 스케줄되어 있으며, 시간은 UTC 기준이라 KST로 +9시간 환산되어 실행됩니다. 0 17 * * * = KST 02:00 처럼 cron 표현이 문서의 KST 표와 1:1로 대응됩니다.

Staging CronJob 목록

문서 이미지를 큰 화면으로 확인합니다.

실제 생성된 백업 객체도 확인 가능합니다. 아래는 playball-web-backup/staging/postgres/goormgb/ prefix에 적재된 오늘자 덤프로, 파일명의 UTC 타임스탬프(20260415-170020 = UTC 17:00:20)와 S3 Last modified(KST 02:01:13)가 CronJob 실행 시각과 정확히 일치합니다.

S3 객체 생성 증거 – playball-web-backup/staging/postgres/goormgb

문서 이미지를 큰 화면으로 확인합니다.


파기 기준

예시) playball-retention-archive 버킷 Lifecycle 정책

회원 상태·민원·탈퇴 증적과 주문·결제·정산 법정 증빙은 playball-retention-archive 버킷에 prefix 단위로 분리 저장합니다. 각 prefix는 아래 Lifecycle 정책으로 S3 Standard에서 30일 뒤 Glacier Deep Archive로 자동 전환되고, 법정 보존기간이 도달하면 **Expiration 규칙으로 자동 삭제(파기)**됩니다. 즉 "최소 비용 저장 + 법정 보존 만료 = 자동 파기"가 한 벌의 Lifecycle로 집행됩니다.

Prefix저장 대상전환만료(자동 파기)법적 근거
member-retention/회원 상태변경·동의·탈퇴·제재·민원 증적30일 → Deep Archive3년 (1,095일)회원 분쟁/민원 대응 최소 보존
member-retention-manifest/회원 증적 적재 매니페스트 (무결성 검증용)30일 → Deep Archive3년원본과 동기 파기
commerce-retention/주문·예매·결제·취소·환불·정산·세무 증빙30일 → Deep Archive5년 (1,825일)전자상거래법·국세기본법 증빙 보존
commerce-retention-manifest/거래 증적 적재 매니페스트30일 → Deep Archive5년원본과 동기 파기

playball-retention-archive Lifecycle Rules

문서 이미지를 큰 화면으로 확인합니다.

항목기준이유
운영 로그Loki 보관기간 종료 후 자동 만료, S3 백업은 Lifecycle 기준으로 자동 삭제장애 분석과 단기 재조사 구간만 확보하면 되기 때문
일반 감사로그총 400일 보관 후 자동 삭제연간 감사 대응에 운영 여유 구간을 더한 기준
개인정보처리시스템 접속기록총 2년 보관 후 자동 삭제법정 최소 기준과 운영 리스크를 함께 반영한 기준
회원 장기보관 증적 데이터총 3년 보관 후 자동 삭제회원 상태 변경과 민원 대응에 필요한 사후 증적 구간 확보
거래/정산 법정증적 데이터총 5년 보관 후 자동 삭제전자상거래 및 회계 증빙 보존 기준 반영
예외 보관법적 분쟁, 감사 대응, 보안 조사, 민원 처리 등 사유가 있으면 별도 예외 보관 기준으로 삭제 유예일반 수명주기와 분리해 조사와 분쟁 대응을 유지하기 위함
파기 이력S3 Lifecycle 전환/만료 이벤트를 CloudTrail Data Events와 EventBridge로 수집하고, Lambda 일일 요약을 감사 버킷에 저장삭제 자체도 감사 추적 대상이기 때문

점검 항목

항목확인 내용
Loki/Tempo/ThanosS3 저장과 장기 데이터 업로드가 정상인지
RDS 복구 준비도PITR 가능 상태, 자동백업 정상 여부, 예정된 수동 스냅샷 생성 여부
데이터베이스 보조 백업최근 PostgreSQL 데이터베이스 보조 백업 성공 시각과 오브젝트 생성 여부
감사 저장소CloudTrail 수집, Digest 무결성, 파기 요약 적재 여부
장기보관 증적회원/거래 장기보관 데이터 적재 누락 여부