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