Configurer des notifications automatisées

Ce document explique comment configurer des notifications d'anomalies de budget et de coûts automatisés (Aperçu) à l'aide de Pub/Sub.

Les budgets et les anomalies de coût sont généralement configurés pour envoyer des notifications par e-mail. Si vous utilisez des budgets ou la détection d'anomalies de coût comme 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. Vous pouvez configurer et utiliser des notifications programmatiques pour automatiser les réponses de contrôle des coûts. Voici quelques exemples de réponses automatiques de contrôle des coûts:

Limites

Autorisations requises pour cette tâche

Notifications sur le budget

Pour configurer des notifications budgétaires automatisées, vous devez disposer des autorisations nécessaires pour créer ou modifier des budgets et des sujets Pub/Sub. Vous avez besoin d'un ensemble d'autorisations différent en fonction de votre niveau d'accès.

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

Si votre organisation utilise des rôles personnalisés pour l'authentification, vous devez disposer des autorisations suivantes dans les rôles personnalisés:

Pour que des rôles personnalisés puissent modifier un budget Cloud Billing existant afin de l'associer à un sujet Pub/Sub existant, vous avez besoin des autorisations suivantes:

Pour obtenir les autorisations nécessaires à l'aide de rôles prédéfinis, demandez à votre administrateur de vous attribuer l'un des rôles IAM Cloud Billing prédéfinis suivants sur votre compte de facturation Cloud:

Demandez à votre administrateur de vous accorder le rôle suivant sur le projet cible contenant les sujets Pub/Sub:

Si votre organisation utilise des rôles personnalisés pour l'authentification, vous devez disposer des autorisations suivantes dans les rôles personnalisés:

Pour obtenir les autorisations nécessaires à l'aide de rôles prédéfinis, demandez à votre administrateur de vous attribuer l'un des rôles IAM Cloud Billing prédéfinis suivants sur le projet:

Demandez à votre administrateur de vous accorder le rôle suivant sur le projet cible contenant les sujets Pub/Sub:

Notifications d'anomalies

Pour configurer des notifications d'anomalies programmatiques, vous devez disposer des autorisations nécessaires pour créer ou modifier des anomalies et des sujets Pub/Sub. Vous devez disposer d'autorisations pour le compte de facturation Cloud.

Utilisateurs disposant des autorisations associées au compte de facturation Cloud (version Preview)

Pour obtenir les autorisations nécessaires à l'aide de rôles prédéfinis, demandez à votre administrateur de vous attribuer l'un des rôles IAM Cloud Billing prédéfinis suivants sur votre compte de facturation Cloud:

Demandez à votre administrateur de vous accorder le rôle suivant sur le projet cible contenant les sujets Pub/Sub:

Créer un sujet Pub/Sub

Pour configurer des notifications sur les budgets automatisés ou les anomalies, vous devez d'abord créer un sujet Pub/Sub. Si vous avez déjà configuré un sujet Pub/Sub pour les anomalies de budget ou de coût, vous pouvez ignorer cette étape.

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

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

  2. Sélectionnez un projet contenant le sujet Pub/Sub.

    Lorsque vous configurez des sujets Pub/Sub pour les notifications de facturation, nous vous recommandons d'utiliser un projet d'administration FinOps pour y inclure vos sujets Pub/Sub liés à la facturation.

  3. Cliquez sur Créer un sujet.

  4. Dans le champ ID du sujet, indiquez un nom de sujet.

  5. Conservez les paramètres d'abonnement et de chiffrement par défaut, puis cliquez sur Créer.

Associer votre sujet Pub/Sub

Pour permettre aux notifications automatisées de recevoir des messages Pub/Sub avec l'état actuel de votre budget ou de votre anomalie, vous devez associer votre budget ou votre anomalie à votre sujet Pub/Sub.

Notifications sur le budget

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

Utilisateurs disposant des autorisations associées au compte de facturation Cloud Utilisateurs disposant uniquement d'autorisations au niveau du projet (bêta)
  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é.

  3. Sélectionnez le budget que vous souhaitez associer ou créez-en un.
  4. Dans la section Actions, sous Gérer les notifications, sélectionnez Associer un sujet Pub/Sub à ce budget.
  5. Dans le champ Projet, cliquez sur Sélectionner un projet et choisissez le projet contenant les sujets Pub/Sub que vous avez configurés.
  6. Sous Sélectionner un sujet Pub/Sub, sélectionnez 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é.
  7. Cliquez sur Enregistrer.
  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 à 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.
  5. Sélectionnez le budget que vous souhaitez associer ou créez-en un.
  6. Dans la section Actions, sous Gérer les notifications, sélectionnez Associer un sujet Pub/Sub à ce budget.
  7. Dans le champ Projet, cliquez sur Sélectionner un projet et choisissez le projet contenant les sujets Pub/Sub que vous avez configurés.
  8. Sous Sélectionner un sujet Pub/Sub, sélectionnez 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é.
  9. Cliquez sur Enregistrer.

Notifications d'anomalies

Pour associer un sujet Pub/Sub à une anomalie de coût, procédez comme suit:

