# 롤백 계획 ## 1. 개요 본 문서는 런타임 역할 전환 작업 중 문제가 발생할 경우를 대비한 롤백 절차를 정의합니다. ## 2. 롤백 실행 기준 ### 2.1 자동 롤백 기준 다음 조건 중 하나라도 충족되면 자동 롤백이 실행됩니다: - 테스트 통과율이 95% 미만일 경우 - Critical/High 보안 취약점이 발견된 경우 - 배포 후 5분内有错误率 > 1%일 경우 ### 2.2 수동 롤백 기준 다음 조건 중 하나라도 충족되면 수동 검토 후 롤백을 결정합니다: - 성능 테스트 결과가 기준 미달성인 경우 - 정적 분석에서 High 레벨 결함이 발견된 경우 - 운영 환경에서 예기치 않은 동작이 발생한 경우 ## 3. 롤백 절차 ### 3.1 단계 1: 상황 평가 (2분) 1. 에러 로그 및 메트릭 확인 2. 영향 범위 파악 3. 롤백 필요성 판단 ### 3.2 단계 2: 롤백 준비 (5분) 1. 백업 존재 여부 확인 2. 롤백 타겟 버전 확인 3. 관련 팀원에 알림 발송 ### 3.3 단계 3: 롤백 실행 (10분) 1. 데이터베이스 마이그레이션 롤백 2. 애플리케이션 버전 롤백 3. 설정 파일 복원 ### 3.4 단계 4: 검증 (15분) 1. 기본 기능 테스트 실행 2. 모니터링 대시보드 확인 3. 로그 이상 여부 확인 4. 주요 API 응답 시간 측정 ### 3.5 단계 5: 사후 처리 (30분) 1. 인시던트 보고서 작성 2. 근본 원인 분석 3. 재발 방지 조치 수립 ## 4. 롤백 후 검증 체크리스트 - [ ] 애플리케이션 시작 성공 - [ ] 기본 CRUD 기능 정상 동작 - [ ] 인증/인가 기능 정상 동작 - [ ] 모니터링 메트릭 정상 수집 - [ ] 에러율 기준선 복귀 - [ ] 응답 시간 기준선 복귀 ## 5. 연락처 | 역할 | 이름 | 연락처 | |------|------|--------| | 프로젝트 매니저 | PM | pm@example.com | | 개발 리드 | Tech Lead | tech@example.com | | DevOps | DevOps Engineer | devops@example.com | ## 6. 롤백 스크립트 ```bash #!/bin/bash # 롤백 실행 스크립트 # 환경 변수 설정 export ROLLBACK_VERSION="v1.2.3" export DEPLOY_ENV="production" # 롤백 실행 echo "롤백 시작: $ROLLBACK_VERSION" # 데이터베이스 마이그레이션 롤백 echo "데이터베이스 마이그레이션 롤백 실행" # ./rollback-db.sh # 애플리케이션 배포 롤백 echo "애플리케이션 배포 롤백 실행" # kubectl rollout undo deployment/app # 설정 파일 복원 echo "설정 파일 복원" # ./restore-config.sh echo "롤백 완료" ``` ## 7. 복구 시간 목표 (RTO/RPO) | 지표 | 목표 | |------|------| | RTO (Recovery Time Objective) | 30분 | | RPO (Recovery Point Objective) | 5분 |