Vertex AI 모델별 토큰 사용량과 비용 추적 - GCP 맞춤 대시보드와 BigQuery 결제 내보내기

Vertex AI에서 Claude, Gemini 같은 모델을 섞어 쓰다 보면 모델마다 토큰 단가가 달라서 "어느 모델이 비용을 얼마나 쓰고 있는지"가 궁금해진다. 그런데 GCP의 Cloud Monitoring에는 비용 메트릭 자체가 없다. 토큰 사용량 메트릭은 있어도 달러로 환산된 값은 제공되지 않는다. 이 글에서는 측정항목 탐색기에서 만든 PromQL 쿼리를 맞춤 대시보드로 저장하는 방법과, 모델별 비용을 추적하는 두 가지 방법(PromQL 직접 계산, BigQuery 결제 내보내기)을 정리한다.

쿼리를 맞춤 대시보드로 저장하기

측정항목 탐색기에서 매번 쿼리를 다시 입력할 필요는 없다. GCP의 맞춤 대시보드에 저장해두면 언제든 한 화면에서 모니터링할 수 있다.

방법 1: 측정항목 탐색기에서 바로 저장

  1. 쿼리 작성 후 차트가 잘 나오는지 확인하고 우측 상단의 차트 저장 버튼을 클릭한다.
  2. 새 대시보드 만들기를 선택하거나 기존 대시보드를 고른다.
  3. 대시보드 이름(예: Vertex AI 토큰 사용량)과 위젯 제목을 입력하고 저장한다.

쿼리마다 이 과정을 반복하면 한 대시보드에 차트가 여러 개 쌓인다.

방법 2: 대시보드부터 만들기

모니터링 → 대시보드 → 대시보드 만들기로 빈 대시보드를 생성한 뒤, 위젯 추가에서 선 차트·스코어카드·원형 차트 등을 고르고 위젯 편집기의 PromQL 탭에 쿼리를 붙여넣으면 된다. 여러 차트를 한 번에 구성할 때 편하다. 추천 구성은 다음과 같다.

위젯차트 유형쿼리 형태
모델별 총 토큰 (7일)스코어카드/막대sum by (model_user_id) (increase(...[7d]))
시간별 사용 추이선 차트sum by (model_user_id) (rate(...[5m])) * 60
입력 vs 출력 비중원형 차트sum by (type) (increase(...[7d]))
누적 곡선 (30일)선 차트sum by (model_user_id) (increase(...[30d]))

한 가지 알아둘 점은, PromQL은 윈도우 기간을 쿼리 안에 직접 적어야 해서 대시보드 상단의 공통 시간 선택기와 100% 동기화되지 않는다는 것이다. 그래서 대시보드 용도라면 1시간·24시간·7일·30일처럼 시간 단위별 위젯을 따로 두는 방식이 실용적이다. 특정 모델 사용량이 일정치를 넘으면 알림을 받고 싶다면 차트 저장 시 알림 정책 만들기도 함께 설정할 수 있다.

모델별 비용을 확인하는 두 가지 방법

모델별 비용 확인 두 가지 방법 비교

방법 A: PromQL로 토큰 수에 단가를 직접 곱하기

대시보드 위젯에서 모델별로 쿼리를 만들고, 토큰 수를 100만으로 나눈 뒤 해당 모델의 100만 토큰당 단가를 곱하는 방식이다. 예를 들어 입력 $3.00, 출력 $15.00인 모델이라면 다음과 같이 쓴다.

sum(increase(aiplatform_googleapis_com:publisher_online_serving_token_count{model_user_id="claude-sonnet-4", type="input"}[7d])) / 1e6 * 3.0 + sum(increase(aiplatform_googleapis_com:publisher_online_serving_token_count{model_user_id="claude-sonnet-4", type="output"}[7d])) / 1e6 * 15.0

위젯 편집기의 쿼리 추가로 모델별 쿼리를 나란히 넣고 별칭(legend)을 모델명으로 지정하면 한 차트에 모델별 비용이 함께 표시된다. 참고용 단가는 다음과 같다.

모델입력 (USD/1M 토큰)출력 (USD/1M 토큰)
Claude Sonnet 4$3.00$15.00
Claude Haiku$0.25$1.25
Gemini 2.5 Pro (20만 토큰 이하)$1.25$10.00
Gemini 2.5 Flash$0.30$2.50
Gemini 2.5 Flash-Lite$0.10$0.40

