Visualiser vos coûts avec Looker Studio


Vous pouvez combiner l'exportation des données Cloud Billing vers BigQuery avec Looker Studio, afin de rester informé de l'évolution de vos coûts Google Cloud.

Cette page vous explique comment configurer le tableau de bord d'utilisation de la facturation et des insights sur les coûts avec vos données Cloud Billing. Vous pouvez utiliser le tableau de bord pour répondre à des questions concernant vos dépenses Google Cloud, telles que Quel est le montant de mes dépenses liées aux ressources Compute Engine ?

Exemple de visualisation dans Looker Studio

Vous pouvez configurer votre tableau de bord en suivant ce tutoriel, ou bien en regardant la vidéo suivante :

Objectifs

Ce tutoriel vous explique comment effectuer ces tâches :

  • Configurez votre propre copie du tableau de bord d'utilisation de la facturation et des coûts à l'aide de Cloud Shell.

  • Découvrez comment modifier les vues du tableau de bord pour des cas avancés, par exemple si vous avez plusieurs comptes de facturation Cloud ou un compte de facturation Cloud dans une devise autre que le dollar américain.

Coûts

Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :

Le coût de stockage de vos données Cloud Billing dans BigQuery est généralement gratuit ou minimal. Selon la taille de l'ensemble de données BigQuery, l'interrogation des données à des fins d'analyse peut engendrer des coûts.

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût. Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. Configurez l'exportation des données Cloud Billing vers BigQuery.

    Pour utiliser le tableau de bord, vous devez activer les exportations BigQuery pour les données d'utilisation de Cloud Billing standards et détaillées.

    Une fois l'exportation des données activée, l'insertion des données Cloud Billing dans l'ensemble de données prend environ un jour. Il se peut que vous voyiez d'abord une sortie réseau, puis des coûts associés à des VM, puis l'utilisation de Pub/Sub, etc. Une fois que votre ensemble contient des données, vous pouvez exécuter des requêtes sur celui-ci.

  2. Si les exportations BigQuery sont déjà configurées dans votre organisation, vous devez disposer des autorisations permettant de créer des vues BigQuery dans le projet qui héberge les ensembles de données.

    Si vous souhaitez créer un ensemble de données pour les vues BigQuery, vous devez être autorisé à créer des ensembles de données BigQuery.

  3. Obtenez les informations suivantes sur votre environnement Google Cloud :

    • ID du projet dans lequel votre ensemble de données BigQuery Cloud Billing est hébergé.
    • Noms des ensembles de données pour les exportations de données de coût standard et détaillées. En règle générale, les exportations de données de coût se trouvent dans le même ensemble de données.

Créer votre copie du tableau de bord

Pour créer votre propre copie du tableau de bord, vous devez d'abord cloner le dépôt GitHub qui automatise le processus. Cette étape utilise Cloud Shell, un environnement shell interactif pour Google Cloud que vous pouvez utiliser depuis votre navigateur.

De manière générale, le script d'installation du dépôt effectue les tâches suivantes :

  • Crée un ensemble de données BigQuery avec des vues permettant d'extraire les données de vos exportations de données de coût standards et détaillées.
  • Copie le modèle de tableau de bord et connecte la copie aux vues BigQuery de vos données.
  • Fournit un lien Looker Studio vers votre copie, que vous pouvez enregistrer dans vos tableaux de bord Looker Studio.

Pour créer votre copie :

  1. Ouvrez le dépôt GitHub dans Cloud Shell :

    Ouvrir dans Cloud Shell

  2. Accédez au répertoire billboard :

    cd examples/billboard
    
  3. Exécutez les commandes suivantes pour configurer l'environnement Python pour le script :

    rm -rf bill-env
    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Exécutez le script qui permet de créer votre tableau de bord. Vous devrez peut-être autoriser Cloud Shell à effectuer des appels d'API en votre nom :

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET' \
      -bb 'BILLBOARD_DATASET'
    

    Les variables sont les suivantes :

    • PROJECT_ID : ID du projet qui héberge vos ensembles de données Cloud Billing.
    • STANDARD_BILLING_EXPORT_DATASET : ensemble de données BigQuery contenant l'exportation des données de coût standard.
    • DETAILED_BILLING_EXPORT_DATASET : ensemble de données BigQuery contenant l'exportation détaillée des données de coût d'utilisation.
    • BILLBOARD_DATASET : nom de l'ensemble de données BigQuery dans lequel les vues BigQuery du tableau de bord sont créées, par exemple, example_dashboard_views. Si vous ne possédez pas encore d'ensemble de données pour les vues, le script crée un ensemble de données portant ce nom.

    Une fois l'exécution du script terminée, vous obtenez un lien Looker Studio vers votre tableau de bord.

  5. Cliquez sur le lien Looker Studio pour ouvrir le tableau de bord.

  6. Dans Looker Studio, cliquez sur Modifier et partager pour enregistrer le tableau de bord. Lorsque vous êtes invité à ajouter des sources de données au rapport, cliquez sur Ajouter au rapport.

Vous pouvez désormais accéder à votre tableau de bord à partir de la page d'accueil Looker Studio.

(Avancé) Modifier les données de plusieurs comptes de facturation Cloud

Si vous souhaitez que le tableau de bord inclut des données provenant de plusieurs comptes de facturation Cloud, vous pouvez modifier les vues BigQuery pour inclure les exportations de données de facturation de tous les comptes de facturation Cloud.

Avant de commencer

Pour chaque compte de facturation Cloud que vous souhaitez inclure, suivez toutes les étapes des conditions préalables du tutoriel.

Mettre à jour les vues BigQuery pour inclure des exportations Cloud Billing supplémentaires

  1. Dans la console Google Cloud, ouvrez la page "BigQuery".

    Accéder à BigQuery

  2. Sélectionnez le projet contenant l'ensemble de données que vous avez créé pour le tableau de bord.

  3. Dans le panneau Explorateur, développez votre projet, puis développez l'ensemble de données.

  4. Cliquez sur la vue panneau d'affichage pour en afficher les détails. Cette vue interroge votre exportation standard des données de coût et d'utilisation.

  5. Cliquez sur l'onglet Détails, puis sur Modifier la requête. La requête concernant la vue se présente comme suit :

    SELECT *,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

    PROJECT_ID est le projet qui contient l'exportation des données de coût standard de BigQuery pour Cloud Billing, et BILLING_ACCOUNT_EXPORT est le nom de la table BigQuery avec vos données de coût Standard.

  6. Dupliquez la requête existante et, dans la clause FROM, remplacez l'ID du projet et la table BigQuery par des informations pour le compte de facturation Cloud supplémentaire.

  7. Ajoutez l'opérateur UNION ALL entre les deux requêtes pour combiner les données. Votre requête finale ressemble à l'exemple suivant, qui combine les exportations de données pour BILLING_ACCOUNT_1 et BILLING_ACCOUNT_2, qui se trouvent dans PROJECT_ID_1 et PROJECT_ID_2, respectivement.

    SELECT *, --query for BILLING_ACCOUNT_1
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      EXTRACT(DATE FROM _PARTITIONTIME) AS date
    FROM `PROJECT_ID_1.BILLING_ACCOUNT_1_EXPORT` s
    WHERE _PARTITIONTIME >"2021-01-01"
    UNION ALL
    SELECT *, --query for BILLING_ACCOUNT_2
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) AS credits_sum_amount,
      COALESCE((SELECT SUM(x.amount) FROM UNNEST(s.credits) x),0) + cost as net_cost,
      PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
       _PARTITIONDATE AS date
    from `PROJECT_ID_2.BILLING_ACCOUNT_2_EXPORT` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    
  8. Répétez ces étapes pour la vue dashboard_detail, qui interroge les données détaillées de coût et d'utilisation.

  9. Si l'un de vos comptes n'est pas dans la même devise que le dollar américain, répétez ces étapes et utilisez la colonne currency_conversion_rate pour le convertir en USD, comme dans l'exemple suivant :

    select *,
      (COALESCE((SELECT SUM(x.amount)
      FROM UNNEST(s.credits) x),0))/currency_conversion_rate AS credits_sum_amount,
        (COALESCE((SELECT SUM(x.amount)
        FROM UNNEST(s.credits) x),0))/currency_conversion_rate + cost/currency_conversion_rate as net_cost,
        'USD' as net_cost_currency,
         PARSE_DATE("%Y%m", invoice.month) AS Invoice_Month,
          _PARTITIONDATE AS date
    from `PROJECT_ID.BILLING_ACCOUNT_DATASET` s
    WHERE _PARTITIONDATE > DATE_SUB(CURRENT_DATE(), INTERVAL 13 MONTH)
    

Effectuer un nettoyage

Si vous ne souhaitez plus utiliser le tableau de bord, clonez le dépôt GitHub et exécutez le script du tableau de bord avec l'option -clean. Le script supprime les vues BigQuery, mais conserve votre ensemble de données d'exportation BigQuery.

  1. Ouvrez le dépôt GitHub dans Cloud Shell :

    Ouvrir dans Cloud Shell

  2. Accédez au répertoire billboard :

    cd examples/billboard
    
  3. Exécutez les commandes suivantes pour configurer l'environnement Python pour le script :

    pip install virtualenv
    virtualenv bill-env
    source bill-env/bin/activate
    pip install -r requirements.txt
    
  4. Exécutez la commande de nettoyage :

    python billboard.py \
      -pr 'PROJECT_ID' \
      -se 'STANDARD_BILLING_EXPORT_DATASET' \
      -de 'DETAILED_BILLING_EXPORT_DATASET' \
      -bb 'BILLBOARD_DATASET' \
      -clean yes
    

    Les variables sont les suivantes :

    • PROJECT_ID : ID du projet qui héberge vos ensembles de données Cloud Billing.
    • STANDARD_BILLING_EXPORT_DATASET : ensemble de données BigQuery contenant l'exportation des données de coût d'utilisation standard.
    • DETAILED_BILLING_EXPORT_DATASET : ensemble de données BigQuery contenant l'exportation détaillée des données de coût d'utilisation.
    • BILLBOARD_DATASET : ensemble de données BigQuery dans lequel vous avez créé les vues BigQuery pour le tableau de bord.
  5. Pour supprimer le tableau de bord Looker Studio, ouvrez Looker Studio, identifiez le tableau de bord, puis accédez au menu et cliquez sur Supprimer.

Étapes suivantes