Google Cloud

Aperçu

Pour utiliser la gestion des coûts de Google Cloud dans Datadog, suivez ces étapes :

  1. Configurez l’intégration Google Cloud Platform
  2. Configurez l’exportation détaillée des coûts d’utilisation avec les autorisations nécessaires (Google Service APIs, accès au projet d’exportation et accès au jeu de données BigQuery)
  3. Créez ou sélectionnez un Google Cloud Storage bucket avec les autorisations nécessaires (accès au bucket)

Configuration

Vous pouvez configurer en utilisant l’API, Terraform ou directement dans Datadog en suivant les instructions ci-dessous.

Configurez l’intégration Google Cloud Platform

Accédez à Setup & Configuration, ajoutez un compte Google Cloud Platform et suivez les étapes pour configurer l’intégration Google Cloud Platform.

L'intégration Datadog Google Cloud Platform permet à Cloud Costs de surveiller automatiquement tous les projets auxquels ce compte de service a accès. Pour limiter les hôtes de surveillance de l'infrastructure pour ces projets, appliquez des balises aux hôtes. Ensuite, définissez si les balises doivent être incluses ou exclues de la surveillance dans la section Limit Metric Collection Filters de la page d'intégration.
Limitez la section des filtres de collecte de métriques configurée dans la page d'intégration Google Cloud Platform

Activez l’exportation détaillée des coûts d’utilisation

Les données détaillées sur les coûts d'utilisation fournissent toutes les informations incluses dans les données standard sur les coûts d'utilisation, ainsi que des champs supplémentaires qui fournissent des données de coût au niveau des ressources.
  1. Accédez à Billing Export sous la console Google Cloud Billing.
  2. Activez l’Detailed Usage cost export (sélectionnez ou créez un projet et un ensemble de données BigQuery)
  3. Documentez le Billing Account ID pour le compte de facturation où l’exportation a été configurée, ainsi que l’export Project ID et Dataset Name.
Informations sur le projet Google Cloud et le jeu de données mises en évidence

Les ensembles de données d’exportation de facturation BigQuery nouvellement créés ne contiennent que les deux derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery.

Activez les Google Service APIs

Les autorisations suivantes permettent à Datadog d’accéder et de transférer l’exportation de facturation dans le bucket de stockage à l’aide d’une requête BigQuery planifiée.

  • Activez le BigQuery API.

    1. Dans la console Google Cloud, accédez à la page de sélection de projet et sélectionnez votre projet Google Cloud.
    2. Activez la facturation sur votre projet pour tous les transferts.
  • Activez le BigQuery Data Transfer Service.

    1. Ouvrez la page de l’API de transfert de données BigQuery dans la bibliothèque d’API.
    2. Dans le menu déroulant, sélectionnez le projet qui contient le compte de service.
    3. Cliquez sur le bouton ENABLE.

    Remarque : Le BigQuery Data Transfer API doit être activée sur le projet Google qui contient le compte de service.

Formulaire de configuration de Cloud Cost Management en mode Terraform

Définissez les détails de configuration

Entrez les détails suivants pour votre configuration :

  • Google Cloud Storage bucket : Sélectionnez Oui pour créer un bucket de stockage, ou sélectionnez Non pour utiliser un bucket existant.

    Remarque : Si vous utilisez un bucket existant, vérifiez que le bucket est co-localisé avec l’ensemble de données d’exportation BigQuery.

  • Bucket name : Le nom de votre nouveau Google Cloud Storage bucket ou de celui existant.

  • Région : La région GCP de votre bucket. Par exemple, northamerica-northeast1.

  • Identifiant du compte de facturation : L’identifiant du compte de facturation pour lequel vos rapports d’exportation des coûts d’utilisation sont générés.

  • Nom et identifiant du projet d’exportation : Le nom et l’identifiant de votre projet d’exportation.

  • Nom et identifiant du dataset d’exportation : Le nom et l’identifiant de votre dataset d’exportation.

Créer une exportation de coûts et activer les Google Service APIs

Complétez les étapes Enable detailed usage cost export et Enable Google Service APIs ci-dessus, puis revenez à CCM.

Copier le HCL Terraform généré et appliquer les modifications