Utilisateurs disposant des autorisations associées au compte de facturation Cloud (version Preview)
  1. Connectez-vous à la page Anomalies de la console Google Cloud.

    Ouvrir les anomalies
  2. Lorsque l'invite s'affiche, choisissez le compte de facturation Cloud pour lequel vous souhaitez gérer les anomalies.

    La page Anomalies s'ouvre pour le compte de facturation sélectionné.

  3. Cliquez sur  Gérer les anomalies.
  4. Saisissez une valeur pour le seuil d'anomalie dans Impact sur les coûts. Ce montant correspond à la valeur du seuil qui déclenche les notifications. Si vous ne fournissez pas de valeur, le seuil est défini sur zéro, et des notifications sont envoyées pour toutes les anomalies.
  5. Dans la section Notifications Pub/Sub, sélectionnez Associer un sujet Pub/Sub pour recevoir des mises à jour automatisées concernant les anomalies.
  6. Dans le menu déroulant qui s'affiche, sélectionnez le sujet Pub/Sub que vous souhaitez associer pour recevoir des notifications.
    • Les sujets sont listés par projet. Vous devrez peut-être changer le projet que vous consultez pour trouver le sujet que vous souhaitez sélectionner.
    • Si vous souhaitez créer un sujet, passez au projet de votre choix avant de cliquer sur Créer un sujet.
  7. 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.

Notifications sur le budget

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 Cloud Billing 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

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.

Notifications d'anomalies

Attributs

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

Nom de l'attribut Exemple Description
portée scope_project Champ d'application de l'anomalie.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Identifiant du compte de facturation Cloud où l'anomalie s'est produite.
resourceDisplayName My project Nom à afficher de la ressource dans laquelle l'anomalie s'est produite.
resourceName projects/123456 Identifiant de la ressource dans laquelle l'anomalie s'est produite.
SchemaVersion 1.0 Version du schéma Pub/Sub.

Données

Les détails de l'alerte d'anomalie 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
anomalyName billingAccounts/01D4EE-079462-DFD6EC/anomalies/aaa Nom de la ressource de l'anomalie.
billingAccountName billingAccounts/01D4EE-079462-DFD6EC Identifiant du compte de facturation.
resourceName "projects/12345" Identifiant de la ressource dans laquelle l'anomalie s'est produite.
resourceDisplayName "My project" Nom à afficher de la ressource dans laquelle l'anomalie s'est produite.
detectionDate "2024-02-01T08:00:00Z" Date à laquelle l'anomalie de coût a été détectée.
Scope SCOPE_PROJECT Indique le champ d'application de l'anomalie.
expectedSpendAmount {
"currencyCode": "USD",
"units": "8",
"nanos": 988106832
}
Dépenses attendues pour la ressource.
actualSpendAmount 196.22 Dépenses réelles pour la ressource.
deviationAmount 31.01 Différence entre les dépenses réelles et les dépenses prévues.
deviationPercentage 18.77 Pourcentage de l'écart par rapport aux dépenses attendues.
Root cause
root_causes {
resource: "services/XXX-XXXX-XXX"
display_name: "BigQuery"
cause_type: CAUSE_TYPE_SERVICE
deviation {
  expected_spend {
    currency_code: "USD"
    units: "5000"
  }
  actual_spend {
    currency_code: "USD"
    units: "5000"
  }
  deviation_amount {
    currency_code: "USD"
    units: "5000"
  }
  deviation_percentage: "Infinity"
}
sub_causes {
  resource: "locations/us-west1",
  display_name: "us-west1",
  cause_type: CAUSE_TYPE_LOCATION,
  deviation {
    expected_spend {
      currency_code: "USD",
    }
    actual_spend {
      currency_code: "USD",
      units:"5000"
    }
    deviation_amount {
      currency_code: "USD",
      units: "5000"
    }
    deviation_percentage: "Infinity"
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
      }
      actual_spend {
        currency_code: "USD"
        units: 5000
      }
      deviation_amount {
        currency_code: "USD"
        units: 5000
      }
      deviation_percentage: "Infinity"
    }
  }
  sub_causes {
    resource: "services/XXXX-XXXX-XXXX/skus/XXXX-XXXX-XXXX"
    display_name: "Some display name"
    cause_type: CAUSE_TYPE_SKU
    deviation {
      expected_spend {
        currency_code: "USD"
        units: "1"
        nanos: 5413077
      }
      actual_spend {
        currency_code: "USD"
        units: "1",
        nanos: 122606000
      }
      deviation_amount {
        currency_code: "USD"
        nanos: 117192923
      }
      deviation_percentage:11.656196419841217
    }
  }
}
}
Champ répété contenant des informations sur l'origine de l'anomalie.

Garanties de distribution pour les notifications à Pub/Sub

Une fois que vous avez associé votre budget ou votre anomalie à un sujet Pub/Sub, vous pouvez vous attendre à recevoir des notifications automatisées comme suit:

Notifications sur le budget

  • Les notifications de budget sont envoyées plusieurs fois par jour au sujet Pub/Sub avec l'état actuel de votre budget. Cette fréquence est 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 :

Notifications d'anomalies

  • Les notifications d'anomalie ne sont envoyées au sujet Pub/Sub que lorsque le seuil est atteint.
  • 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 :

Pour en savoir plus, consultez la section Publier et recevoir des messages dans Pub/Sub.

Étape suivante

Pour en savoir plus sur l'utilisation des notifications programmatiques, consultez les exemples suivants de réponses de contrôle des coûts programmatiques: