# 작업절차서 (런북, 빈 양식)

> 독자: **작업자(때로는 협력사 엔지니어)** — "무엇을 어떤 순서로 하면 되는가?"
> 핵심 원칙
> - 목적은 단 하나: **누가 해도 같은 순서로 같은 결과**가 나오게 한다. → 줄글 아닌 **단계표**.
> - 각 단계는 (1)무엇을 (2)어떻게(명령/동작) (3)누가 (4)얼마나(예상시간) (5)어떻게 확인을 담는다.
> - **0~1번에 "백업/현버전 보존" 단계**가 없으면 롤백이 불가능하다.
> - 각 단계의 **확인사항이 통과해야 다음으로** — 절반에서 멈춘 채 진행하는 사고를 막는다.
> - 예상시간 합계가 **점검창 안에 들어오는지** 미리 계산한다.

---

## 작업 개요

| 항목 | 내용 |
|---|---|
| 절차서 ID | `WP-[YYYY-MMDD-NN]` |
| 연관 변경계획서 | `CHG-________` |
| 작업창 / 결정 시한 | `[YYYY-MM-DD HH:MM ~ HH:MM / 결정 시한 HH:MM]` |
| 참여자(역할) | `[배포(김) / DBA(이) / 검증(박) / 총괄(홍)]` |

## 단계표

| 단계 | 작업 | 명령 / 동작 | 담당 | 예상시간 | 확인사항(통과 기준) |
|---|---|---|---|---|---|
| 0 | 점검 모드 전환 | `[예: LB에서 점검 페이지로 전환]` | `[김]` | `[2분]` | `[점검 안내 노출됨]` |
| 1 | **사전 백업** | `[예: DB 풀백업 + 스키마 스냅샷]` | `[이]` | `[10분]` | `[백업 파일 해시 확인, 복구 테스트 1건]` |
| 2 | **현 버전 보존** | `[예: 현 이미지 태그 보존]` | `[김]` | `[2분]` | `[롤백용 이미지 레지스트리에 존재]` |
| 3 | `[변경 적용 1]` | `[명령/동작]` | `[  ]` | `[  ]` | `[확인 기준]` |
| 4 | `[변경 적용 2]` | `[명령/동작]` | `[  ]` | `[  ]` | `[확인 기준]` |
| 5 | `[설정 반영]` | `[명령/동작]` | `[  ]` | `[  ]` | `[확인 기준]` |
| 6 | 스모크 테스트 | `[헬스체크 + 핵심거래 1건]` | `[박]` | `[5분]` | `[200 응답, 핵심거래 정상]` |
| 7 | 점검 해제 | `[LB 정상 라우팅 복귀]` | `[김]` | `[2분]` | `[실 사용자 표본 정상]` |
| 8 | 반영 후 점검 | `[점검 체크리스트 전 항목]` | `[박·홍]` | `[10분]` | `[체크리스트 전 항목 통과]` |

> 예상시간 합계: `[__분]` + 여유 `[__분]` = 점검창 `[HH:MM~HH:MM]` 이내 여부 `[ ] 확인`

## 작업 중 이상 시

- 확인사항 미통과 → **다음 단계로 넘어가지 않는다.** 원인 짧으면 재시도, 길면 총괄 판단.
- 롤백 조건(롤백계획서 A) 해당 → **즉시 롤백계획서로 전환.** 총괄(홍)이 선언.

---

## 반영 후 점검 체크리스트 (부록)

> "배포 완료"는 산출물이지 결과가 아니다. 아래를 객관적 기준으로 확인하고, 이상 시 롤백 판단.

- [ ] 헬스체크 정상(전 인스턴스 200)
- [ ] 핵심 거래 정상(로그인/결제 등 표본 거래 성공)
- [ ] 에러율 평시 수준 이하 `[기준: ____]`
- [ ] 응답시간(p95) 임계 이내 `[기준: ____]`
- [ ] 로그에 신규 에러·예외 급증 없음
- [ ] (스키마 변경 시) 신규 컬럼/인덱스 정상, 기존 쿼리 영향 없음
