G. 운영·정리
되돌리기와 흔적. 지우기 전에 정리하게 하고, 지운 뒤에도 회계는 남는다.
선행 A. 온보딩 이후 실제로 자원을 써 본 상태.
공통 원칙 — 실제 삭제는 하지 않는다
조직·팀·인스턴스 모두 목록에서 감출 뿐 행을 지우지 않는다. 원장은 추가만 되는 구조라 차감
기록이 영원히 남는데, 그 차감이 무엇 때문이었는지 알 수 없게 되면 사용량 리포트에 정체불명의
금액이 생긴다. 그래서 이름은 (삭제됨)으로 남는다.
S-37 강제 중지
Org Admin · 3분 · 선행 S-09
팀원이 인스턴스를 켜두고 퇴근했을 때 쓴다.
전제 대상 팀에 실행 중인 인스턴스가 하나 이상 있다.
절차
팀 관리에서 대상 팀의강제 중지를 누른다.- 사유를 적는다. 필수다.
작업 유실 가능성을 이해했습니다를 체크한다.- 실행한다.
기대
- ✅ 응답에 중지 신호를 보낸 인스턴스 수가 나온다.
- ✅ 그 팀의 실행 중인 인스턴스 전부가 중지 절차에 들어간다.
- ✅ 팀에 알림이 사유와 함께 간다:
관리자가 인스턴스를 강제 중지했습니다. - ✅ 각 인스턴스가 중지 시각까지만 정산된다. 일반 중지와 같다.
- ✅ 감사 로그에
team.force_stop이 사유·대수와 함께 남는다. - ✅ 팀은 잠기지 않는다. 다시 시작할 수 있다.
체크박스를 안 누르면 ack_required로 거부된다. 학습 중이던 작업이 날아갈 수 있어서
한 번 더 확인한다.
잠금과의 차이
| 강제 중지 | 팀 잠금 | |
|---|---|---|
| 실행 중 인스턴스 | 중지 | 중지 |
| 새로 시작 | ✅ 가능 | ❌ 차단 |
| 서버리스 호출 | ✅ 가능 | ❌ 차단 |
| 원인 | 관리자 판단 | 크레딧 소진 |
관련 긴급 대응
S-38 팀 삭제와 예산 반환
Org Admin · 3분 · 선행 S-06
절차
- 팀 행의
삭제를 누른다. - 팀 이름을 정확히 입력해 확인한다.
- 삭제한다.
기대
- ✅ 팀 잔여가 조직 미할당 풀로 돌아온다(
reclaim). - ✅ 조직 총 크레딧이 변하지 않는다. 위치만 바뀐다.
- ✅ 팀이 목록에서 사라진다.
- ✅ 감사 로그·원장·세션 기록은 남는다.
- ✅ 감사 로그에
team.delete가 반환액과 함께 남는다.
막히는 경우
| 상황 | 결과 | 조치 |
|---|---|---|
| 이름 확인 불일치 | confirm_mismatch | 팀 이름을 정확히 입력한다 |
| 실행 중인 세션이 있음 | sessions_open | 먼저 중지한다(S-37) |
| 선점이 남아 있음 | active_holds | 세션·예약을 정리한다 |
선점(hold)이 남은 채 팀을 지우면 그 크레딧이 어느 쪽에도 속하지 않게 된다. 그래서 먼저 막는다.
관련 팀 생애주기
S-39 노드 등록 해제와 과금 이력
Super Admin · 3분 · 선행 S-05, S-09
전제 그 노드로 인스턴스를 한 번 이상 실행해 차감 기록을 만들어 둔다.
절차
- 노드를
가용상태로 만든다. 노드 풀 관리에서등록 해제를 누른다.- 그 팀의
사용량 리포트에서 과거 기록을 확인한다.
기대
- ✅ 인벤토리와 조직 노드 풀에서 사라진다.
- ✅ 단가표의 그 유형
노드 수가 1 줄어든다. - ✅ 팀의 인스턴스 목록에서도 사라진다.
- ✅ 과거 사용 이력은 그대로 남는다. 이름은
(삭제됨)으로 표시된다. - ✅ 총액이 등록 해제 전후로 같다.
- ✅ 감사 로그에
node.unregister가 어떤 인스턴스가 감춰졌는지 이름과 함께 남는다.
실제 EC2는 남는다 Voltra는 목록에서 지울 뿐 인프라를 제거하지 않는다. 실제 인스턴스는 조직 계정에 그대로 있고 삭제는 수동이다.
막히는 경우
| 상황 | 결과 |
|---|---|
노드가 사용 중 | in_use. 세션을 먼저 정리한다 |
| 그 노드의 인스턴스가 실행 중 | in_use. 먼저 중지한다 |
해제 대신 비활성화 잠시만 빼려면 비활성화가 낫다. 신규 배정에서만 빠지고 등록은 유지된다.
활성화로 언제든 되돌린다.
관련 노드 풀 관리
S-40 사용량 CSV 내보내기
사용자 · 3분 · 선행 S-09
절차
사용량 리포트에서 기간을 정한다.CSV 내보내기를 누른다.- 알림이 올 때까지 기다린다.
내보내기 내역에서 파일을 받는다.- 화면 합계와 CSV 합계를 비교한다.
기대
- ✅ 요청 즉시 작업이 만들어지고 화면은 막히지 않는다. 생성은 백그라운드에서 돈다.
- ✅ 완료되면 알림이 온다:
CSV 내보내기가 완료되었습니다 (n행). - ✅
내보내기 내역에서 다운로드 링크가 활성화된다. - ✅ CSV 합계 = 화면 합계. 정확히 같아야 한다.
- ✅ 예약 차감(
usage_reservation)과 서버리스 구매·환원도 포함된다. - ✅ 환불·환원 항목의 부호가 화면과 같다.
같은 값이 나오는 이유 리포트와 CSV가 같은 원장을 본다. 별도로 계산하지 않는다. 그래서 잔액과 리포트가 다를 수 없다.
관련 사용량 리포트
S-41 진행 중 자원이 있는 조직 제거 시도
Super Admin · 5분 · 선행 S-15
조직 제거는 가장 무거운 작업이다. 여러 겹으로 막아 둔다.
절차
- 그 조직에 승인 대기 예약이나 실행 중 인스턴스를 만들어 둔다.
조직 관리에서제거를 시도한다.- 조직 이름을 정확히 입력한다.
기대 — 순서대로 막힌다
| # | 검사 | 실패 시 |
|---|---|---|
| 1 | 조직 이름 확인 | confirm_mismatch |
| 2 | 진행 중 예약 (submitted·adjusted·approved·active) | reservations_open — 건수가 함께 나온다 |
| 3 | 실행 중 세션 | sessions_open — 건수가 함께 나온다 |
| 4 | 팀의 활성 선점 | active_holds — 어느 팀인지 이름이 나온다 |
- 모두 정리한 뒤 다시 제거한다.
기대 — 제거 성공 시
- ✅ 모든 팀의 잔여가 조직으로 회수된 뒤 조직 잔액이 정산 종료된다.
- ✅ 조직이 목록에서 사라진다.
- ✅ 원장·감사 로그는 남는다.
- ✅ 그 조직의 어드민 이메일은 계속 점유된다. 재사용하려면 다른 이메일을 쓴다 (S-02).
관련 조직 생애주기
S-42 감사 로그로 추적하기
Super Admin · 5분 · 선행 여러 시나리오 수행 후
앞선 시나리오를 여러 개 돌렸다면 로그에 그 흔적이 다 남아 있다.
절차
감사 로그로 간다.- 조직·행위자·액션·기간으로 걸러 본다.
- 아래를 각각 찾아본다.
기대 — 다음이 전부 남아 있다
| 무엇을 찾나 | 액션 |
|---|---|
| 조직을 누가 언제 만들었나 | org.create |
| 크레딧을 얼마에 팔았나 | org.sell_credits |
| 팀 예산을 누가 바꿨나 | team.create · team.update |
| 예약을 누가 승인·조정·반려했나 | reservation.approve · adjust · reject |
| 노드를 누가 등록·해제했나 | node.register · node.unregister |
| 서버리스 키를 누가 발급·폐기했나 | llm_key.issue · llm_key.revoke |
| 인스턴스를 누가 강제 중지했나 | team.force_stop (사유 포함) |
| 팀이 왜 잠겼나 | team.lockdown (시스템 행위자) |
기대 — 항목마다 보이는 것
- ✅ 시각, 행위자(사람 또는 시스템), 액션, 대상, 상세.
- ✅ 사유가 있는 액션은 사유가 함께 보인다.
- ✅ 시스템이 한 일도 행위자로 기록된다. 자동 중지, 자동 잠금, 자동 반려 모두 추적된다.
- ✅ 조직 어드민은 자기 조직 로그만 본다. Super Admin은 전체를 본다.
추적 예시 — "이 팀 크레딧이 왜 이렇게 줄었나"
사용량 리포트에서 큰 차감 항목을 찾는다.- 그게 예약이면 감사 로그에서
reservation.approve를 찾는다. 누가 언제 승인했는지 나온다. - 그게 서버리스면
llm_key.issue를 찾는다. 누가 얼마짜리 키를 발급했는지 나온다. - 그게 GPU 시간이면
instance.start/instance.stop으로 실행 구간을 확인한다.
이 묶음이 끝나면
42개 시나리오 전부를 돈 것이다. 생성부터 소멸, 정상 경로부터 장애 경로, 그리고 그 모든 것이 남긴 흔적까지 확인했다.
되돌릴 수 있는 것과 없는 것
| 작업 | 되돌리기 |
|---|---|
| 팀 잠금 | ✅ 해제 |
| 멤버 비활성화 | ✅ 활성화 |
| 노드 비활성화 | ✅ 활성화 |
| 인스턴스 중지 | ✅ 다시 시작 |
| 서버리스 키 폐기 | ⚠️ 잔여는 환원. 같은 키는 못 살린다 |
| 팀 삭제 | ❌ 예산은 돌아오지만 팀은 복구 불가 |
| 노드 등록 해제 | ❌ 다시 등록은 되지만 새 노드가 된다 |
| 조직 제거 | ❌ |
| 예약 승인 | ❌ 취소·환불 없음 |
| 크레딧 판매 | ❌ 원장은 추가만 된다 |
되돌아가기: 시나리오 목록