Gérer les notifications d'alertes budgétaires automatisées

Présentation

Le comportement typique d'un budget consiste à envoyer des e-mails d'alerte lorsque les règles fixant des seuils d'alertes budgétaires déclenchent une notification par e-mail.

Schéma des notifications d'alerte budgétaire
Figure 1 : illustre la fonctionnalité de messagerie par défaut pour les notifications d'alerte budgétaire et la méthode facultative permettant d'automatiser les réponses du contrôle des coûts à l'aide de Pub/Sub pour les notifications automatisées.

Toutefois, si vous utilisez des budgets comme un outil de contrôle des coûts, les notifications par e-mail ne sont peut-être pas la meilleure méthode pour vous assurer que vous prenez rapidement les mesures nécessaires pour contrôler vos coûts Google Cloud. Outre les notifications par e-mail, vous pouvez utiliser des notifications automatisées pour automatiser les réponses de contrôle des coûts. Voici quelques exemples de réponses au contrôle des coûts :

  • Limitation de vos dépenses Google Cloud en désactivant automatiquement la facturation ou les arrêts de ressources.
  • Transfert de vos messages budgétaires vers d'autres plates-formes telles que Slack.
  • Limite de l'utilisation des ressources en ajustant les quotas.

Pour en savoir plus, consultez la section Exemples de réponses de contrôle de coût automatisé.

Autorisations requises pour cette tâche

Selon que vous gérez des budgets au niveau du compte de facturation Cloud ou que vous êtes propriétaire d'un projet sans rôle de compte de facturation Cloud, vous devez disposer d'un ensemble d'autorisations différent, décrit ci-dessous.

Si vous surveillez les coûts au niveau du compte de facturation

Si vous surveillez principalement les coûts de votre compte de facturation Cloud, vous devez disposer d'autorisations au niveau de ce compte.

Si vous disposez d'un accès limité ou inexistant au compte de facturation Cloud, vous disposez peut-être déjà d'autorisations suffisantes pour les projets dont vous êtes propriétaire.

Si votre organisation utilise des rôles personnalisés pour l'authentification, vous devez disposer de ces autorisations spécifiques dans le rôle personnalisé :

Pour un rôle personnalisé afin de modifier un budget de facturation Cloud existant pour le connecter à un sujet Pub/Sub existant, vous avez besoin des autorisations suivantes :

Si vous surveillez les coûts au niveau du projet

Si vous avez un accès limité ou inexistant à un compte de facturation Cloud, vous pouvez gérer les budgets limités uniquement aux projets dont vous êtes propriétaire.

  • Pour créer, modifier ou afficher des budgets pour votre projet, vous devez disposer de l'un des rôles suivants sur le projet :

  • Pour définir ou modifier des sujets Pub/Sub, vous devez disposer du rôle Éditeur Pub/Sub sur le projet cible contenant les sujets Pub/Sub.

Si votre organisation utilise des rôles personnalisés pour l'authentification, vous devez disposer de ces autorisations spécifiques dans le rôle personnalisé :

  • resourcemanager.projects.get sur votre projet, pour afficher les associations de projets (telles que le compte de facturation associé) pour votre projet.
  • billing.resourceCosts.get sur votre projet (facultatif), pour afficher les coûts et l'utilisation de votre projet.
  • billing.resourcebudgets.read sur votre projet, pour afficher les budgets à projet unique d'un compte de facturation limités à votre projet.
  • billing.resourcebudgets.write sur votre projet, pour créer ou modifier des budgets de type projet unique limités à votre projet.
  • roles/pubsub.editor sur le projet cible pour les sujets Pub/Sub (pour créer des sujets Pub/Sub), ou pubsub.topics.list sur le projet cible contenant les sujets Pub/Sub existants que vous souhaitez utiliser.

Si vous avez défini des règles d'administration pour limiter le partage de ressources par domaine, une erreur risque de se produire lors de la configuration de sujets Pub/Sub ou de leur association à un budget Cloud Billing.

Dans ce cas, vous devrez peut-être forcer l'accès au compte pour associer correctement un sujet Pub/Sub à un budget. Plus précisément, pour forcer l'accès au compte, procédez comme suit :

  1. Supprimez la règle d'administration contenant la contrainte de restriction de domaine en utilisant une des méthodes suivantes :

  2. Suivez la procédure pour associer un sujet Pub/Sub à un budget Cloud Billing.

  3. Rétablissez la règle d'administration pour l'organisation ou le projet (facultatif).