Dans l’interface utilisateur de configuration Terraform de CCM, suivez les instructions de l’étape Apply Terraform Configuration. Résolvez tous les problèmes qui apparaissent lors de l’exécution de terraform plan ou terraform apply avant de revenir à CCM pour confirmer la création du compte.

Formulaire de configuration de Cloud Cost Management en mode manuel

Configurer l’accès au projet d’exportation

Ajoutez le compte de service en tant que principal sur la ressource du projet de dataset d’exportation :

  1. Accédez à la page IAM dans la console Google Cloud et sélectionnez le projet de dataset d’exportation.
  2. Sélectionnez le compte de service en tant que principal.
  3. Sélectionnez un rôle avec les permissions suivantes à accorder dans la liste déroulante :
  • bigquery.jobs.create
  • bigquery.transfers.get
  • bigquery.transfers.update

Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant roles/bigquery.admin.

Configurer l’accès au dataset BigQuery d’exportation

Ajoutez le compte de service en tant que principal sur la ressource du dataset BigQuery d’exportation :

  1. Dans le panneau Explorateur de la page BigQuery, développez votre projet et sélectionnez le dataset BigQuery d’exportation.
  2. Cliquez sur Sharing > Permissions puis sur add principal.
  3. Dans le nouveau champ des principals, entrez le compte de service.
  4. En utilisant la liste de sélection d’un rôle, assignez un rôle avec les permissions suivantes :
  • bigquery.datasets.get
  • bigquery.tables.create
  • bigquery.tables.delete
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.list
  • bigquery.tables.update
  • bigquery.tables.updateData

Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser le rôle Google Cloud existant roles/bigquery.dataEditor.

Configurez l’accès au bucket

Ajoutez le compte de service en tant que principal sur la ressource du GCS bucket:

  1. Accédez à la page des Buckets de Cloud Storage dans la console Google Cloud et sélectionnez votre bucket.
  2. Sélectionnez l’onglet des permissions et cliquez sur le bouton grant access.
  3. Dans le nouveau champ des principals, entrez le compte de service.
  4. Assignez un rôle avec les permissions suivantes :
    • storage.buckets.get
    • storage.objects.create
    • storage.objects.delete
    • storage.objects.get
    • storage.objects.list

Remarque : Cela peut être un rôle personnalisé, ou vous pouvez utiliser les rôles Google Cloud existants roles/storage.legacyObjectReader et roles/storage.legacyBucketWriter.

Créez ou sélectionnez un [Google Cloud Storage bucket]

La solution Cloud Cost Management utilise un [Google Cloud Storage bucket] pour recevoir des données extraites de votre [Detailed Usage Cost BigQuery dataset] (préfixé par datadog_cloud_cost_detailed_usage_export). Vous pouvez créer un nouveau bucket ou utiliser un existant.

Remarque : Le bucket doit être co-localisé avec l’ensemble de données d’exportation BigQuery.

(Optionnel) Configurez l’autorisation de service inter-projets :

Si votre compte de service intégré existe dans un projet Google Cloud Platform différent de votre ensemble de données d’exportation de facturation, vous devez accorder l’autorisation de compte de service inter-projets :

  1. Déclenchez la création de l’agent de service en suivant la documentation officielle en utilisant les valeurs suivantes :

    • POINT D’ACCÈS : bigquerydatatransfer.googleapis.com

    • TYPE DE RESSOURCE : project

    • RESOURCE_ID : export dataset project

      Cela crée un nouvel agent de service qui ressemble à service-<billing project number>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com.

  2. Ajoutez le rôle [BigQuery Data Transfer Service Account] créé par le déclencheur en tant que principal sur votre compte de service.

  3. Attribuez-lui le rôle roles/iam.serviceAccountTokenCreator.

Configurez Cloud Cost Management

Continuez à suivre les étapes indiquées dans Setup & Configuration.

Remarque : Les données peuvent prendre de 48 à 72 heures après la configuration pour se stabiliser dans Datadog.

Obtention des données historiques

Les ensembles de données d’exportation de facturation BigQuery nouvellement créés ne contiennent que les 2 derniers mois de données. Il peut falloir un jour ou deux pour que ces données soient remplies dans BigQuery. Datadog ingère automatiquement jusqu’à 15 mois de données historiques de coûts disponibles une fois qu’elles apparaissent dans la table BigQuery.

Google Cloud ne fournit pas de processus pour remplir des données historiques supplémentaires au-delà des 2 mois automatiquement inclus lors de la première création de l’exportation BigQuery.

Types de coûts

Vous pouvez visualiser vos données ingérées en utilisant les types de coûts suivants :

| Type de coût  | Description |. |————————————————-| ———————————-| | gcp.cost.amortized | Coût total des ressources allouées au moment de l’utilisation sur un intervalle. Les coûts incluent les crédits de promotion ainsi que les crédits de réduction pour utilisation engagée. | | gcp.cost.amortized.shared.resources.allocated | Tous vos coûts amortis de Google Cloud Platform, avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Nécessite allocation des coûts des conteneurs.| | gcp.cost.ondemand | Coût total public, à la demande, des ressources avant que les réductions publiques et privées ne soient appliquées sur un intervalle. |

Étiquettes prêtes à l’emploi

Datadog enrichit automatiquement vos données de coûts Google Cloud avec des étiquettes provenant de plusieurs sources. Pour un aperçu complet de la manière dont les étiquettes sont appliquées aux données de coûts, voir Étiquettes.

Les étiquettes prêtes à l’emploi suivantes sont dérivées de votre rapport détaillé sur les coûts d’utilisation et facilitent la découverte et la compréhension des données de coûts :

Nom de la baliseDescription de la balise
google_productLe service Google facturé.
google_cost_typeLe type de frais couvert par cet élément (par exemple, régulier, taxe, ajustement ou erreur d’arrondi).
google_usage_typeLes détails d’utilisation de l’élément (par exemple, Stockage Standard US).
google_locationL’emplacement associé à l’élément au niveau d’une multi-région, d’un pays, d’une région ou d’une zone.
google_regionLa région associée à l’élément.
google_zoneLa zone de disponibilité associée à l’élément.
google_pricing_usage_unitL’unité de tarification utilisée pour calculer le coût d’utilisation (par exemple, gibioctet, tébioctet ou an).
google_is_unused_reservationIndique si l’utilisation était réservée mais non utilisée.
service_descriptionLe service Google Cloud (tel que Compute Engine ou BigQuery).
project_idL’ID du projet Google Cloud qui a généré les données de facturation Cloud.
project_nameLe nom du projet Google Cloud qui a généré les données de facturation Cloud.
cost_typeLe type de coût que cet élément représente : regular, tax, adjustment ou rounding error.
sku_descriptionUne description du type de ressource utilisée, décrivant les détails d’utilisation de la ressource.
resource_nameUn nom que les clients ajoutent aux ressources. Cela peut ne pas être présent sur toutes les ressources.
global_resource_nameUn identifiant de ressource unique au niveau mondial généré par Google Cloud.

Corrélation des coûts et d’observabilité

Il est important de visualiser les coûts dans le contexte des données d’observabilité pour comprendre comment les changements d’infrastructure impactent les coûts, identifier pourquoi les coûts changent et optimiser l’infrastructure tant pour les coûts que pour la performance. Datadog met à jour les balises d’identification des ressources sur les données de coût pour les principaux produits Google afin de simplifier la corrélation entre les métriques d’observabilité et de coût.

Par exemple, pour visualiser le coût et l’utilisation de chaque base de données Cloud SQL, vous pouvez créer un tableau avec gcp.cost.amortized, gcp.cloudsql.database.cpu.utilization et gcp.cloudsql.database.memory.utilization (ou toute autre métrique Cloud SQL) et regrouper par database_id. Ou, pour voir l’utilisation et les coûts des Cloud Functions côte à côte, vous pouvez tracer gcp.cloudfunctions.function.execution_count et gcp.cost.amortized regroupés par function_name.

Les balises prêtes à l’emploi suivantes sont disponibles :

Produit GoogleBalise(s)
Compute Engineinstance_id, instance-type
Cloud Functionsfunction_name
Cloud Runjob_name, service_name
Cloud SQLdatabase_id
Cloud Spannerinstance_id
App Enginemodule_id
BigQueryproject_id, dataset_id
Kubernetes Enginecluster_name

Allocation de conteneurs

Les métriques d’allocation de conteneurs contiennent tous les mêmes coûts que les métriques de Google Cloud Platform, mais avec des ventilations et des analyses supplémentaires pour les charges de travail des conteneurs. Voir Allocation des coûts des conteneurs pour plus de détails.

Lectures complémentaires