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 de Cloud Storage. Detener solo algunos recursos reduce los costos sin inhabilitar por completo el entorno.
En el siguiente ejemplo, el proyecto ejecuta una investigación con varias máquinas virtuales (VM) de Compute Engine y almacena los resultados en buckets de Cloud Storage. Si usas las notificaciones de presupuesto como activador, después de que se exceda el presupuesto, esta función de Cloud Run cerrará todas las instancias de Compute Engine, pero no afectará 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 función de Cloud Run
- 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 otorgarle permisos a la cuenta de servicio para cualquier servicio del proyecto que necesite modificar. Para ello, completa los siguientes pasos:
- Para identificar la cuenta de servicio correcta, visualiza los detalles de la 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 configurar los permisos correspondientes.
Prueba que las instancias se detengan
Para asegurarte de que tu función funcione como se espera, sigue los pasos que se indican en Cómo probar una función de Cloud Run.
Si se realiza correctamente, se detendrán las 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
- Cómo inhabilitar el uso de la facturación con notificaciones
- Cómo enviar notificaciones a Slack