En este documento, se explica cómo usar las notificaciones de presupuesto para controlar de forma selectiva el uso de recursos.
Cuando inhabilitas la facturación en un proyecto, se detienen todos los servicios y, con el tiempo, se borran todos los recursos. Si necesitas una respuesta más matizada, puedes controlar los recursos de manera selectiva. Por ejemplo, puedes detener algunos recursos de Compute Engine y dejar intactos los recursos de Cloud Storage. Detener solo algunos recursos reduce tus costos sin inhabilitar por completo tu entorno.
En el siguiente ejemplo, el proyecto ejecuta una investigación con varias máquinas virtuales (VMs) de Compute Engine y almacena los resultados en buckets de Cloud Storage. Con las notificaciones de presupuesto como activador, después de que se exceda el presupuesto, esta función de Cloud Run cierra todas las instancias de Compute Engine, pero no afecta los resultados almacenados.
Antes de comenzar
Antes de comenzar, debes completar las siguientes tareas:
- Habilita la API de Cloud Billing
- Crea un presupuesto
- Configura notificaciones de presupuesto programáticas
Configura una Cloud Run Function
- Completa los pasos que se describen en Crea una función de Cloud Run. Asegúrate de configurar el Tipo de activador en el mismo tema de Pub/Sub que usará tu presupuesto.
Agrega las siguientes dependencias:
Node.js
Copia lo siguiente en tu archivo
package.json
:Python
Copia lo siguiente en tu archivo
requirements.txt
:Copia el siguiente código en tu función de Cloud Run:
Node.js
Python
Establece el punto de entrada en la función correcta para ejecutar:
Node.js
Establece el Punto de entrada en
limitUse
.Python
Establece el Punto de entrada en
limit_use
.Revisa la lista de variables de entorno que se configuran automáticamente y determina si necesitas configurar de forma manual la variable GCP_PROJECT para el proyecto que ejecuta las máquinas virtuales.
Establece el parámetro ZONE. Este parámetro es la zona en la que se detienen las instancias cuando se supera el presupuesto.
Haz clic en IMPLEMENTAR.
Configura los permisos de la cuenta de servicio
Tu función de Cloud Run se ejecuta como una cuenta de servicio creada automáticamente. Para controlar el uso, debes otorgar permisos de cuenta de servicio a cualquier servicio en el proyecto que necesite modificar. Para ello, completa los siguientes pasos:
- Para identificar la cuenta de servicio correcta, visualiza los detalles de tu función de Cloud Run. La cuenta de servicio se encuentra en la parte inferior de la página.
Ve a la página IAM en la consola de Google Cloud para establecer los permisos correspondientes.
Prueba que las instancias se detengan
Para asegurarte de que tu función funcione según lo esperado, sigue los pasos que se indican en Cómo probar una función de Cloud Run.
Si la operación se realiza correctamente, se detendrán tus VMs de Compute Engine en la consola de Google Cloud .
¿Qué sigue?
Revisa otros ejemplos de notificaciones programáticas para aprender a hacer lo siguiente:
- Cómo escuchar tus notificaciones
- Inhabilita el uso de la facturación con notificaciones
- Envía notificaciones a Slack