본문으로 건너뛰기

크레딧 계산 모델

크레딧이 어디서 들어와 어디로 나가는지, 얼마가 언제 빠지는지의 전부.

단위​

항목값
화면 단위C (크레딧)
내부 저장 단위센티크레딧 = 1/100 C, 정수
기본 단가₩500 / 1 C (Super Admin이 변경 가능)
기본 VAT10%

소수점 오차를 없애려고 내부에서는 정수만 쓴다. 화면에 12.34 C로 보이는 값은 내부에서 1234다. 부동소수점 계산을 하지 않으므로 반올림으로 돈이 새지 않는다.

계정 구조​

크레딧은 계정에 담긴다. 두 종류뿐이다.

조직 계정 (org)
├─ 미할당 풀 ← 여기서 팀으로 나간다
└─ 팀 계정 (team) × N ← 여기서 실제로 쓴다

항상 성립하는 등식

조직 총 크레딧 = 미할당 풀 + Σ(팀 잔여)

이 등식은 팀 생성·예산 변경·팀 삭제·조직 제거 어느 경우에도 깨지지 않는다. 크레딧이 이동할 때 양쪽에 쌍으로 기록되기 때문이다.

잔액의 세 값​

계정마다 세 값이 있다.

값뜻
balance총 잔액
held선점된 금액. 실행 중인 세션이 잡아둔 것
가용balance − held. 지금 새로 쓸 수 있는 금액

화면의 잔여는 가용이다. 실행 중인 인스턴스가 있으면 그만큼 이미 잡혀 있다.

데이터베이스가 지키는 제약

CHECK (balance >= 0 AND held >= 0 AND held <= balance)

애플리케이션이 계산을 틀려도 데이터베이스가 거부한다. 잔액이 음수가 될 수 없는 마지막 방어선이다.

원장은 추가만 된다​

모든 크레딧 변동은 기록으로 남고 수정·삭제되지 않는다. 잘못된 기록은 지우는 게 아니라 반대 기록을 더한다.

기록 유형방향언제
purchase조직 +Super Admin이 크레딧을 판매할 때
allocate_out조직 −팀에 예산을 줄 때
allocate_in팀 +위와 쌍
reclaim_out팀 −팀 삭제·조직 제거로 회수할 때
reclaim_in조직 +위와 쌍
hold선점 +인스턴스를 시작할 때
hold_extend선점 +실행이 길어져 선점을 연장할 때
capture잔액 −, 선점 −실사용을 확정할 때
release선점 −안 쓴 선점을 놓을 때
usage_reservation팀 −예약 승인 시 선불 확정 차감
serverless_purchase팀 −서버리스 키 발급·증액
serverless_refund팀 +키 폐기·감액 환원
adjust±운영자 수동 조정. 사유 필수

멱등키 모든 기록에 유일한 키가 붙는다. 같은 요청이 두 번 도착해도 두 번 기록되지 않는다. 네트워크가 끊겨 재시도해도 이중 차감이 없다.


세 가지 과금 방식​

Voltra에는 돈이 빠지는 방식이 세 가지 있다. 언제 빠지는지가 각각 다르다.

1. 즉시 실행 — 쓴 만큼​

시작 ──▶ hold(선점) ──▶ running ──▶ 1분마다 재계산 ──▶ 중지 ──▶ capture(확정) + release(반환)

계산식

차감액 = 시간당 단가 × (중지 요청 시각 − running 진입 시각)
  • 1분 주기로 재계산되고 초 단위로 누적된다.
  • running 전까지는 무과금이다. 기동 준비 구간(provisioning·pending)은 청구되지 않는다.
  • 중지를 누른 시각까지만 과금된다. 실제 정지 전이가 느려도 그 구간은 무료다.
  • 선점은 시작 클릭 시점에 걸린다. 선점과 과금은 별개다.
  • 실행이 길어지면 선점을 자동으로 연장한다. 남은 선점이 30분 아래로 내려가면 60분씩 더 잡는다.
  • 시작 시점의 단가가 그 세션 내내 유지된다. 중간에 단가표가 바뀌어도 영향이 없다.

선점하는 이유 실행 중인 인스턴스의 예상 비용을 미리 잡아두지 않으면, 그 사이에 다른 데 크레딧을 다 써버려 정산할 돈이 없어진다.

2. 서버급 예약 — 선불 확정​

신청 ──▶ (차감 없음) ──▶ 승인 ──▶ usage_reservation 전액 차감 ──▶ 끝

계산식

차감액 = 시간당 단가 × 노드 수 × 예약 시간
  • 승인 순간 전액이 빠진다.
  • 안 써도 환불이 없다. 취소도 없다.
  • 조정안을 수락한 경우 조정된 조건 기준으로 계산된다.

선불인 이유 Capacity Block은 플랫폼이 AWS에 미리 값을 치르고 확보하는 자원이다. 팀이 안 써도 비용은 이미 나갔다.

3. 서버리스 — 발급 시 선불​

키 발급 ──▶ serverless_purchase 예산 전액 차감 ──▶ 호출 (원장 무변동) ──▶ 폐기 ──▶ serverless_refund
  • 발급하는 순간 예산만큼 팀 크레딧에서 빠진다.
  • 호출할 때마다 키의 used만 올라간다. 원장은 건드리지 않는다.
  • 폐기하면 예산 − 사용액이 돌아온다.
  • 증액은 추가 차감, 감액은 차액 환원이다.

환원 상한 구매액 − 기환원액을 넘을 수 없다. 감액을 반복해도 넣은 것보다 많이 돌려받지 못한다. 크레딧이 생성되는 경로가 없다.

호출마다 차감하지 않는 이유 LLM 호출은 초당 수십 건이 올 수 있다. 그때마다 원장에 쓰면 원장이 병목이 되고, 여러 요청이 같은 잔액을 보고 동시에 통과하는 문제가 생긴다. 지갑을 미리 사두고 그 안에서 쓰는 구조가 더 안전하고 빠르다.


잔여 대비 알림​

지점무슨 일
30% 남음팀·Org Admin에 경고 알림
10% 남음한 번 더
0팀 잠금. 실행 중 인스턴스 전부 중지, 새 실행·예약·서버리스 차단
  • 임계값은 팀마다 바꿀 수 있다. 기본은 30%·10%다.
  • 같은 임계값으로 중복 알림이 오지 않는다. 한 번 울린 임계값은 기록된다.
  • 예산을 증액하면 그 기록이 초기화되어 다시 울릴 수 있게 된다.

리포트와 잔액이 다를 수 없는 이유​

사용량 리포트는 원장을 그대로 투영한 것이다. 별도로 집계하지 않는다. 그래서 화면 합계, CSV 합계, 실제 차감액이 항상 같다.


검증용 체크리스트​

크레딧 회계가 맞는지 확인하려면 이것들을 본다.

확인방법
조직 등식미할당 풀 + Σ팀 잔여 = 조직 총액
팀 등식잔여 = balance − held
리포트 일치사용량 리포트 합계 = CSV 합계
즉시 실행 과금차감액 ≈ 실행 분 × 단가 ÷ 60
예약 과금차감액 = 단가 × 대수 × 시간
서버리스팀 차감 = 키 예산. 호출로 팀 잔여가 변하지 않는다
음수 방지어떤 경로로도 잔액이 0 아래로 못 간다

관련 상태 전이 · 사용량 리포트 · 시나리오 A·B·C·D

또 다른 질문이 있으십니까? 문의 등록