단가는 자주 바뀌므로 공식 Vertex AI 가격 페이지에서 최신 값을 확인해야 한다. 배치 모드는 할인이 적용되고 긴 컨텍스트 구간은 단가가 다를 수 있다. 이 방식의 장점은 대시보드에서 즉시 보인다는 것이고, 단점은 가격이 바뀌면 쿼리를 수동으로 고쳐야 하며 캐싱·할인·세금이 반영되지 않는다는 점이다. 쿼리를 만들기 전에 실제 model_user_id 라벨 값이 무엇으로 잡히는지 PromQL 자동완성({model_user_id=까지 입력)으로 먼저 확인하는 것이 좋다.

방법 B: BigQuery 결제 내보내기 (정확함, 권장)

GCP가 실제로 청구하는 금액을 그대로 보는 방법이다. 가격 변경, 캐싱 할인, 약정 할인이 모두 자동 반영된다.

BigQuery 결제 내보내기 3단계
  1. 결제 → 결제 내보내기 → 표준 사용량 비용 → 구성 편집에서 내보내기를 활성화하고 데이터 세트(예: billing_export)를 지정한다.
  2. 활성화 후 약 24시간이 지나면 청구 데이터가 쌓이기 시작한다.
  3. BigQuery에서 서비스를 Vertex AI로 필터링하고 SKU별로 비용을 합산하는 SQL을 실행한다. 핵심은 SKU 설명에 모델명이 들어 있다는 점이다. 예를 들어 "Claude 3.5 Sonnet Input Tokens", "Gemini 2.5 Pro Output Tokens" 같은 SKU로 모델별·입출력별 실제 청구액이 그대로 나온다.

쿼리 예시는 SELECT sku.description, SUM(cost) FROM billing_export.gcp_billing_export_v1_XXXX WHERE service.description = 'Vertex AI' GROUP BY sku.description ORDER BY 2 DESC 형태이며, 기간 조건(_PARTITIONTIME)을 붙여 최근 30일 등으로 좁히면 된다. 결과는 BigQuery 콘솔의 데이터 탐색 기능으로 Looker Studio에 연결해 차트로 만들 수 있고, 별도 설정 없이 결제 → 보고서에서 SKU별 필터로 비슷한 뷰를 보는 것도 가능하다.

추천 조합

무료 크레딧으로 AI 에이전트 앱을 돌리는 단계라면 다음 조합이 실용적이다.

  • 방법 A로 대시보드 구성 - 실시간 모니터링용. 토큰과 대략적 비용을 같은 화면에서 본다.
  • 방법 B 결제 내보내기는 미리 켜두기 - 24시간 후부터 정확한 청구액 확인용.
  • 결제 → 예산 및 알림에서 임계치 설정 - 크레딧 50%, 90% 소진 시 이메일 알림.

정리

Cloud Monitoring에는 비용 메트릭이 없으므로, 모델별 비용은 토큰 수에 단가를 곱하는 PromQL 방식(즉시 확인, 근사치)과 BigQuery 결제 내보내기(24시간 지연, 실제 청구액)를 병행하는 것이 정답에 가깝다. 대시보드는 측정항목 탐색기의 차트 저장 기능이나 대시보드 만들기 메뉴로 손쉽게 구성할 수 있으니, 토큰·추이·입출력 비중·누적 곡선의 4개 위젯 구성부터 시작해 보면 된다.

이 시리즈의 다른 글: 구글 클라우드 API 사용량 실시간 모니터링 방법 - 누적 토큰 사용량까지 확인하기

※ 본문의 모델 단가와 메뉴 명칭은 2026년 기준이며 변경될 수 있습니다.

댓글

이 블로그의 인기 게시물

[AI입문]AI 용어 사전 — 토큰, 컨텍스트, 환각... 뜻만 알면 절반은 끝난다

메일 주소 하나 만들려다 브랜드를 세웠다 — 1인 스튜디오 브랜딩 실전기

클로드 Fable 5와 Opus 4.8 비교 - 차이점, 가격, 무료 기간 종료 후 변화까지 총정리 (7월 최신)