Cloud Cost Sense
Google Cloud Scheduler 비용: Job, 대상, 재시도 계산
활성·일시중지 job, billing account 무료 사용량, 대상 서비스, 재시도를 기준으로 Google Cloud Scheduler 비용을 추정합니다.
실행 횟수가 아니라 job 수를 세세요
Cloud Scheduler 요금은 각 job의 실행 빈도가 아니라 job 수를 기준으로 합니다. Google은 현재 billing account마다 월 3개 job을 무료로 제공하고, 이를 넘는 job에 31일당 $0.10을 부과합니다. 무료 한도는 billing account에 연결된 여러 project가 공유하므로 account 전체 job을 확인한 뒤 적용해야 합니다.
일시중지한 job도 개수에 포함되며 과금 사용량은 일 단위로 계산됩니다. 계획할 때는 활성·일시중지 job을 모두 세고 account 수준의 남은 무료 한도를 뺀 뒤, 짧게 존재한 유료 job은 생성된 일수만큼 비례 계산하세요. 요금과 한도는 바뀔 수 있으므로 예산 승인 전 최신 공식 가격표를 확인해야 합니다.
호출 대상 workload 비용을 더하세요
Scheduler job 요금에는 대상이 수행하는 작업 비용이 포함되지 않습니다. HTTP 서비스, Cloud Run service 또는 function, Pub/Sub topic과 subscriber, App Engine application의 해당 요금에 각 호출이 만드는 logging, storage, database operation, network transfer 비용을 더하세요.
대상 사용량은 예정 실행 수 × 실제 전달 수 × 전달 1회당 작업량으로 추정하세요. 빈도는 기존 job의 Scheduler 요금을 바꾸지 않지만 대상 서비스 요금은 대개 바꿉니다. 저렴한 cron 정의 뒤에 비싼 query나 compute 작업이 숨지 않도록 hourly, daily, batch workload를 분리해서 계산하세요.
재시도와 중복 안전 처리까지 예산에 넣으세요
Cloud Scheduler는 at-least-once 전달을 사용하며 실패 시 exponential backoff로 재시도할 수 있습니다. 재시도가 Scheduler job 요금을 하나 더 만들지는 않지만, 추가 전달마다 대상의 compute, Pub/Sub, database, API, logging 리소스를 소비할 수 있습니다. Attempt 수를 추적하고 timeout이나 acknowledgement 불일치를 반복 비용이 되기 전에 조사하세요.
반복 요청이 유료 작업이나 비즈니스 동작을 중복 생성하지 않도록 handler를 idempotent하게 만드세요. 오래되었거나 일시중지된 job을 정기적으로 정리하고 적절한 attempt deadline과 retry policy를 설정하며, job inventory와 대상 서비스 지표를 함께 모니터링하세요. 예약된 container 작업은 작은 Scheduler 제어 요금과 별도로 downstream 실행 모델을 비교해야 합니다.