Ce document explique comment utiliser les notifications budgétaires pour contrôler de manière sélective l'utilisation des ressources.
Lorsque vous désactivez la facturation sur un projet, tous les services s'arrêtent et toutes les ressources finissent par être supprimées. Si vous souhaitez obtenir une réponse plus nuancée, vous pouvez contrôler les ressources de manière sélective. Par exemple, vous pouvez arrêter certaines ressources Compute Engine tout en laissant les ressources Cloud Storage intactes. Arrêter uniquement certaines ressources réduit vos coûts sans désactiver complètement votre environnement.
Dans l'exemple suivant, le projet effectue des recherches sur plusieurs machines virtuelles (VM) Compute Engine et stocke les résultats dans des buckets Cloud Storage. En utilisant les notifications budgétaires comme déclencheur, une fois le budget dépassé, cette fonction Cloud Run arrête toutes les instances Compute Engine, mais n'affecte pas les résultats stockés.
Avant de commencer
Avant de commencer, vous devez effectuer les tâches suivantes:
Configurer une fonction Cloud Run
- Suivez la procédure décrite dans Créer une fonction Cloud Run. Assurez-vous de définir le type de déclencheur sur le même sujet Pub/Sub que celui que votre budget utilisera.
Ajoutez les dépendances suivantes :
Node.js
Copiez ce qui suit dans votre fichier
package.json
:Python
Copiez ce qui suit dans votre fichier
requirements.txt
:Copiez le code suivant dans votre fonction Cloud Run:
Node.js
Python
Définissez le point d'entrée sur la fonction à exécuter:
Node.js
Définissez le champ Point d'entrée sur
limitUse
.Python
Définissez le champ Point d'entrée sur
limit_use
.Consultez la liste des variables d'environnement définies automatiquement et déterminez si vous devez définir manuellement la variable GCP_PROJECT sur le projet exécutant les machines virtuelles.
Définissez le paramètre ZONE. Ce paramètre correspond à la zone dans laquelle les instances sont arrêtées lorsque le budget est dépassé.
Cliquez sur DÉPLOYER.
Configurer les autorisations du compte de service
Votre fonction Cloud Run s'exécute en tant que compte de service automatiquement créé. Pour contrôler l'utilisation, vous devez accorder au compte de service des autorisations sur tous les services du projet dont il aura besoin pour apporter des modifications en procédant comme suit:
- Identifiez le bon compte de service en consultant les informations de votre fonction Cloud Run. Le compte de service est répertorié au bas de la page.
Accédez à la page IAM de la console Google Cloud pour définir les autorisations appropriées.
Vérifier que les instances sont arrêtées
Pour vous assurer que votre fonction fonctionne comme prévu, suivez la procédure décrite dans Tester une fonction Cloud Run.
Si l'opération aboutit, vos VM Compute Engine dans la console Google Cloud sont arrêtées.
Étape suivante
Consultez d'autres exemples de notifications programmatiques pour découvrir comment:
- Écouter vos notifications
- Désactiver l'utilisation de la facturation avec les notifications
- Envoyer des notifications à Slack