Imagina una empresa de logística de 12 personas con dos servicios en Cloud Run y un trabajo nocturno en BigQuery. Alguien pone un presupuesto de 300 dólares al mes, marca las casillas de alerta y deja de pensar en el tema. Seis semanas después un bucle de reintentos corre todo el fin de semana y la factura llega en cuatro cifras. El presupuesto hizo exactamente aquello para lo que existe, que es mandar correos.
Es el error de costos más común que encontramos en el proyecto de Google Cloud de una empresa pequeña, y no es descuido. La palabra presupuesto promete un techo. En Cloud Billing lo que compra, casi siempre, es un aviso.
Qué hace una alerta de presupuesto y qué no hace
Un presupuesto de Cloud Billing vigila el costo del alcance que elijas y envía notificaciones cuando el gasto cruza tus umbrales. La documentación de Google es clara sobre el límite: los correos de alerta pueden empujarte a tomar medidas para controlar tus costos, pero no impiden automáticamente el uso ni el cobro de tus servicios cuando se alcanza o se supera un umbral. Un presupuesto de solo alertas no limita el uso ni el gasto.
Una alerta de presupuesto es un detector de humo. Te avisa que algo se está quemando, pero no apaga el fuego. Igual vale la pena configurarlo bien, porque casi todos los meses malos se ven venir días antes de la factura. Lo que sigue es la configuración que dejamos, en el orden en que la hacemos.
Cuál control sí detiene el dinero
Casi toda empresa pequeña necesita los dos primeros y uno de los tres últimos.
| Control | Qué garantiza | Qué no hace |
|---|---|---|
| Alerta de presupuesto sobre costo real | Un aviso cuando el gasto acumulado cruza un umbral | Detener algo. Los cargos siguen corriendo después del correo |
| Alerta de presupuesto sobre costo proyectado | Un aviso cuando la proyección del período cruza un umbral | Funcionar con un rango de fechas personalizado. Necesita un período de calendario |
| Presupuesto con tope de gasto | Pausa un servicio elegible en un proyecto cuando el costo estimado pasa el 100 por ciento | Actuar al instante, cubrir todos los servicios ni contar créditos |
| Automatización con Pub/Sub que desvincula la facturación | Detiene el proyecto completo, si tú construyes y mantienes la función | Perdonar nada. También para el nivel gratuito y los recursos terminan eliminándose |
| La cuota o el límite propio de un servicio | Un techo duro en ese recurso, antes de que haya gasto | Cubrir el resto del proyecto |
El presupuesto que dejamos el primer día
Tres decisiones, independientes entre sí.
Alcance. Un presupuesto puede cubrir toda la cuenta de facturación, o limitarse a organizaciones, carpetas o proyectos específicos, o a servicios como Compute Engine o BigQuery. Las etiquetas afinan más, una etiqueta por presupuesto y solo en presupuestos a nivel de cuenta de facturación. En una empresa pequeña arrancamos con un presupuesto por proyecto, porque el proyecto es la unidad que el dueño reconoce.
Monto. O un monto fijo, contra el que se compara tu gasto real, o el gasto del período anterior, que se reajusta cada período de calendario al 100 por ciento del período previo. La opción dinámica va bien con una carga estable y mal con una que crece, porque un mes malo se convierte en silencio en la base del mes siguiente.
Umbrales. Un presupuesto nuevo llega con alertas al 50, 90 y 100 por ciento del monto, medidas contra el gasto real. Puedes cambiarlas, agregar más o quitarlas. Cada regla es de costo real, que se dispara con el gasto acumulado del período, o de costo proyectado, que se dispara cuando la proyección al cierre del período de calendario cruza la línea. Un presupuesto con rango de fechas personalizado no puede usar umbrales proyectados.
Dejamos los tres umbrales por defecto y agregamos una regla proyectada. La alerta proyectada es la que te da un día hábil para reaccionar, en lugar de una sorpresa un domingo en la noche.
Desde la línea de comandos los umbrales son una bandera repetible, donde el porcentaje va de 0.0 a 1.0 y la base es gasto actual por defecto:
gcloud billing budgets create \
--billing-account=BILLING_ACCOUNT_ID \
--display-name="prod mensual" \
--budget-amount=300USD \
--threshold-rule=percent=0.50 \
--threshold-rule=percent=0.75,basis=forecasted-spend
Las banderas de filtro de alcance cambian entre las versiones estable, beta y alpha, así que revisa gcloud billing budgets create --help en la versión que tengas instalada.
Quién recibe el correo y por qué casi nunca el dueño
Por defecto, las alertas llegan a quien tenga Administrador de la cuenta de facturación o Usuario de la cuenta de facturación, es decir roles/billing.admin y roles/billing.user. Si el presupuesto está limitado a un solo proyecto, también puedes enviarlas a los propietarios de ese proyecto, y puedes sumar hasta cinco canales de notificación de Monitoring, cada uno referenciado con su nombre de recurso completo, con la forma projects/PROJECT_ID/notificationChannels/CHANNEL_ID. Los destinatarios por defecto se pueden desactivar con disableDefaultIamRecipients en la API, con una excepción: no en un presupuesto con tope de gasto.
Aquí es donde se rompe en una empresa pequeña. A quien más le importa la factura es al dueño, que no tiene ningún rol de facturación, así que la alerta cae con alguien de desarrollo que asume que otro está vigilando. Agregamos al dueño como canal de correo en Monitoring y mandamos una segunda copia a un buzón compartido, para que la alerta sobreviva unas vacaciones y una renuncia.
La única opción que de verdad pausa un servicio
Los presupuestos con tope de gasto sí detienen el uso. Con revisión al 29 de octubre de 2026, las notas de versión de Cloud Billing los listan como disponibles de forma general desde el 13 de octubre de 2026 para un conjunto limitado de servicios, después de salir en Preview el 27 de julio de 2026.
Cuando el costo bruto estimado de uso pasa el 100 por ciento del monto, el uso del servicio indicado en ese proyecto se pausa por el resto del período. No se eliminan recursos ni datos, y solo se pausa ese servicio. Las restricciones importan a la hora de planear:
- Un proyecto y un servicio elegible por presupuesto, solo período mensual, monto fijo en vez del gasto del período anterior.
- Los servicios elegibles en esta versión son la API de Gemini, Agent Platform (antes Vertex AI), Cloud Run y Cloud Run functions. Google dice que vendrán más.
- Exactamente tres reglas de umbral, en 0.5, 0.8 y 1.0. El gasto proyectado no es compatible.
- Los cálculos usan costos brutos estimados a precio de lista y excluyen ahorros y créditos.
- La aplicación es más rápida que los informes de facturación, pero no es instantánea, y cualquier exceso se cobra normalmente. Las cuotas fijas de compromiso siguen cobrándose a su tarifa contractual, entre ellas los descuentos por uso comprometido.
- El tope se levanta solo al inicio del siguiente período. Si lo levantas a mano, no se vuelve a activar en ese período a menos que subas el monto.
Para la empresa de logística del inicio esa es una respuesta real: un tope de gasto sobre Cloud Run en ese proyecto. Para una VM de Compute Engine o un trabajo de BigQuery todavía no existe. Si la carga es de IA y no web, los controles de gasto del lado de Gemini son otra capa.
El interruptor que te toca construir, y por qué casi nunca lo dejamos puesto
Google documenta el patrón: las notificaciones del presupuesto van a un tema de Pub/Sub y una función en Cloud Run llama a la API de Cloud Billing para desvincular la cuenta de facturación. Funciona, y lo dejamos fuera de los proyectos de producción de casi todos los clientes pequeños por cuatro razones.
- Detiene todo. Desactivar la facturación detiene todos los servicios del proyecto, incluidos los del nivel gratuito, y la documentación advierte que los recursos terminan eliminándose.
- La cuenta de servicio de la función necesita Administrador de la cuenta de facturación, un permiso muy amplio para dejarlo en un camino automatizado.
- Las notificaciones van detrás del uso real, así que se acumulan cargos antes de que algo se detenga. La guía de Google dice que seguir esos pasos no garantiza que te mantengas dentro del presupuesto.
- Pub/Sub descarta los mensajes cuando nada está suscrito. Si la función se rompe, el tema queda en silencio y nadie se entera hasta la factura.
La versión angosta le sirve mejor a casi cualquier empresa pequeña: que la notificación detenga instancias concretas de Compute Engine en vez de cortar la facturación del proyecto entero. Google también documenta esa variante. El interruptor completo lo guardamos para un proyecto de pruebas o de capacitación, sin datos de producción, donde lo peor que pasa con un corte en seco es perder una tarde.
La factura que puedes consultar, no solo leer
Los informes de la consola responden cuánto. La exportación a BigQuery responde cuál SKU, en cuál proyecto, en cuál día, y eso convierte una factura preocupante en una conversación de diez minutos. Importan dos tablas. La exportación estándar de costos de uso, gcp_billing_export_v1_BILLING_ACCOUNT_ID, trae servicios, SKU, proyectos, etiquetas, costo, uso y créditos. La detallada, gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID, agrega el costo a nivel de recurso, hasta una VM o un disco. La estándar para tendencias, la detallada para encontrar el recurso que se movió, y consultar la detallada puede costar más, así que apunta el tablero diario a la estándar. Ese balance lo vemos a fondo en qué cobra en realidad una factura de BigQuery.
Dos detalles de configuración agarran desprevenida a mucha gente. La exportación necesita que la cuenta de servicio administrada por Google billing-export-bigquery@system.gserviceaccount.com tenga acceso al conjunto de datos. Y el relleno histórico depende de dónde viva ese conjunto: uno multirregional en la UE o en EE. UU. recibe un relleno la primera vez, mientras que uno en una sola región compatible solo guarda datos desde el día en que activaste la exportación, sin relleno retroactivo después. Ese es todo el argumento para activarla al empezar un proyecto y no la primera vez que algo sale mal. El histórico no se puede comprar después.
Notas de costo y riesgo
Un tope de gasto pausa un servicio, y en algo de cara al cliente una pausa es una caída. Pon el monto en el nivel donde una caída de verdad sea mejor que la factura, y ni un dólar menos. En un servicio público de Cloud Run ese número suele ser más alto que el primer instinto del dueño.
Las alertas y los topes trabajan sobre cifras estimadas. Los costos reales de un presupuesto son cargos aproximados acumulados en el período y pueden cambiar hasta que la factura se cierra, así que trata el umbral como una señal y la factura como el número. El tope además ignora ahorros y créditos, así que un proyecto que se ve cómodo en gasto neto puede activar uno calculado sobre esa cifra neta. Y nada de esto reemplaza un límite por servicio: un máximo de instancias en un servicio de Cloud Run o una cuota personalizada en BigQuery detienen el gasto antes de que ocurra, algo que un presupuesto nunca hace.
Qué vigilamos el primer mes
- Si la alerta del 50 por ciento llegó de verdad, y a quién. Una alerta que nadie recibe equivale a no tener alerta.
- Una alerta proyectada que se dispara temprano en el mes. Casi siempre significa que una carga cambió, no que el presupuesto esté mal.
- Los cinco SKU principales de la exportación detallada al cerrar la primera semana. Si nadie puede nombrarlos, el proyecto todavía no se entiende.
- Si algo que está detrás de un tope de gasto pasó a producción después de que se puso el tope.
Cómo ayuda Guanacos Tech
Esto lo dejamos en cualquier proyecto de Google Cloud que llevamos: un presupuesto por proyecto con los tres umbrales reales más uno proyectado, las alertas dirigidas a quienes pagan la factura, la exportación de facturación cayendo en BigQuery desde el primer día y un tope de gasto donde el servicio lo permita. Si prefieres no enterarte de un mes malo el día de la factura, nuestra consultoría de Google Cloud empieza revisando la cuenta de facturación que ya tienes, y cómo cotizamos y cobramos el trabajo está en cómo trabajamos. La llamada dura 30 minutos y termina con una lista escrita de qué cambiar, nos contrates o no.
Fuentes
- Create, edit, or delete budgets and budget alerts (Cloud Billing)
- Manage spend cap budgets (Cloud Billing)
- Cloud Billing release notes
- Disable billing usage with notifications (Cloud Billing)
- Control resource usage with notifications (Cloud Billing)
- Set up Cloud Billing data export to BigQuery
- gcloud billing budgets create (Google Cloud SDK reference)
- REST Resource: billingAccounts.budgets (Cloud Billing Budget API)