0. 이 챕터의 목적
운영자·테스터·개발자가 명령 한 줄을 입력하기 전에 던질 수 있는 가장 단순한 질문은 두 가지다.
- 이 작업이 잘못되면 어디까지 영향이 번지나? (Blast Radius)
- 잘못된 결과를 되돌릴 수 있나? (Reversibility)
본 챕터는 이 두 축을 5×4 격자로 결합해 모든 운영 작업을 20개 셀 중 하나에 떨어뜨린다. 셀 위치가 즉시 행동 지침을 결정한다 — 안전·주의·위험·금지·절대금지의 5단계 행동 코드.
이 격자는 운영 매뉴얼을 처음 만드는 팀, 인프라 SaaS 테스트 케이스를 카테고리화하는 QA, 대규모 변경 작업을 사전 평가해야 하는 SRE에게 공통으로 유효한 도구다.
1. 두 축의 정의
1.1 Blast Radius — 영향 반경
작업이 일으킬 수 있는 충격의 범위를 5단계로 구분한다.
| 등급 | 영향 범위 | 일반 예시 | 인프라 SaaS 예시 |
|---|---|---|---|
| L1 | 자기 사용자의 자원에 한정 | 자기 풀의 신규 VM 생성, 자기 풀 VM 시작/정지 | 사용자 컨테이너 1개 생성/제거 |
| L2 | 자기 사용자가 점유한 노드에 한정 | 자기 풀 VM 마이그레이션, 자기 풀 스냅샷 | 한 호스트에서 실행되는 사용자 워크로드 묶음 |
| L3 | 단일 노드 전체에 영향 | 노드 reboot, 노드의 storage 마운트 변경 | 노드 단위 데몬 재시작, 노드 네트워크 재구성 |
| L4 | 클러스터 전체에 영향 | 클러스터 설정 파일 수정, 신규 storage 정의 추가 | 멀티 노드 동시 적용 정책, 클러스터 메타 변경 |
| L5 | 외부 시스템 또는 비가역 영향 | 백엔드 스토리지 zVol 삭제, corosync 변경, 노드 영구 제거 | 데이터 영구 삭제, 외부 인프라(DNS·CMDB·결제) 호출 |
1.2 Reversibility — 가역성
한 작업을 되돌릴 수 있는 정도를 4단계로 구분한다.
| 등급 | 회복성 | 일반 예시 |
|---|---|---|
| R1 | 즉시 되돌릴 수 있음 (단순 setting 토글) | 메모리 크기 변경, NIC 모델 교체, 환경변수 토글 |
| R2 | 백업·스냅샷이 있으면 되돌릴 수 있음 | VM 디스크 변경, OS 설정 변경, 데이터 마이그레이션 |
| R3 | 별도 자원의 복구 절차가 필요함 (시간·노력 소요) | 잘못 삭제된 VM의 백업 복원, 잘못 변경된 storage의 재구성 |
| R4 | 되돌릴 수 없음 (물리적·정보 이론적으로 비가역) | 템플릿 변환, 영구 삭제, 외부 시스템에 전송된 알림 |
1.3 두 축의 독립성
L과 R은 본질적으로 독립이다.
- L1 × R4 → "내 VM 하나만 영향, 그러나 되돌릴 수 없음" (예: 내 VM의 디스크 영구 삭제)
- L5 × R1 → "외부까지 영향, 그러나 즉시 되돌릴 수 있음" (예: 일시적 방화벽 룰 추가/해제)
이 독립성이 격자의 분해 가치다. 단일 축으로는 위험도를 정확히 평가할 수 없다.
2. 5×4 격자 매트릭스
Reversibility → R1 R2 R3 R4
Blast Radius ↓
L1 안전 안전 주의 주의
L2 안전 안전 주의 위험
L3 주의 주의 위험 금지
L4 주의 위험 금지 금지
L5 위험 금지 금지 절대금지2
3
4
5
6
7
2.1 5단계 행동 코드
| 행동 코드 | 의미 | 지침 |
|---|---|---|
| 안전 | 일반적 절차로 수행 가능 | 표준 절차 따라 진행. 별도 사전 점검 불요. |
| 주의 | 작업 전 환경 점검 권장 | 영향받는 자원 식별, 백업 가능성 확인. |
| 위험 | 작업 전 사전 백업 + 명시적 확인 필수 | 백업 검증, 변경 전 상태 스냅샷, 동료 리뷰. |
| 금지 | 일반 운영 절차로는 수행 금지 | 특별 승인 절차 + 변경 윈도우 + 롤백 계획 필수. |
| 절대금지 | 어떠한 절차로도 자동화·일반화 금지 | 인간 의사결정 + 다중 승인. 절차 자동화 자체가 결함. |
2.2 격자 셀의 의미
각 셀은 두 축의 곱이 만들어낸 위험 평가다. 셀 위치가 정해지면 행동 지침이 자동으로 따라온다.
- L1 × R1 (안전): 사용자 자기 자원의 즉시 가역 작업. 자유롭게 수행.
- L3 × R3 (위험): 노드 전체 영향 + 별도 복구 필요. 사전 백업과 검증 필수.
- L5 × R4 (절대금지): 외부 영향 + 비가역. 자동화 절차에 들어가서는 안 된다.
2.3 격자가 자동 결정하지 않는 것
격자는 위험 평가의 출발점이며 절대 기준이 아니다. 다음은 격자 외 추가 판단이 필요하다.
- 시점 의존성: 같은 작업이라도 트래픽 피크와 한산한 시간에 위험도가 다르다 (L4 × R2가 평시엔 위험·피크엔 금지일 수 있음)
- 연쇄 효과: 한 작업이 다른 작업을 유발하면 실질 위험은 셀의 합 (L2 × R2 작업이 L4 × R3을 유발하면 후자가 우선)
- 정상 운영 vs 사고 대응: 평시 금지 셀이 사고 시점에 허용으로 전환될 수 있음 (단, 다중 승인 전제)
격자는 이러한 동적 요소를 반영하지 않는다. 정적 셀 위치는 평시·정상 상태 기준의 기본 평가로만 사용한다.
3. 격자 활용 절차
3.1 사전 분류
신규 작업을 시작하기 전:
- 작업이 영향받는 자원 식별 (자기/자기 점유 노드/단일 노드/클러스터/외부)
- 작업 결과를 되돌리는 데 필요한 절차 식별 (즉시/스냅샷/별도 복구/불가)
- 두 결과로 셀 위치 결정
- 셀의 행동 코드를 따라 사전 점검·백업·승인 수행
3.2 작업 후 분류 검증
격자 분류는 사전 추정이다. 작업 후 실제 영향을 측정해 격자가 맞았는지 검증한다. 여러 차례 어긋나면 격자 자체를 갱신한다.
격자 갱신 사례 (가상):
- 처음에 L1 × R2로 분류한 "사용자 컨테이너 단일 생성" 작업이 실제로는 클러스터 메타 동기화를 일으켜 L4 × R2로 갱신
- L3 × R4로 분류한 "노드 reboot"가 사실 표준 절차로 R3에 들어갈 수 있음을 발견 후 갱신
3.3 자동화 게이트
격자는 자동화 시스템(CI/CD, 스케줄러, 셀프서비스)에서 승인 게이트로 작동한다.
| 셀 행동 코드 | 자동화 처리 |
|---|---|
| 안전 | 자동 실행 |
| 주의 | 자동 실행 + 사전 알림 |
| 위험 | 사전 백업 자동화 + 1인 승인 |
| 금지 | 변경 윈도우 + 다중 승인 + 롤백 자동화 |
| 절대금지 | 자동화 자체 불가. 인간 콘솔에서만 수행. |
이 매핑이 자동화 도구 설계의 출발점이 된다.
4. 적용 사례 (가상 환경)
본 절은 격자를 실제로 어떻게 적용하는지 시연한다. 환경은 가상의 5노드 PVE 클러스터(pve-clusterX / pve-nodeA~pve-nodeE) 기준.
4.1 안전 셀 작업 — L1 × R2
작업: 자기 사용자 풀 안에 신규 VM 100개 단위 생성
- L: 자기 풀에만 디스크 자원 생성 → L1
- R: vzdump 백업으로 R2 회복 가능
- 행동 코드: 안전 — 표준 절차 진행
가상의 qm create 호출:
qm create 110001 --name "loadtest-vm-001" \
--memory 2048 --cores 2 \
--net0 virtio,bridge=vmbr0 \
--scsi0 local-lvm:322
3
4
4.2 주의 셀 작업 — L3 × R2
작업: 노드 단일 reboot
- L: 단일 노드 전체 영향 → L3
- R: 노드 재기동으로 즉시 회복, 다만 게스트는 재시작됨 → R2
- 행동 코드: 주의 — 영향받는 게스트 식별, HA 정책 확인
가상의 사전 점검:
# 노드의 활성 VM 목록
ssh pve-nodeC qm list | awk '$3=="running" {print $1, $2}'
# HA 적용 자원 확인
ha-manager status | grep pve-nodeC2
3
4
5
4.3 위험 셀 작업 — L4 × R2
작업: 클러스터 전역 storage.cfg에 신규 NFS 항목 추가
- L: 5노드 모두에 즉시 전파 → L4
- R: 항목 제거로 회복 가능, 다만 그동안 마운트된 게스트 영향 → R2
- 행동 코드: 위험 — 사전 백업 + 마운트 검증 + 1인 승인
가상의 절차:
# [1] storage.cfg 백업
cp /etc/pve/storage.cfg /etc/pve/storage.cfg.bak.$(date +%s)
# [2] 신규 NFS 서버 가용성 사전 확인
showmount -e nfs.example.com
# [3] 단일 노드에서 임시 마운트 테스트
mount -t nfs nfs.example.com:/export/test /mnt/test-stage
# [4] 검증 후 storage.cfg에 추가2
3
4
5
6
7
8
9
10
4.4 절대금지 셀 작업 — L5 × R4
작업: 백엔드 스토리지의 zVol 영구 삭제
- L: 외부 인프라(스토리지 어플라이언스) → L5
- R: 데이터 비가역 → R4
- 행동 코드: 절대금지 — 자동화 불가, 인간 콘솔에서 다중 승인
이 작업은:
- CMP UI에 단일 클릭 버튼으로 노출되어서는 안 된다
- API 호출에 추가 confirm 토큰 요구 권장
- 작업 시점에 운영팀·데이터 소유자 동시 승인
5. 격자의 한계와 보완
5.1 정적 분류의 한계
격자는 작업 정의에 따른 정적 평가다. 실제 위험은 다음으로 동적으로 변한다.
- 시점 (피크/한산)
- 클러스터 상태 (정상/저하/사고)
- 작업자의 권한·숙련도
- 동시에 진행되는 다른 작업과의 상호작용
이를 보완하려면 격자 위에 동적 컨텍스트 레이어를 둔다 (예: 변경 윈도우 정책, 트래픽 신호 게이트). 격자 자체는 이 레이어들의 기준이 된다.
5.2 두 축으로 부족한 차원
다음 차원은 격자가 직접 다루지 않는다.
- 데이터 민감도: PII, 비밀번호, 재무 데이터 등의 노출 위험 (별도 데이터 분류 정책 필요)
- 법적/규제 노출: GDPR, HIPAA 등의 컴플라이언스 (별도 컴플라이언스 매트릭스)
- 비용 영향: 작업이 발생시키는 클라우드 비용 (별도 FinOps 평가)
이 차원들이 중요한 환경에서는 L×R 격자를 다른 격자와 결합해 다차원 평가를 한다. 본 챕터는 격자의 출발점만 제공한다.
5.3 셀 경계의 모호함
L1과 L2, R2와 R3 같은 인접 셀의 경계는 종종 모호하다. 이는 결함이 아니다. 격자는 명확한 분류가 아닌 명확한 차이를 보장한다 — L1과 L4는 분명히 다르고, R1과 R4도 분명히 다르다. 인접 셀은 행동 코드가 같거나 한 단계 차이라 모호함이 운영에 영향을 주지 않는다.
6. 다른 메타 자산과의 결합
본 격자는 단독으로 가치가 있지만, 본 시리즈의 다른 메타 자산과 결합하면 더 강력하다.
6.1 02 4 테스트 분류와의 결합
테스트 분류 4종(CRUD / 스테이징 / 위험 시나리오 / 클러스터 일관성) 각각이 격자 위 어느 셀 군에 떨어지는지 사전 매핑하면, 테스트 케이스 작성 시 행동 지침이 자동으로 따라온다.
- 4.1 CRUD: 주로 L1 × R1~R2 (안전)
- 4.2 스테이징: L1~L4 × R1~R3 (주의~위험)
- 4.3 위험 시나리오: L3~L5 × R3~R4 (위험~절대금지) — 고의로 위험 셀에 진입하는 테스트
- 4.4 클러스터 일관성: L4~L5 × R2~R3 (위험~금지)
6.2 04 6 Layer 검증 사슬과의 결합
각 작업의 격자 셀 위치에 따라 검증 사슬의 깊이가 결정된다.
- 안전 셀: UI → API 2단 검증으로 충분
- 주의 셀: UI → API → 설정 파일 3단까지
- 위험 셀: UI → API → 설정 → 노드 → 게스트 5단 풀체인
- 금지·절대금지 셀: 사전·사후 양방향 6단 검증
격자 셀이 검증 비용 정당화의 근거가 된다. "왜 이 테스트에 6단 검증이 필요한가" 질문에 셀 위치로 즉답할 수 있다.
7. 활용 체크리스트
본 격자를 자기 환경에 도입할 때 권장 절차:
- L 단계 정의 환경 매핑 — 자기 환경의 L1~L5를 구체적 자원 영역으로 매핑 (예: L4 = "etcd 클러스터 변경", L5 = "외부 결제 시스템 호출")
- R 단계 백업 메커니즘 매핑 — R2가 가능하려면 자동 백업이, R3가 가능하려면 복구 절차가 사전 정비되어야 한다
- 셀별 작업 카탈로그 생성 — 자기 팀이 자주 하는 50~100개 작업을 격자에 분류
- 자동화 게이트 통합 — 안전/주의 셀은 셀프서비스, 위험 셀부터 승인 흐름에 진입
- 분기별 갱신 — 환경 변화·사고 사례 반영해 셀 위치 재평가
8. 정리
본 격자의 핵심은 두 가지다.
- 두 질문의 분리: "어디까지 번지나"와 "되돌릴 수 있나"는 다른 질문이며 둘 다 답해야 한다
- 셀 → 행동 코드의 결정: 한번 셀이 정해지면 행동이 자동 결정되며 의사결정 비용이 0에 수렴한다
격자가 정착되면 운영자·테스터·SRE가 같은 언어로 위험을 말한다. "L4 × R3 작업이라 변경 윈도우가 필요하다"는 한 마디가 회의 30분을 절약한다.
다음 챕터: 02 4 테스트 분류 — 격자 위에서 테스트 케이스를 카테고리화하는 4분류 프레임워크.