À propos des autorisations Google Cloud

Pour en savoir plus sur les autorisations Cloud Billing, consultez les articles suivants :

Pour en savoir plus sur les autorisations des projets Google Cloud, consultez les articles suivants :

Configurer et activer les notifications automatisées Pub/Sub

Pour permettre aux notifications automatisées de recevoir des messages Pub/Sub avec l'état actuel de votre budget, connectez un sujet Pub/Sub à votre budget Cloud Billing.

Pour connecter, modifier ou supprimer un sujet Pub/Sub associé à votre budget, procédez comme suit :

1. Créer un sujet Pub/Sub

Configurez un sujet Pub/Sub pour que Cloud Billing y publie vos alertes budgétaires. Si vous avez déjà configuré un sujet Pub/Sub pour les budgets Cloud Billing, vous pouvez le réutiliser pour tous les budgets ou créer un sujet unique par budget.

  1. Accédez à la page Pub/Sub de Google Cloud Console.

    Se connecter à la page Pub/Sub de la console Google Cloud

  2. Sélectionnez un projet.

  3. Cliquez sur Créer un sujet.

  4. Dans le champ ID du sujet, indiquez un nom de sujet, puis cliquez sur Créer un sujet.

2. Associer un budget Cloud Billing à un sujet Pub/Sub

Pour associer un budget Cloud Billing à un sujet Pub/Sub, procédez comme suit :

  1. En suivant la procédure correspondant à votre niveau d'accès aux comptes de facturation Cloud, connectez-vous à la page Budgets et alertes de la section "Facturation" dans la console Google Cloud :

    Utilisateurs disposant des autorisations associées au compte de facturation Cloud Utilisateurs disposant uniquement d'autorisations au niveau du projet (bêta)

    Si vous disposez d'autorisations Cloud Billing, vous pouvez sélectionner les comptes de facturation auxquels vous êtes autorisé à accéder dans la liste.

    1. Connectez-vous à la page Budgets et alertes de la console Google Cloud.

      Ouvrir la page Budgets et alertes
    2. Lorsque l'invite s'affiche, choisissez le compte de facturation Cloud pour lequel vous souhaitez gérer les budgets.

      La page Budgets et alertes s'ouvre pour le compte de facturation sélectionné.

    Si vous disposez uniquement d'autorisations au niveau du projet, mais que vous ne disposez pas d'autorisations sur le compte de facturation Cloud de votre projet, vous devez sélectionner votre projet avant d'accéder à la section "Facturation".

    1. Connectez-vous au tableau de bord de la console Google Cloud et sélectionnez un projet.

      Ouvrir la console Google Cloud
    2. Sélectionnez le projet pour lequel vous souhaitez gérer les budgets.
    3. Accédez ensuite à la section Facturation : ouvrez le menu de navigation de la console Google Cloud (), puis sélectionnez Facturation.

      Si vous êtes invité à choisir le compte de facturation que vous souhaitez afficher et gérer, cliquez sur Accéder au compte de facturation associé pour afficher le compte de facturation associé au projet sélectionné.

      La page Vue d'ensemble de la facturation s'ouvre pour le compte de facturation sélectionné.

    4. Dans la section Gestion des coûts du menu de navigation "Facturation", sélectionnez Budgets et alertes.
  2. Si nécessaire, créez un budget. Vous pouvez également modifier un budget existant et ses règles d'alertes en cliquant sur le nom d'un budget.

  3. Dans la section Actions, sous Gérer les notifications, sélectionnez Associer un sujet Pub/Sub à ce budget.

  4. Dans le champ Projet, cliquez sur Sélectionner un projet et choisissez le projet contenant les sujets Pub/Sub que vous avez configurés. Si vous avez suivi la recommandation de la section précédente, il s'agit de votre projet d'administration de la facturation Google Cloud.

  5. Sous Sélectionner un sujet Pub/Sub, choisissez un sujet existant ou créez-en un en cliquant sur Créer un sujet.

    • Si vous créez un sujet, indiquez un nom de sujet dans le champ ID du sujet, puis cliquez sur Créer un sujet.
    • Une fois le sujet créé, il est automatiquement sélectionné.
  6. Cliquez sur Enregistrer.

