Ce document explique comment utiliser les notifications budgétaires pour contrôler sélectivement l'utilisation des ressources.
Lorsque vous désactivez la facturation pour 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. L'arrêt de certaines ressources uniquement 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 de budget comme déclencheur, cette fonction Cloud Run arrête toutes les instances Compute Engine une fois le budget dépassé, 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 créé automatiquement. Pour contrôler l'utilisation, vous devez accorder au compte de service des autorisations sur tous les services du projet qu'il doit modifier. Pour ce faire, procédez comme suit :
- Pour identifier le bon compte de service, consultez les informations de la 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.
Tester l'arrêt des instances
Pour vous assurer que votre fonction fonctionne comme prévu, suivez les étapes décrites dans Tester une fonction Cloud Run.
Si l'opération réussit, vos VM Compute Engine dans la console Google Cloud sont arrêtées.
Étapes suivantes
Consultez d'autres exemples de notifications programmatiques pour découvrir comment effectuer les opérations suivantes :
- Écouter vos notifications
- Désactiver l'utilisation de la facturation avec les notifications
- Envoyer des notifications à Slack