Cloud Cost Sense

Cloud Run Jobs, Cloud Tasks, Scheduler 비용 계산

Cloud Run 실행 시간, Cloud Tasks 재시도, Scheduler 실행 빈도, DB 작업, 로그를 나눠 백그라운드 작업 비용을 추정하는 방법입니다.

예약 작업을 요청 트래픽과 분리하세요

백그라운드 작업은 보통 Cloud Run 추정치 안에 숨어 있습니다. 예약 job, queue worker, webhook retry, export, report, cleanup 작업을 사용자-facing 화면 조회와 따로 적으세요. 각 경로마다 월 실행 횟수, 평균 실행 시간, CPU, 메모리, 최소 인스턴스를 warm 상태로 유지하는지 추정합니다.

개발 중에는 작아 보이는 job도 모든 고객을 스캔하거나, 파일을 다시 만들거나, 모든 row마다 API를 호출하면 비싸질 수 있습니다. 정상 실행 1회와 장애 후 밀린 작업을 따라잡는 실행을 함께 모델링해 happy path만 계산하지 않도록 하세요.

재시도와 큐 burst를 모델링하세요

Cloud Tasks 같은 큐 패턴은 지연 시간을 보호할 수 있지만, 하위 서비스가 느리거나 잘못된 item이 들어오면 재시도가 작업량을 곱합니다. task당 시도 횟수, 최대 재시도 기간, dead-letter 처리, 캠페인이나 import가 만들 수 있는 가장 큰 burst를 추정하세요.

worker 동시성과 Cloud Run 최대 인스턴스는 하위 DB를 기준으로 설정해야 합니다. 큐가 Firestore, Cloud SQL, Storage, 외부 API보다 빠르게 fan out될 수 있다면 비용 위험은 추가 compute 시간뿐 아니라 반복 DB 작업과 네트워크 작업까지 포함합니다.

저장소, DB, 관측 비용을 더하세요

worker 컨테이너는 월 청구서의 일부일 뿐입니다. 각 job이 만드는 Firestore read/write, Cloud SQL 쿼리, Storage 다운로드나 업로드, BigQuery export, API 호출, 로그량을 더하세요. 자주 실행되는 worker의 verbose log는 예상보다 디버깅 데이터를 비싸게 만들 수 있습니다.

출시 전에는 백그라운드 작업 트래픽을 API 요청, DB 작업, 저장소 전송량, 예상 요청 시간으로 계산기에 포함하세요. 그런 뒤 첫 대규모 import나 캠페인 전에 schedule, queue retry 정책, 오래 실행되는 job에 Billing 알림과 담당자 리뷰를 붙이세요.