Format des notifications

Les notifications envoyées au sujet Pub/Sub comprennent deux parties :

  • Attributs : ensemble de paires valeur/clé décrivant l'événement.
  • Données : chaîne contenant un objet JSON qui rassemble les détails de l'alerte budgétaire.

Attributs

Les attributs sont des paires valeur/clé présentes dans toutes les notifications que Cloud Billing envoie à votre sujet Pub/Sub. Les notifications comportent toujours l'ensemble de paires valeur-clé suivant, quelle que soit leur charge utile.

Nom de l'attribut Exemple Description
billingAccountId 01D4EE-079462-DFD6EC Identifiant du compte de facturation Cloud propriétaire du budget.
budgetId de72f49d-779b-4945-a127-4d6ce8def0bb Identifiant de l'alerte budgétaire dans le compte Cloud Billing.
schemaVersion 1.0 Version du schéma des notifications.

Données

Avec la version 1.x du schéma, les détails de l'alerte budgétaire sont renvoyés dans une chaîne UTF-8 avec un code en base64 qui contient un objet JSON avec les propriétés suivantes :

Données Exemple Description
budgetDisplayName "My Personal Budget" Nom lisible par l'humain attribué au budget.
costAmount 140.321 Montant des coûts accumulés. Le type de coûts suivis dépend des filtres et des paramètres du budget.
costIntervalStart "2021-02-01T08:00:00Z" Début de la période de l'alerte budgétaire. "costAmount" inclut des coûts d'utilisation à partir de ce moment. Il s'agit du premier jour de la période budgétaire (mois, trimestre, année ou période personnalisée) au cours de laquelle le budget a été utilisé.
budgetAmount 152.557 Montant du budget.
budgetAmountType "SPECIFIED_AMOUNT" Type du montant du budget. Il peut s'agir de l'une des valeurs suivantes :
  • "SPECIFIED_AMOUNT" : montant fixe.
  • "LAST_MONTH_COST" : coûts totaux encourus au cours du dernier mois calendaire.
  • "LAST_PERIODS_COST" : coûts encourus au cours de la dernière période calendaire non mensuelle, telle qu'un trimestre ou une année.
alertThresholdExceeded 0.9 Le seuil maximal de l'alerte configurée relative aux coûts réels a été franchi. La valeur est un pourcentage au format décimal (par exemple, 0,9 correspond à 90 %). Cette clé n'est pas présente si le coût ne dépasse aucun seuil.
forecastThresholdExceeded 0.2 Le seuil d'alerte de coût prévu le plus élevé a été dépassé. La valeur est un pourcentage au format décimal (par exemple, 0,2 correspond à 20 %). Cette clé n'est pas présente si le coût prévu ne dépasse aucun seuil.
currencyCode "USD" Devise de l'alerte budgétaire. Tous les coûts et les montants de l'alerte budgétaire sont présentés dans cette devise.

Garanties de distribution pour les notifications à Pub/Sub

Après avoir créé un budget et l'avoir associé à un sujet Pub/Sub, vous pouvez vous attendre à recevoir des notifications automatisées comme décrit ici :

  • Les notifications de budget sont envoyées plusieurs fois par jour au sujet Pub/Sub avec l'état actuel de votre budget. Il s'agit d'une fréquence différente de celle des e-mails d'alerte budgétaire, qui ne sont envoyés que lorsqu'un seuil budgétaire est atteint.
  • Les notifications Pub/Sub sont envoyées même si le compte Cloud Billing n'est pas utilisé.
  • La réception de la première notification Pub/Sub peut prendre plusieurs heures.
  • Pub/Sub garantit une distribution sans faute au minimum d'une fois. Vous pouvez recevoir les messages plusieurs fois ou dans le désordre.
  • Si la distribution échoue en raison d'une mauvaise configuration du sujet Pub/Sub, vous n'en serez pas informé.

    La distribution peut échouer pour l'une des raisons suivantes :

    • Le sujet Pub/Sub n'existe plus.
    • Cloud Billing n'est plus autorisé à publier dans le sujet Pub/Sub.
    • Vous avez dépassé votre quota de notifications.