Ce document explique comment désactiver automatiquement la facturation d'un projet lorsque vos coûts atteignent ou dépassent le budget du projet. Lorsque vous désactivez la facturation d'un projet, vous résiliez tous les services Google Cloud du projet, y compris les services du niveau Gratuit. Pour obtenir une réponse plus nuancée aux notifications de budget, consultez Contrôler l'utilisation des ressources avec les notifications.
Vous pouvez vouloir limiter les coûts si vous avez un montant maximal que vous pouvez dépenser sur Google Cloud. Dans de telles circonstances, il est important de bloquer les dépenses, voire d'arrêter tous les services Google Cloud et leur utilisation dès lors que le seuil budgétaire est atteint. Désactiver la facturation sur votre projet est un moyen efficace d'arrêter d'engendrer des coûts dans ce projet.
Limites
Il existe un délai entre le moment où les coûts sont engagés et celui où les notifications de budget sont reçues. Par conséquent, des coûts supplémentaires peuvent vous être facturés pour une utilisation n'ayant pas encore été faite au moment où tous les services sont arrêtés. Le fait de suivre les étapes présentées dans cet exemple n'est en aucun cas une garantie que les dépenses ne dépasseront pas le seuil budgétaire. Si vos fonds sont limités, définissez votre budget maximal en dessous de vos fonds disponibles afin de tenir compte des délais de facturation.
Vous ne pouvez pas désactiver la facturation pour un projet associé à un compte de facturation verrouillé. Pour en savoir plus sur le verrouillage et le déverrouillage des projets, consultez Sécuriser l'association entre un projet et son compte de facturation.
Avant de commencer
Avant de commencer, vous devez effectuer les tâches suivantes :
- Activer l'API Cloud Billing
- Créer un budget limité à un seul projet
- Configurer des notifications de budget automatisées
Configurer une fonction Cloud Run
Pour désactiver Cloud Billing pour un projet, créez une fonction Cloud Run et configurez-la pour qu'elle appelle l'API Cloud Billing.
- Suivez les étapes décrites dans Créer une fonction Cloud Run. Assurez-vous que le type de déclencheur est défini 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
stopBilling
.Python
Définissez le champ Point d'entrée sur
stop_billing
.Consultez la liste des variables d'environnement définies automatiquement pour déterminer si vous devez définir manuellement la variable GOOGLE_CLOUD_PROJECT sur le projet pour lequel vous souhaitez désactiver Cloud Billing.
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 désactiver la facturation, 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.
Pour modifier les autorisations du compte de facturation, dans la console Google Cloud , accédez à la page Gestion des comptes de la facturation, ajoutez le compte de service en tant que principal sur le compte de facturation Cloud et définissez les autorisations appropriées pour le compte de facturation.
Découvrez comment configurer les autorisations pour les comptes de facturation Cloud.
Tester la désactivation de Cloud Billing
Lorsque le budget envoie une notification, le projet spécifié n'a plus de compte de facturation Cloud associé. 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, le projet n'est plus visible sous le compte Cloud Billing et les ressources du projet sont désactivées, y compris la fonction Cloud Run si elle se trouve dans ce projet.
Pour continuer à utiliser les ressources Google Cloud dans le projet, dans la consoleGoogle Cloud , réactivez manuellement Cloud Billing pour votre projet.
Étapes suivantes
Consultez d'autres exemples de notifications programmatiques pour découvrir comment effectuer les opérations suivantes :
- Écouter vos notifications
- Contrôler l'utilisation des ressources avec les notifications
- Envoyer des notifications à Slack