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, todos los servicios se detienen y todos los recursos se eliminan. Si necesitas una respuesta más matizada, puedes controlar los recursos de forma selectiva. Por ejemplo, puedes detener algunos recursos de Compute Engine y dejar intactos los recursos de Cloud Storage. Si detienes solo algunos recursos, reducirás los costes sin inhabilitar por completo tu entorno.
En el siguiente ejemplo, el proyecto lleva a cabo una investigación con varias máquinas virtuales (VMs) de Compute Engine y almacena los resultados en segmentos de Cloud Storage. Esta función de Cloud Run usa las notificaciones de presupuesto como activador. Cuando se supera el presupuesto, se cierran todas las instancias de Compute Engine, pero no se ven afectados los resultados almacenados.
Antes de empezar
Antes de empezar, debes completar las siguientes tareas:
- Habilita la API Cloud Billing
- Crear un presupuesto
- Configurar notificaciones de presupuesto programáticas
Configurar una función de Cloud Run
- Completa los pasos que se indican en Crear una función de Cloud Run. Asegúrate de que el Tipo de activador sea el mismo tema de Pub/Sub que utilizará tu presupuesto.
Añade 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
Define el Punto de entrada en la función correcta que se va a ejecutar:
Node.js
Define Punto de entrada como
limitUse
.Python
Define Punto de entrada como
limit_use
.Consulta la lista de variables de entorno definidas automáticamente y determina si tienes que definir manualmente la variable GCP_PROJECT en el proyecto que ejecuta las máquinas virtuales.
Defina 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 DESPLEGAR.
Configurar 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 conceder permisos a la cuenta de servicio para que pueda modificar los servicios del proyecto. Para ello, sigue estos pasos:
- Identifica la cuenta de servicio correcta consultando los detalles de tu función de Cloud Run. La cuenta de servicio se muestra en la parte inferior de la página.
Ve a la página Gestión de identidades y accesos de la consola Google Cloud para definir los permisos adecuados.
Comprobar que las instancias se han detenido
Para asegurarte de que tu función funciona correctamente, sigue los pasos que se indican en Probar una función de Cloud Run.
Si se completa correctamente, las máquinas virtuales de Compute Engine de la consola Google Cloud se detendrán.
Siguientes pasos
Consulta otros ejemplos de notificaciones programáticas para saber cómo hacer lo siguiente:
- Escuchar las notificaciones
- Inhabilitar el uso de la facturación con notificaciones
- Enviar notificaciones a Slack